标签:default update create linux 用户组
用户和组管理的相关命令介绍以及使用:
大体上涉及到的命令有:useradd,usermod,passwd,userdel,groupadd,groupmod,gpasswd,groupdel,chage,chsh,chfn,id,w, who,whoami,su,finger
1、useradd:create a new user or update default new user information.
用法:
useradd [options] LOGIN
useradd -D
useradd -D [options]
参数:
-r:创建系统用户
[root@ST_server ~]# useradd -r tom [root@ST_server ~]# cat /etc/passwd | grep tom tom:x:497:497::/home/tom:/bin/bash [root@ST_server ~]#
创建了一个tom的用户,在centos6环境下,系统用户范围是1-499,tom的userID为497,所以能看出这个tom属于系统用户
-u:指定用户UID号码,这个号码是唯一的
[root@ST_server ~]# useradd -u8000 tom Creating mailbox file: File exists [root@ST_server ~]# cat /etc/passwd | grep tom tom:x:8000:8000::/home/tom:/bin/bash
通过-u指定为8000创建了用户tom,我们能发现创建之后的tom的userID为8000
-g:指定用户所属基本组,并且这个组必须预先存在
[root@ST_server ~]# useradd -g huangyisan tom [root@ST_server ~]# cat /etc/passwd | grep tom tom:x:506:502::/home/tom:/bin/bash [root@ST_server ~]# cat /etc/group | grep 502 huangyisan:x:502:huangyisan1,huangyisan3
通过-g参数将tom指定为huangyisan这个组为主组,cat信息能发现tom的GID为502,而502对应的组是huangyisan这个组,说明-g生效。同时需要注意,在group文件中,huangyisan这个组内,第四段内并不存在tom。
-G:指定用户所属的附属组,并且这个组必须预先存在
[root@ST_server ~]# useradd -G huangyisan tom [root@ST_server ~]# cat /etc/passwd | grep tom tom:x:506:506::/home/tom:/bin/bash [root@ST_server ~]# cat /etc/group | grep huangyisan huangyisan:x:502:huangyisan1,huangyisan3,tom
通过-G对 tom用户指定了附属组为huangyisan,然后我们通过passwd查看,发现tom的GID并没变成502,说明tom的主组还是保留为tom;查看group信息,huangyisan组的末尾部分,多了tom,说明tom成为了huangyisan组中的附属成员
-g和-G还是存在区别的,通过上面两个例子比较可以得到答案。一个用户会同时拥有主组权限和附属组的权限,但一个用户只能属于一个主组,可以属于多个附属组。
-c:给添加的用户指定别名,该别名可以是注释信息
[root@ST_server ~]# useradd -c "mage jiaoyu" tom [root@ST_server ~]# cat /etc/passwd | grep tom tom:x:506:506:mage jiaoyu:/home/tom:/bin/bash
通过-c指定别名后,在passwd文件内第五部分信息内多出了mage jiaoyu的commit。
-d:指定用户的家目录
[root@ST_server ~]# useradd -d /home/tom1 tom [root@ST_server ~]# ls /home/tom1/ [root@ST_server ~]# ls /home/tom1/ -a . .. .bash_logout .bash_profile .bashrc [root@ST_server ~]# cat /etc/passwd | grep tom tom:x:506:506::/home/tom1:/bin/bash
通过-d将tom用户的家目录指定为/home/tom1下面,查看passwd文件,发现tom的家目录是/home/tom1,;同时进入家目录ls -a我们能够发现tom用户的环境变量已经被添加进来了。这些环境变量是从/etc/skel下面复制到用户的家目录内的。有效的利用/etc/skel可以在创建用户的时候节约大把时间,比如定制化用户的环境变量
-s:指定用户使用的shell环境
[root@ST_server ~]# useradd -s /bin/csh tom [root@ST_server ~]# !cat cat /etc/passwd | grep tom tom:x:506:506::/home/tom:/bin/csh
通过-s指定了tom用户的shell环境为csh,通过passwd的最后一个部分能看到是csh了,默认不指定则为/bin/bash。在/etc/shells下面记录了当前可用所有shell的环境。
-M:不给用户创建家目录
[root@ST_server ~]# useradd -M tom [root@ST_server ~]# !cat cat /etc/passwd | grep tom tom:x:506:506::/home/tom:/bin/bash [root@ST_server ~]# ls /home/tom ls: cannot access /home/tom: No such file or directory
通过-M指定创建tom,在passwd中的第六个部分是存在tom的家目录的,但是ls /home/tom发现查看并没有这个目录。
-p:给用户设定密码,但这个密码是加密后的密码
[root@ST_server ~]# useradd -phuangyisan tom [root@ST_server ~]# cat /etc/shadow | grep tom tom:huangyisan:16658:0:99999:7:::
通过-p给tom用户指定了huangyisan的密码,去查看shadow文件,发现huangyisan已经是被加密后的密码了。之后通过用户名为tom,密码为huangyisan登陆,发现无法登陆。
2、usermod:usermod - modify a user account.
用法:
usermod [options] LOGIN
参数:
-u:重新指定用户UID,该UID必须唯一
[root@ST_server ~]# cat /etc/passwd| grep tom tom:x:506:506::/home/tom:/bin/bash [root@ST_server ~]# usermod -u 605 tom [root@ST_server ~]# cat /etc/passwd| grep tom tom:x:605:506::/home/tom:/bin/bash
原先tom的UID为506,通过-u将tom的UID修改成了605
-g:重新指定用户GID,该GID必须已经存在
[root@ST_server ~]# cat /etc/passwd| grep tom tom:x:605:506::/home/tom:/bin/bash [root@ST_server ~]# usermod -g 502 tom [root@ST_server ~]# cat /etc/passwd | grep tom tom:x:605:502::/home/tom:/bin/bash
原先tom的GID为506,通过-g将tom的GID修改成了502
-G:重新指定用户所属组id,该所属组id必须已经存在
[root@ST_server ~]# cat /etc/group | grep huangyisan huangyisan:x:502:huangyisan1,huangyisan3,tom huangyisan1:x:503: huangyisan3:x:505: [root@ST_server ~]# usermod -G 503 tom [root@ST_server ~]# cat /etc/group | grep huangyisan huangyisan:x:502:huangyisan1,huangyisan3 huangyisan1:x:503:tom huangyisan3:x:505:
原先tom存在于502的huangyisan的所属组中,通过-G指定后,将tom划分到了503的huangyisan1的所属组中。
还没完
[root@ST_server ~]# usermod -a -G 502 tom [root@ST_server ~]# cat /etc/group | grep huangyisan huangyisan:x:502:huangyisan1,huangyisan3,tom huangyisan1:x:503:tom huangyisan3:x:505:
结合-a参数,可以让tom同时存在与两个所属组中,即502和503。
-s:重新指定用户shell模式,该shell必须存在与/etc/shells里面
[root@ST_server ~]# cat /etc/passwd | grep tom tom:x:605:502::/home/tom:/bin/bash [root@ST_server ~]# usermod -s csh tom [root@ST_server ~]# cat /etc/passwd | grep tom tom:x:605:502::/home/tom:csh
原先tom的shell模式为bash,通过-s指定后,成了csh
-c:重新指定用户commit别名
[root@ST_server ~]# cat /etc/passwd | grep tom tom:x:605:502::/home/tom:csh [root@ST_server ~]# usermod -c "mage jiaoyu" tom [root@ST_server ~]# cat /etc/passwd | grep tom tom:x:605:502:mage jiaoyu:/home/tom:csh
原先tom的commit为空,通过-c指定后成了mage jiaoyu
-d:重新指定用户家目录
[root@ST_server ~]# cat /etc/passwd | grep tom tom:x:605:502:mage jiaoyu:/home/tom:csh [root@ST_server ~]# usermod -d /home/tom1 tom [root@ST_server ~]# cat /etc/passwd | grep tom tom:x:605:502:mage jiaoyu:/home/tom1:csh [root@ST_server ~]# ls -a /home/tom1 ls: cannot access /home/tom1: No such file or directory
原先tom的家目录为/home/tom,通过-d指定后,成为了/home/tom1,但是该目录实际上并不存在
还没完
[root@ST_server ~]# !cat cat /etc/passwd | grep tom tom:x:605:502:mage jiaoyu:/home/tom:csh [root@ST_server ~]# usermod -m -d /home/tom1 tom [root@ST_server ~]# cat /etc/passwd | grep tom tom:x:605:502:mage jiaoyu:/home/tom1:csh [root@ST_server ~]# ls -a /home/tom1/ . .. .bash_logout .bash_profile .bashrc
对原先命令加上-m参数,则能将原先家目录下所有问题件搬移到新的家目录,同时原先的家目录删除。
标签:default update create linux 用户组
原文地址:http://huangyisan.blog.51cto.com/6925110/1689041