用户和用户组

用户和用户组

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

原文地址:https://www.cnblogs.com/Swagger-Ranger/p/10671210.html