groupadd命令
groupadd后面可指定用户组名称来建立新的用户组。
与groupadd命令有关的文件有:
- /etc/group 用户组相关文件
- /etc/gshadow 用户组加密相关文件
- /etc/login.defs
groupadd语法
groupadd [-g gid [-o]] [-r] [-f] group
参数选项 | 说明 |
---|---|
-g gid | 指定用户组GID值 |
-r | 建立系统用户组 |
-f | 新增一个用户组帐户,强制覆盖一个已经存在的用户组帐户 |
实例
[root@ianLinux ~]# groupadd -g 802 sss
[root@ianLinux ~]# grep "sss" /etc/group
sss:x:802:
passwd命令
passwd命令修改用户密码。
普通用户和超级用户都可以运行passwd命令,但普通用户只能更改自身的用户密码,而超级用户则可以设置或修改所有用户的密码。
直接执行passwd命令后面不接任何参数或用户名时,则表示修改当前登录用户密码。
passwd语法
passwd [option] [accountName]
passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username]
参数选项 | 说明 |
---|---|
-k,–keep-tokens | 保留即将过期的用户,在期满后仍能使用 |
-d,–delete | 删除用户密码,仅能以root权限操作 |
-l,–lock | 锁住用户无权更改其密码,仅能通过root权限操作 |
-u,–unlock | 解除锁定,仅能通过root权限操作 |
-f,–force | 强制操作(root only) |
-n,–minimum=DAYS | 两次密码修改相距的最小天数,后面接数字(root only) |
-x,–maximum=DAYS | 两次密码修改相距的最大天数(root only) |
-w,–warning=DAYS | 在距多少天提醒用户修改密码(root only) |
-i,–inactive=DAYS | 在密码过期多少天,用户被禁掉(root only) |
-S,–status | 查询用户的密码状态(root only) |
–stdin | 从stdin读入密码 |
实例
1.–stdin参数,从stdin读入密码
2.要求Lisa用户7天内不能更改密码,60天以后必须修改密码,过期前提前10天通知Lisa用户,过期后30天后禁止用户登录。
[root@ianLinux ~]# passwd -n 7 -x 60 -w 10 -i 30 Lisa
# 或 chage -m 7 -M 60 -W 10 -I 30 Lisa
修改前:
修改后:
[root@ianLinux ~]# grep "Lisa" /etc/shadow
Lisa:!!:17058:7:60:10:30::
passwd特殊权限说明
/usr/bin/passwd文件的属主权限位带了个s,这是setuis权限位,这表示允许普通用户以/usr/bin/passwd属主root的权限来执行普通用户本来无法执行的功能。
userdel命令
userdel命令删除用户及用户相关的信息。
相关文件:
- /etc/passwd 用户帐号资料文件
- /etc/shadow 用户帐号资讯加密文件
- /etc/group 用户组资讯文件
使用userdel命令的结果实际上就是在更改维护以上的文件。
userdel语法
userdel [-r] 用户名
-r 用户目录下的档案一移除。在其他位置上的相关文件也将一一找出删除。
在生产场景中,请不要轻易用-r参数,这会在删除用户的同时删除用户家目录下的所有的文件目录。如果非要删除家目录,当用户家目录下有重要的文件时,那么在删除前请先备份。
实例
一般不能确认用户相关目录有没有重要数据就不能用-r。
删除经验:
- vi /etc/passwd注释掉用户,观察1个月,出问题就还原
- 把登录shell改成/sbin/nologin
- 让用户帐号过期usermod -e
- ldap(类似活动目录)帐号统一管理的
1.vi /etc/passwd注释掉用户
2.把登录shell改成/sbin/nologin
groupdel命令
groupdel是用来删除用户组的,要求用户组名必须是已存在的。用groupdel删除用户组实际是修改/etc/group(用户组文件)和/etc/gshadow(用户组加密文件)。
usermod命令
usermod修改用户信息。不仅能改用户的shell类型,所归属的用户组,还能改用户密码的有效期、登录名等很多用户的信息。绝大部分参数与useradd命令参数一样。