用户
linux基于用户对资源访问进行控制
用户帐号
超级用户:root,非执行管理任务不建议用root登录系统。
普通用户:一般只在用户自己的宿主目录中有完全权限。
系统用户:用于维持系统或某个程序的正常运行,例如:bin、daemon、ftp、mail等。系统用户不能登录到系统。系统用户是给系统进程用的,实现“最小权限原则”。
UID
UID(User Identity,用户标识号)用户名是“昵称”,UID 才是系统真正识别的身份。root用户的UID固定为0
普通用户/组使用的UID、GID号范围:1000~60000
用户帐号文件
/etc/passwd
用于保存用户的帐号基本信息
文件位置:/etc/passwd
,任何用户都有权限读取,但是只有root用户才能进行更改。
[root@localhost ~]# tail -2 /etc/passwd
admin:x:1001:1001::/home/admin:/bin/bash
字段1:用户帐号的名称
字段2:用户密码字串或者密码占位符“x”
字段3:用户帐号的UID号
字段4:所属基本组帐号的GID号
字段5:用户全名
字段6:宿主目录
字段7:登录Shell信息
shadow
用于保存密码字串、密码有效期等信息
文件位置:/etc/shadow,只有root才有权限读取,可以强制修改。
每一行对应一个用户的密码记录
[root@localhost ~]# tail -2 /etc/shadow
sabayon:!!:15495:0:99999:7:::
student:$1$po/zD0XK$4HSh/Aeae/eJ6dNj1k7Oz1:15495:0:99999:7:::
字段1:用户帐号的名称
字段2:加密的密码字串信息
此字段为“*”,通常是虚拟用户,不能登录;
如果此字段为“!!”,表示用户没设密码,不能登录。
若此字段为空,无需密码即可登录。
字段3:上次修改密码的时间(1970.1.1起)
字段4:密码的最短有效天数,即两次修改密码间隔的最小天数,默认值为0(chage 的 –m选项,天数)
字段5:密码的最长有效天数,即两次修改密码间隔的最多天数,默认值为99999(chage 的 –M选项,天数)
字段6:提前多少天警告用户口令将过期,默认值为7(chage 的 –W选项,天数)
字段7:在密码过期之后多少天禁用此用户(chage 的 –I选项,天数)
字段8:帐号失效时间(1970.1.1起),默认为空,表示该账号永久可用(chage 的 –E选项,天数)
字段9:保留字段(未使用)
指令
useradd
添加用户账号:useradd [选项]... 用户名
-u:指定 UID 标记号
-d:指定宿主目录,缺省为 /home/用户名
-e:指定帐号失效时间
-g:指定用户的基本组名(或 GID);
-G:指定用户的附加组名(或 GID);
-M:不为用户建立并初始化宿主目录
-s:指定用户的登录Shell
passwd
设置/更改用户口令:passwd [选项]... 用户名
-d:清空用户的密码,使之无需密码即可登录
注意:未设置密码和空密码的区别。
-l:锁定用户帐号(被锁定的帐号无法登录系统)
-u:解锁用户帐号
-S:查看用户帐号的状态(是否被锁定)
注意:上述操作只有root有权限,普通用户也可以使用passwd命令,但只能更改自己的密码。
usermod
修改用户帐号的属性:usermod [选项]... 用户名
-l:更改用户帐号的登录名称
举例:usermod -l stu student
-L:锁定用户账户
-U:解锁用户账户
以下选项与useradd命令中的含义相同
-u、-d、-e、-g、-G、-s
userdel
删除用户帐号:userdel [-r] 用户名
-r 选项,表示连用户的宿主目录一并删除
chage
改变用户密码期限:chage [选项]... 用户帐号名
-l:显示账户的密码策略
-M:密码的最长有效天数
-m:密码的最短有效天数
-W:密码的警告天数
-I:密码的有效天数,当密码过期状态超过所设定的时间后,密码会变为失效状态。
chage -I 3 test//用户test从密码过期开始算起,3天不修改密码则密码失效,如密码在2021年10月8日过期,如果不进行修改,则会在2021年10月11日失效。
-E:账号的过期时间,过了这天账号不能被使用(天数或者日期)。
组
GID
GID(Group Identify,组标识号)系统根据 GID 判断组权限、文件属组等
root组帐号的GID固定为0
普通用户/组使用的UID、GID号范围:1000~60000
用户帐号文件
/etc/group:保存组帐号基本信息
/etc/gshadow:保存组帐号的密码信息
指令
groupadd
添加组帐号:groupadd [-g GID] 组帐号名
gpasswd
设置组帐号密码,极少用。例如:gpasswd student
添加/删除组成员:gpasswd [选项]... 组帐号名
-a:向组内添加一个用户
groupdel
删除组账号:groupdel 组帐号名
groupmod
修改组账号:groupmod 组帐号名
id
查询用户身份标识,参数可有可无:id [用户名]
groups
查询用户所属的组,参数可有可无:groups [用户名]
users
w
who
查询已登录到主机的用户信息