既然都了解了用户和组的概念以及相关配置文件,就可以来了解下用户和组管理的相关命令。
一、用户管理命令
1、 useradd 用户创建命令 useradd UserName
useradd -u UID # 指定用户ID,UID的有效范围0-65535
-g GID # 指定用户组,有效范围是已有的GID,否则会报错。
-G GID # 指定额外组,有效范围是已有的GID,可以有多个,用逗号隔开
-c COMMENT # 指定用户注释信息
-d /path/to/somewhere # 指定家目录
-s /path/to/shell_command # 指定shell
-r # 用于创建系统用户,ID 1-499,不会创建家目录,用户不需要登录
-M # 不为用户创建家目录
-m # 强行创建家目录
2、 userdel 用户删除命令
userdel UserName # 直接删除用户不会删除用户家目录
-r UserName # 删除用户同时也删除用户家目录
3、 usermod 用户属性修改
usermod -u UID #修改用户UID
-g GID #修改用户GID
-a -G GID # 单独-G选项会默认覆盖原有额外组,同时使用-a选项可以追加额外组
-s SHELL # 修改SHELL
-m -d # 修改用户家目录 -d只修改家目录指向,加个-m,可以将原有用户家目录移动到新的家目录地址
-l NewName # 修改用户登录名
二、 组管理命令
1、groupadd 用户组的创建
groupadd GroupName
-g GID # 创建时指定GID
-r # 创建系统组
2、groupdel 用户组的删除
groupdel GroupName
3、groupmod 修改用户组的属性
groupmod -g # 修改GID
-n # 修改组名
三、 密码管理
1、passwd # 设置用户密码 passwd User
passwd -l # 锁定用户账户
-u # 解锁用户账户
-d # 清除用户密码 可以空密码在本机登录
-n # 设定密码最短使用期限
-x # 设定密码最长使用期限
-w # 设定密码警告天数
-i # 设定密码非活动天数
-e # 设定密码过期时间
2、chage # 修改用户密码属性
chage User
-l # 列出用户的用户密码期限信息
-m --mindays # 修改最短使用期限
-M --maxdays # 修改最长使用期限
-W # 修改警告天数
-I # 修改非活动天数
-E # 修改过期时间
-d # 修改最近一次修改密码的时间
3、gpasswd # 设置组密码
gpasswd GroupName
-a # 添加用户到组
-d # 从组中删除用户
-A # 指定管理员
-r # 删除组密码
-R # 限制用户登入组,只有组中成员才能用newgrp加入该群
这里补充下组密码的相关用途:
gpasswd groupname:如系统有个peter账户,该账户本身不是groupname群组的成员,使用newgrp需要输入密码即可让使用者暂时加入成为该组成员,之后peter建立的文件group也会是groupname。所以该方式可以暂时让peter建立文件时使用其他的组,而不是peter本身所在的组。
所以使用gpasswd groupname设定密码,就是让知道该群组密码的人可以暂时切换具备groupname群组功能的.
gpasswd -A peter users
这样peter就是users群组的管理员,就可以执行下面的操作:
gpasswd -a mary users
gpasswd -a allen users
*给组账号设置完密码以后,用户登陆系统,使用newgrp命令,输入给组账号设置的密码,就可以临时添加到指定组,可以管理组用户,具有组权限。格式:newgrp 【组名】
四、 相关命令示例:
1 groupadd nba
groupadd b -g 512 # 创建一个GID512 的组b
2 useradd -u 533 -g b -G nba zz # 创建用户zz UID 533 组b 额外组 nba
3 [root@zz ~]# id zz # 用id 命令查看用户的信息
uid=553(zz) gid=512(b) 组=512(b),513(nba)
4 useradd -u 534 -g b -G nba -c "welcome" -s /bin/dash -d /home/zz1 zz1 # 添加一个用户
[root@zz ~]# finger zz1 #查看用户信息
Login: zz1 Name: welcome
Directory: /home/zz1 Shell: /bin/dash
Never logged in.
No mail.
No Plan.
5 usermod -u 532 -g a zz1
[root@zz ~]# finger zz1
Login: zz1 Name: welcome
Directory: /home/zz1 Shell: /bin/dash
Never logged in.
No mail.
No Plan.
[root@zz ~]# id zz1
uid=532(zz1) gid=510(a) 组=510(a),513(nba)
[root@zz ~]# passwd zz1
更改用户 zz1 的密码 。
新的 密码:
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。
[root@zz ~]# cat /etc/passwd|grep zz1
zz1:x:532:510:welcome:/home/zz1:/bin/dash
[root@zz ~]# cat /etc/shadow|grep zz1
zz1:$6$IPWEJzNW$hBTpXPgfX6uJd1ZOTrzDCKXT4R.jduS6Bts7dSAfdVp58zPrY/r98LTffK1MjarSaTQOKymo28MwdM800L1Ip1:16133:0:99999:7:::
[root@zz ~]# chage -m 3 -M 31 -E 60 -I 5 -W 3 zz1
[root@zz ~]# cat /etc/shadow|grep zz1
zz1:$6$IPWEJzNW$hBTpXPgfX6uJd1ZOTrzDCKXT4R.jduS6Bts7dSAfdVp58zPrY/r98LTffK1MjarSaTQOKymo28MwdM800L1Ip1:16133:3:31:3:5:60:
[root@zz ~]# chage -l zz1
Last password change: Mar 04, 2014
Password expires: Apr 04, 2014
Password inactive: Apr 09, 2014
Account expires: Mar 02, 1970
Minimum number of days between password change: 3
Maximum number of days between password change: 31
Number of days of warning before password expires: 3
本文出自 “随笔” 博客,请务必保留此出处http://zilingzhan.blog.51cto.com/1166988/1386003
原文:http://zilingzhan.blog.51cto.com/1166988/1386003