Linux 下修改或者重命名用户名称或者UID/GID

来源:互联网 发布:防止微信屏蔽分享域名 编辑:程序博客网 时间:2024/05/01 04:51

摘要

在Linux操作系统下怎么样用命令行去修改用户的名称(也就是重命名),或者UID/GID
切记不要手动用vi之类的文本编辑器去修改 /etc/passwd 文件

修改用户名称

Usage:

usermod -l login-name old-name

修改用户的名称 old-name 改成 login-name,别的都没有改变。其实我们也应该考虑是否把用户的HOME目录也改成新的用户。

另外这里有个问题需要注意

如果出现如下报错

root@pts/0 $ usermod -l newjames jamesusermod: user James is currently used by process 12345

说明有用james用户运行的程序,需要把相关的程序停掉之后再执行上面的命令

Examples:

## add user 'james' for testroot@pts/0 $ useradd james## check original idroot@pts/0 $ id jamesuid=1007(james) gid=1008(james) 组=1008(james)## check HOME directoryroot@pts/0 $ ls -ld /home/james/drwx------ 2 james james 4096 1223 11:46 /home/james/## try to change or rename and verifyroot@pts/0 $ usermod -l newjames jamesroot@pts/0 $ id jamesid: james: no such userroot@pts/0 $ id newjamesuid=1007(newjames) gid=1008(james) 组=1008(james)## check HOME folderroot@pts/0 $ ls -ld /home/james/drwx------ 2 newjames james 4096 1223 11:46 /home/james/root@pts/0 $ ls -ld /home/newjamesls: 无法访问/home/newjames: 没有那个文件或目录Dev-web-solr [~] 2016-12-23 11:47:22root@pts/0 $

从上面可以看出,变化只仅仅是username,UID/GUID/HOME目录都没有改变


修改UID/GID相对很简单,结合上面的例子。继续如下:

修改UID

Usage:

usermod -u NEW-UID username

Examples:

## original UID is 1007root@pts/0 $ id newjamesuid=1007(newjames) gid=1008(james) 组=1008(james)## change 1007 to 2007root@pts/0 $ usermod -u 2007 newjames## modified to 2007root@pts/0 $ id newjamesuid=2007(newjames) gid=1008(james) 组=1008(james)

修改GID/group-name

Usage:

groupmod -g NEW-GID groupname

Examples:

## james to newjames, but james's group is still 'james'root@pts/0 $ groupmod -g 2007 newjamesgroupmod:“newjames”组不存在root@pts/0 $ id newjamesuid=2007(newjames) gid=1008(james) 组=1008(james)root@pts/0 $ groupmod -g 2007 james## try to rename grouproot@pts/0 $ groupmod --help用法:groupmod [选项] 组选项:  -g, --gid GID                 将组 ID 改为 GID  -h, --help                    显示此帮助信息并推出  -n, --new-name NEW_GROUP      改名为 NEW_GROUP  -o, --non-unique              允许使用重复的 GID  -p, --password PASSWORD   将密码更改为(加密过的) PASSWORD  -R, --root CHROOT_DIR         chroot 到的目录root@pts/0 $ groupmod -n newjamesgroup james## find that group was renamedroot@pts/0 $ id newjamesuid=2007(newjames) gid=1008(newjamesgroup) 组=1008(newjamesgroup)## try to change GIDroot@pts/0 $ groupmod -g 2007 jamesroot@pts/0 $ id newjamesuid=2007(newjames) gid= 2007(newjamesgroup) 组= 2007(newjamesgroup)

修改用户HOME显示

最后我们来考虑下前面说过的rename用户名称之后,HOME家目录的显示没有改变。

Usage:

usermod -d /home/new-user -m new-user

Examples:

root@pts/0 $ ls -ld /home/jamesdrwx------ 2 newjames 1008 4096 1223 11:46 /home/jamesroot@pts/0 $ ls -ld /home/newjamesls: 无法访问/home/newjames: 没有那个文件或目录## change HOME folderroot@pts/0 $ usermod -d /home/newjames -m newjamesroot@pts/0 $ ls -ld /home/newjamesdrwx------ 2 newjames 1008 4096 1223 11:46 /home/newjamesroot@pts/0 $ ls -ld /home/jamesls: 无法访问/home/james: 没有那个文件或目录root@pts/0 $

简书地址:Linux 下修改或者重命名用户名称或者UID/GID



公众号: DailyJobOps

    公众号: DailyJobOps    

1 0