用户信息文件:/etc/password
root:x:0:0:root:/root:/bin/bash
7个信息:
用户名
密码位
UID(用户标识号)
GID(缺省组标识号)
注释性描述(例如存放用户全名等信息)
宿主目录(用户登录系统后的缺省目录)
命令解释器(用户使用的shell,默认为bash)
密码文件:/etc/shadow
Linux用户分为3种:
超级用户:UID为0的用户
普通用户:(UID 500-60000)
伪用户:(UID 1-499) 与系统和程序服务相关 没有宿主目录 不需要或无法登录
用户组:
每个用户至少属于一个用户组
每个用户组包括多个用户
同一个用户组的用户享有该组共用的权限
/etc/shadow:
root:$6$88vkiiiu$ZVsODT7UT8Mdm.hi8PJNK4O7WW/xS.jwlru3EglTT906lI5nuzPG8BOBqLek3VqBgkwBL1da4dt8SxZjlGttG0:16573:0:99999:7:::
用户:加密密码:最后一个修改时间:最小时间间隔:最大时间间隔:警告时间
新用户信息文件:
/etc/skel
用户配置文件
/etc/login.dfs
/etc/default/useradd
登录信息:
/etc/motd
为什么普通用户可以更改密码
-rwsr-xr-x 1 root root 45420 Feb 16 2014 /usr/bin/passwd
setUID或SUID:
当一个可执行程序具有SetUID权限,用户执行这个程序时,将以这个程序所有者的身份执行。
授予setUID:
chmod u+s
setUID=4
4755
setGID = 2
chmod g+s
2755
粘着位:用t来表示 其他人
t, 如果一个权限位777目录具有粘着位,每个用户都可以在这个目录下创建文件,但是只能删除自己是所有者的文件。
chmod o+t
1777
/etc/group:
组名(用户登录时所在的组)
组密码
GID(组标识号)
组内用户列表(属于该组的所有用户列表)
groupadd 组名 (添加组)
group -g 888 webadmin (-g指定组的ID)
删除用户组:groupdel 组名
修改用户组信息 groupmod
groupmod -n 新组名 旧组名 改变组的名称
useradd: -D查看缺省参数
u:UID
g:缺省所属用户组GID
G:指定用户所属多个组
d:宿主目录
s:命令解释器shell
c:描述信息
e:指定用户失效时间
passwd
修改用户信息:
usermod -l 新用户名 旧用户名 (修改用户名)
usermod -G 组名 用户名 (将用户加到一个组里)
gpasswd:设置组密码及管理组内成员
gpasswd 组名 设置组的密码
-a 添加用户到用户组 (gpasswd -a 用户名 组名)
-d gpasswd -d 用户名 组名 (把用户从组内删除)
-A 设置用户组管理员 gpasswd -A 用户名 组名
newgrp 组名
pwck 检测/etc/passwd文件
vipw 编辑/etc/passwd文件 (锁定编辑)
id 查看用户id和组信息
finger 查看用户详细信息
passwd -S: 查看用户密码状态
who, w:
su 用户名与(su - 用户名)的区别:
带-的会切换环境变量。
root 切换到普通用户不需要密码
锁定用户
passwd -l 用户名
usermod -L username
解锁用户:
passwd -u 用户名
usermod -U username
groups 用户名 (查看用户属于那些组)
newgrp 组名(切换用户组)
删除用户:
userdel -r 用户名
-r:删除用户目录
chage 设定密码
-l 查看用户密码设置
批量添加用户
newusers 导入用户信息文件
pwunconv 取消shadow password功能
chpasswd 导入密码文件(格式 用户名:密码)
限制用户su为root:
groupadd sugroup
chmod 4550 /bin/su
chgrp sugroup /bin/su
usermod -G sugroup username
启动或禁用shadow
pwconv/pwunconv
grpconv/grpunconv
visodu:锁定编辑sodo的配置文件
配置文件格式:
用户名(组名) 主机地址=命令(绝对路径)
设置用户为配置文件所有者
改变所属组,把用户加入组,授予组 w 权限
visodu 用户 地址=/bin/vi 配置文件