用户和用户组
1.文件
用户和用户组文件保存在/etc/passwd中,密码文件单独保存在/etc/shadow中
用户和用户组文件/etc/passwd
用户帐号 用户密码(密码单独保存用x占位) 用户ID 用户组ID 用户名全称 用户主目录 用户所使用的shell
比如:
oot:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
密码文件/etc/shadow
密码文件仅root用户能访问
[:]来进行分割
1、账户名称(密码需要与账户对应的嘛)
2、加密后的密码(如果这一栏的第一个字符为!或者*的话,说明这是一个不能登录的账户,从上面可以看出,ubuntu默认的就不启用root账户。
3、最近改动密码的日期(从1970年1月1日算起的总的天数)
4、密码不可被变更的天数:设置了这个值,则表示从变更密码的日期算起,多少天内无法再次修改密码,如果是0的话,则没有限制
5、密码需要重新变更的天数:密码经常更换才能保证安全,为了提醒某些经常不更换密码的用户,可以设置一个天数,强制让用户更换密码,也就是说该用户的密码会在多少天后过期,如果为99999则没有限制
6、密码过期预警天数:如果在5中设置了密码需要重新变更的天数,则会在密码过期的前多少天进行提醒,提示用户其密码将在多少天后过期
7、密码过期的宽恕时间:如果在5中设置的日期过后,用户仍然没有修改密码,则该用户还可以继续使用的天数
8、账号失效日期,过了这个日期账号就不能用了
9、保留的
比如:
root:*:17945:0:99999:7:::
daemon:*:17379:0:99999:7:::
bin:*:17379:0:99999:7:::
sys:*:17379:0:99999:7:::
sync:*:17379:0:99999:7:::
用户组文件/etc/group
用户组名称 密码占位符x 用户组ID
root:x:0:
daemon:x:1:
bin:x:2:
2.命令
用户命令:useradd,usermod ,userdel,passwd
用法:useradd/usermod -[option] username和userdel -r(可选)username
username:
参数 |
用法 |
详细解释 |
-c |
注释 |
用户设置对账户的注释说明文字 |
-d |
主目录 |
指定用来取代默认的/home/username的主目录 |
-m |
|
若主目录不存在,则创建它。-r与-m相结合,可为系统账户创建主目录 |
-M |
|
不创建主目录 |
-e |
date |
指定账户过期的日期。日期格式为MM/DD/YY |
-f |
days |
帐号过期几日后永久停权。若指定为-,则立即被停权,若为-1,则关闭此功能 |
-g |
用户组 |
指定将用户加入到哪个用户组,该用户组必须存在 |
-G |
用户组列表 |
指定用户同时加入的用户组列表,各组用逗分隔 |
-n |
|
不为用户创建私有用户组 |
-s |
shell |
指定用户登录时使用的shell,默认为/bin/bash |
-r |
|
创建一个用户ID小于500的系统账户,默认不创建对应的主目录 |
-u |
用户ID |
手动指定新用户的ID值,该值必须唯一,且大于499 |
-p |
password |
为新建用户指定登录密码。此处的password是对应登录密码经MD5加密后所得到的密码值,不实真实密码原文,通常单独使用passwd命令来为用户设置登录密码 |
usermod
参数 |
含义 |
详解 |
-l |
改变用户账户名 |
usermod -l 新用户名 原用户名 |
-L |
锁定用户 |
usermod -L 用户名,linux锁定用户,是通过在密码文件shadow的密码字段前加“!”来标识该用户被锁定 |
-U |
解锁用户 |
|
userdel
参数 |
含义 |
解释 |
-r |
删除用户 |
-r可选是否一并删除该账户对应的用户目录 |
passwd
参数 |
含义 |
解释 |
空(不带参数) |
设置账户密码 |
只有root用户才有权设置指定账户的密码。一般用户只能设置或修改自己账户的密码 |
-l |
锁定密码 |
密码被锁定后将无法登陆 |
-u |
解锁 |
|
-S |
passwd -S uername 查看密码状态 |
LK:被锁定,PS:正常 |
-d |
删除密码 |
密码被删除后将无法登陆系统除非重新设置密码,该命令只用root账户有权执行,不像windows密码为空就是没有密码 |
用户组命令:groupadd, groupmod, groupdel,gpasswd
groupadd
参数 |
含义 |
解释 |
-r |
是否创建系统用户组 |
带有-r参数,则创建系统用户组,该类用户组的GID值小于500;若没有-r参数,则创建普通用户组,其GID值大于或等于500 |
groupmod
参数 |
含义 |
解释 |
-n |
修改组名 |
groupmod -n 新用户组名 原用户组名,此命令不会改变GID的值 |
-g |
修改GID |
groupmod -g new_GID 用户组名称 |
groupdel
参数 |
含义 |
解释 |
空 |
删除用户组 |
groupdel 用户组名,注意在删除用户组时,被删除的用户组不能是某个账户的私有用户组,否则将无法删除,若要删除,则应先删除引用该私有用户的账户,然后再删除用户组。 |
gpasswd
参数 |
含义 |
解释 |
-a |
添加账户到指定账户组 |
gpasswd -a 用户账户 用户组名 |
-d |
从账户组删除指定账户 |
gpasswd -d 用户账户 用户组名 |
-A |
将指定用户添加为管理员 |
gpasswd -a 用户账户 用户组名 |
su username和su -username
su username:用户和操作环境都改变
su -username:只切换用户不切换操作环境及环境变量不变。还可用于退出超级权限
本博客为Swagger-Ranger的笔记分享,文中源码地址: https://github.com/Swagger-Ranger
欢迎交流指正,如有侵权请联系作者确认删除: liufei32@outlook.com