Linux下改变用户ID的步骤(linux更改用户id)

Linux系统的每一个用户都是由用户ID和组ID来标识的,而用户ID及组ID之所以能有效的身份识别及划分,就在于因其从每个单独的用户以及组内都具有特定的唯一性作为编号,那么下面就让我们来看看 Linux系统下如何改变用户ID的步骤:

**一、修改/etc/passwd文件**

  修改用户ID首先要改变的是/etc/passwd文件,/etc/passwd文件的每一行都由7个字段组成,其中字段三(第三列)就是本次要修改的用户ID。要改变用户ID只需根据相应的格式将该字段的值修改即可。

例如:修改某个用户的ID,只需按以下形式修改第三列即可:

# 原来的/etc/passwd文件
root:x:0:0:root:/root:/bin/bash
user1:x:501:502::/home/user1:/bin/bash
user2:x:502:502::/home/user2:/bin/bash

# 修改后的/etc/passwd文件,将user1的ID改为499,user2的改为500
root:x:0:0:root:/root:/bin/bash
user1:x:499:502::/home/user1:/bin/bash
user2:x:500:502::/home/user2:/bin/bash

**二、修改/etc/shadow文件**

  由于/etc/shadow文件是存储用户密码和过期等信息的,所以一般我们不会去修改它。但是要是需要修改的话,修改的方法与/etc/passwd的方法基本一样,只需要把第三列的字段值改变即可,如:

# 原来的/etc/shadow文件
root:$6$5ir5Ql$nX9Djm.:17508:0:99999:7:::
user1:$6$0XPjKJ$So.XtC.:17508:0:99999:7:::
user2:$6$fniSuO$.$AOvT8L.:17508:0:99999:7:::

# 修改后的/etc/shadow文件
root:$6$5ir5Ql$nX9Djm.:17508:0:99999:7:::
user1:$6$0XPjKJ$So.XtC.:17508:0:99999:7:::
user2:$6$fniSuO$.$AOvT8L.:17508:499:99999:7:::

**三、修改/etc/group文件**

  由上面可以知道用户ID及组ID是一一对应的,所以在改变用户ID的同时,/etc/group文件的某一行的组ID也需要改变才行。/etc/group也是由7个字段组成,字段三就是对应的组ID,改变用户ID就需将相对应的组ID也改变了

例如:改变上一步/etc/passwd修改后的条目,/etc/group文件也需改变:

# 原来的/etc/group文件
root:x:0:
user1_group:x:502:user1
user2_group:x:502:user2

# 修改后的/etc/group文件,将user1和user2所在组的组ID改为499
root:x:0:
user1_group:x:499:user1
user2_group:x:499:user2

**四、执行usermod 命令把旧ID替换成新ID**

  在改变用户ID的同时,还需要执行usermod 命令,来把旧的用户ID替换成新的,这样用户属性以及权限就能正确的生效了。执行usermod 命令只需:`usermod -u 新ID 用户名`即可。

例如:将user1的旧ID替换成499:

usermod -u 499 user1

**五、执行chown 命令更改相应用户的属主及属组**

  最后还需要执行chown 命令将相应文件的属主改变成我们需要的ID,以确保完成用户ID的修改:`chown 用户ID 文件名`

例如:将某文件的用户ID属主改为user1:

chown 499 test.txt

至此,Linux下改变用户ID的步骤完成,修改的结果就是系统上新建用户时,用户ID从499开始计数,可见:

# 该用户ID

数据运维技术 » Linux下改变用户ID的步骤(linux更改用户id)