本文主要是介绍Linux 下修改或者重命名用户名称或者UID/GID,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
摘要
在Linux操作系统下怎么样用命令行去修改用户的名称(也就是重命名),或者UID/GID
切记不要手动用vi之类的文本编辑器去修改/etc/passwd
文件
修改用户名称
Usage:
usermod -l login-name old-name
修改用户的名称 old-name
改成 login-name
,别的都没有改变。其实我们也应该考虑是否把用户的HOME目录也改成新的用户。
另外这里有个问题需要注意
如果出现如下报错
root@pts/0 $ usermod -l newjames james
usermod: user James is currently used by process 12345
说明有用james
用户运行的程序,需要把相关的程序停掉之后再执行上面的命令
Examples:
## add user 'james' for test
root@pts/0 $ useradd james## check original id
root@pts/0 $ id james
uid=1007(james) gid=1008(james) 组=1008(james)## check HOME directory
root@pts/0 $ ls -ld /home/james/
drwx------ 2 james james 4096 12月 23 11:46 /home/james/## try to change or rename and verify
root@pts/0 $ usermod -l newjames jamesroot@pts/0 $ id james
id: james: no such userroot@pts/0 $ id newjames
uid=1007(newjames) gid=1008(james) 组=1008(james)## check HOME folder
root@pts/0 $ ls -ld /home/james/
drwx------ 2 newjames james 4096 12月 23 11:46 /home/james/root@pts/0 $ ls -ld /home/newjames
ls: 无法访问/home/newjames: 没有那个文件或目录
Dev-web-solr [~] 2016-12-23 11:47:22
root@pts/0 $
从上面可以看出,变化只仅仅是username,UID/GUID/HOME目录都没有改变
修改UID/GID相对很简单,结合上面的例子。继续如下:
修改UID
Usage:
usermod -u NEW-UID username
Examples:
## original UID is 1007
root@pts/0 $ id newjames
uid=1007(newjames) gid=1008(james) 组=1008(james)## change 1007 to 2007
root@pts/0 $ usermod -u 2007 newjames## modified to 2007
root@pts/0 $ id newjames
uid=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 newjames
groupmod:“newjames”组不存在root@pts/0 $ id newjames
uid=2007(newjames) gid=1008(james) 组=1008(james)root@pts/0 $ groupmod -g 2007 james## try to rename group
root@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 renamed
root@pts/0 $ id newjames
uid=2007(newjames) gid=1008(newjamesgroup) 组=1008(newjamesgroup)## try to change GID
root@pts/0 $ groupmod -g 2007 jamesroot@pts/0 $ id newjames
uid=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/james
drwx------ 2 newjames 1008 4096 12月 23 11:46 /home/jamesroot@pts/0 $ ls -ld /home/newjames
ls: 无法访问/home/newjames: 没有那个文件或目录## change HOME folder
root@pts/0 $ usermod -d /home/newjames -m newjamesroot@pts/0 $ ls -ld /home/newjames
drwx------ 2 newjames 1008 4096 12月 23 11:46 /home/newjamesroot@pts/0 $ ls -ld /home/james
ls: 无法访问/home/james: 没有那个文件或目录
root@pts/0 $
这篇关于Linux 下修改或者重命名用户名称或者UID/GID的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!