关于用户和组的命令操作:
useradd、userdel、usermod、groupadd、groupdel、groupmod、passwd、gpasswd、chage、id、su、chsh
一、添加操作:
①useradd:添加用户(添加的用户名必须 是系统没有的)
-u :指定uid (uid 可以超过65535,但是太大也是不行),如果不用-u 默认是/passwd的最后一个用户的uid+1
默认情况
指定uid
-g : 指定基本组ID(GID) ,此组需要事先存在
-G:指明用户所属的附加组,可以有多个附加组,以逗号隔开
所有的组
用一个没有存在的组
只有用存在的组才可以做附属组和属组(root也可以,如果加进wheel组,用户是会有特别的权力去运行一些特别的命令)
-c:指明注释信息
-d:以指定的路径为用户的家目录,—–通过复制/etc/skel此目录并重命名实现,指定的家目录存在,则不会复制环境配置文件
不指定的话默认创建在/home/$username里面
指定的话就以指定的目录为准
就像我这个用户,fileman,是ftp专门存放文件的用户,家目录的/FtpFile,自己指定的。
-s:指定shell,可用的shell存放在/etc/shells
这就是我们可以使用的shell环境
-r:创建一个系统用户
groupadd:添加组(组名一定不能是存在的)
-g GID:指定GID,默认是上一个组的GID+1
-r:创建系统组
二、删除操作
①、userdel
-r:删除用户时一并删除家目录
如果默认不加-r,家目录还是会存在
我们删掉cuser,并且加上他的家目录
以及成功删除,再看看家目录还存在吗?不存在了
但是如果一个用户的主组里面,存在别的用户,那个组会删除失败
②、groupdel
如果组删除了,里面虽然有其他组员,但是也可以正常删除
三、修改操作
①、用户的属性修改操作
1)usermod(如果正在登陆的是改不了)
-u:UID:修改用的户ID为UID(不能和其他用户uid重复)
-g:修改用户的所属组的基本组
-G:修改用户所属的附加组,可以有多个附加组,以逗号隔开,原来的附加组是直接覆盖的
-a:一般与——G一起使用,为用户追加新的附加组
如果想再加一个附加组的话,要加上-a选项才不会覆盖掉
否则会覆盖
-c:修改注释信息
-d:修改家目录
-m:只能与-d一起使用,把用户家目录原有的文件转移至新位置
-l:修改用户名
-s:修改默认的shell,可用的shell存放在/etc/shells
-L:锁定用户密码
-U:解锁用户密码
就可以登录上去了
修改用户名
分清楚位置,选项后面应该接的是要改成的名字
2)passwd(修改密码)
passwd + 用户名;
用管道进行非交互修改
3)chage(修改关于密码的属性)
-m:密码可更改的最小天数
-M:密码有效的最大天数
-d:上一次的更改日期
-W:密码到期前,提前收到的警告的天数
-i:如果密码过期X天,那么此账号不能使用
②、组的属性修改操作
1)groupmod
-g GID:修改GID
-n:修改组名
2)gpasswd(修改组密码,踢以此为附加组的成员)
1、修改密码
2、把成员从附加组移除 (特别是在你把一个用户加到wheel组里面,现在想把他从中移除,用-d)
3)newgrp(临时指定基本组组)
当它是以相同的帐号,另一个群组名称,再次登入系统。欲使用newgrp指令切换群组,您必须是该群组的用户,否则将无法登入指定的群组。单一用户要同时隶属多个群组,需利用交替用户的设置。若不指定群组名称,则newgrp指令会登入该用户名称的预设群组。
四、查看用户和组的信息的操作
①、查看用户信息
1)通过查看passwd
2)通过查看shadow
3)ID命令
②、查看组信息
1)通过查看gpasswd