linux操作命令很多,为便于学习和查阅将分批进行分享,本期分享10个用户及组管理操作的命令。
1、 Useradd 用户名:添加用户
2、 Psswd 用户名:修改用户密码
3、 Usermod [参数] 用户名:修改用信息
4、 Chage[参数] 用户名:修改用户密码状态
5、 Userdel [-r] 用户名:删除用户
6、 Su 用户名:切换用户
7、 Groupadd [参数] 组名:添加用户组
8、 Groupmod [参数] 组名:修改用户组
9、Groupdel 组名:删除用户组
10、gpasswd 用户名 组名:将用户添加到组
1、 useradd 添加用户,与adduser功能相同
格式:useradd [参数] 用户名
主要参数:
-c:加上备注文字,备注文字保存在passwd的备注栏中。
-d:指定用户登入时的启始目录。
-D:变更预设值。
-e:指定账号的有效期限,缺省表示永久有效。
-f:指定在密码过期后多少天即关闭该账号。
-g:指定用户所属的起始群组。
-G:指定用户所属的附加群组。
-m:自动建立用户的登入目录。
-M:不要自动建立用户的登入目录。
-n:取消建立以用户名称为名的群组。
-r:建立系统账号。
-s:指定用户登入后所使用的shell。
-u:指定用户ID号。
如:useradd oracle -g oinstall -G dba 创建一个oracle用户,起始属于oinstall组,同时也属于dba组;
添加新用户又不希望新用户登陆系统,使用命令:useradd –s /sbin/nologin <新用户名>
用户配置的默认文件:/etc/default/useradd ,/etc
2、 Psswd 用户名:修改用户密码
格式:passwd [参数] 用户名
主要参数:
-d 删除密码
-f 强迫用户下次登录时必须修改口令
-w 口令要到期提前警告的天数
-k 更新只能发送在过期之后
-l 停止账号使用
-S 显示密码信息
-u 启用已被停止的账户
-x 指定口令最长存活期
-g 修改群组密码
-n 指定口令最短存活期
-i 口令过期后多少天停用账户
如:passwd test 设置test用户的密码
如:passwd –s test 显示账户密码信息
3、 Usermod修改用信息
格式:usermod [参数] 用户名
参数:
-c<备注> 修改用户帐号的备注文字。
-d登入目录> 修改用户登入时的目录。
-e<有效期限> 修改帐号的有效期限。
-f<缓冲天数> 修改在密码过期后多少天即关闭该帐号。
-g<群组> 修改用户所属的群组。
-G<群组> 修改用户所属的附加群组。
-l<帐号名称> 修改用户帐号名称。
-L 锁定用户密码,使密码无效。
-s<shell> 修改用户登入后所使用的shell。
-u<uid> 修改用户ID。
-U 解除密码锁定。
例:usermod –G root test 将test用户添加到root组
例:usermod –I test linux 将linux用户名需改为test
例:usermod –L test 锁定账户test
例:usermod –U test 解除对test用户的锁定
4、 Chage修改用户密码状态
格式:chage [参数] 用户名
参数:
-l:列出用户的详细密码状态;
-d 日期:修改 /etc/shadow 文件中指定用户密码信息的第 3 个字段,也就是最后一次修改密码的日期,格式为 YYYY-MM-DD;
-m 天数:修改密码最短保留的天数,也就是 /etc/shadow 文件中的第 4 个字段;
-M 天数:修改密码的有效期,也就是 /etc/shadow 文件中的第 5 个字段;
-W 天数:修改密码到期前的警告天数,也就是 /etc/shadow 文件中的第 6 个字段;
-i 天数:修改密码过期后的宽限天数,也就是 /etc/shadow 文件中的第 7 个字段;
-E 日期:修改账号失效日期,格式为 YYYY-MM-DD,也就是 /etc/shadow 文件中的第 8 个字段
例:查看用户密码状态: chage –l test
例:修改test用户有效期为30天:chage –M 30 test
例:强制test用户登陆时修改口令:chage –d 0 test
注:psswd –S <用户名> 也可以查看用户的密码信息,但没有chage更详细。修改密码信息也可以直接修改/etc/shadow文件。
5、 Userdel 删除用户
格式:Userdel [参数] 用户名
参数:
-f 强制删除用户,即使用户当前已登录
-r 删除用户的同时,删除与用户相关的所有文件
如:删除test用户一并删除主目录:userdel –r test
注:如果用不带参数的命令只能删除用户,用户的主目录仍会保留。
6、 Su切换用户
格式:Su [参数] 用户名
参数:
-f , –fast:不必读启动文件(如 c 等),仅用于csh或tcsh两种Shell。
-l , –login:加了这个参数之后,就好像是重新登陆一样,大部分环境变量(例如HOME、SHELL和USER等)都是以该使用者(USER)为主,并且工作目录也会改变。如果没有指定USER,缺省情况是root。
-m, -p , –preserve-environment:执行su时不改变环境变数。
-c command:变更账号为USER的使用者,并执行指令(command)后再变回原来使用者。
–help 显示说明文件
–version 显示版本资讯
如:su test
7、 Groupadd 添加用户组
格式:Groupadd [参数] 组名
参数:
-g:指定新建工作组的 id;
-r:创建系统工作组,系统工作组的组ID小于 500;
-K:覆盖配置文件 "/ect";
-o:允许添加组 ID 号不唯一的工作组。
-f,--force: 如果指定的组已经存在,此选项将失明了仅以成功状态退出。当与 -g 一起使用,并且指定的GID_MIN已经存在时,选择另一个唯一的GID(即-g关闭)。
如:添加test新组:groupadd test
8、 Groupmod [参数] 组名:修改用户组
格式:Groupmod [参数] 组名
参数:
-g <群组识别码> 设置欲使用的群组识别码。
-o 重复使用群组识别码。
-n <新群组名称> 设置欲使用的群组名称。
如:groupmod –n linux test 将test组名修改为linux
9、Groupdel删除用户组
格式:Groupdel 组名
如:删除test组:groupdel test
注:若删除的群组中仍包括某些用户,则必须先删除这些用户后,方能删除群组。
10、gpasswd将用户添加到组或从组中删除
格式:gpasswd [参数] 组名
参数:
-a:添加用户到组;
-d:从组删除用户;
-A:指定管理员;
-M:指定组成员和-A的用途差不多;
-r:删除密码;
-R:限制用户登入组,只有组中的成员才可以用newgrp加入该组。
如:添加test用户到linux组,同时保留以前添加的组:gpasswd -a test linux
如:将test用户从linux组中删除,gpasswd –d test linux
本次分享结束,如有遗漏欢迎补充指正,谢谢查阅!!