Linux操作系统--初级--Linux的用户与用户组(权限管理)
用户管理
1、useradd 创建用户
-c 指定用户描述
-d 指定家目录
-g 指定主组
-G 指定附加组【一个用户主组只能有一个,附加组可以有多个】
-s 指定shell程序
特殊:/sbin/nologin--不容许登录系统的用户
-u 指定UID
-M 不创建家目录
2、userdel 删除用户
-r 带着家目录一起删除
3、usermod 修改
4、passwd 密码
echo "密码" | passwd --stdin "用户名"
组管理
groupadd 添加组
-g 修改组ID
-o 容许重复
groupdel 删除组
groupmod 修改
-n 修改组名
-p 指定组密码 【如果一个文件属于这个用户的附加组,而你要访问这个文件,别人就可以为这个组设置密码】
常用文件
/etc/passwd
uname:x:uid:gid:描述:家目录:shell程序
uid:
超级用户--root
系统用户:1-499 1-999
普通用户:500-65535 1000-65535
/etc/shadow
uname:uid:密码:各种时间
/etc/group
组:组密码:组id:附加组
/etc/gshadow
/etc/skel
这个目录下的文件均会被复制到每个普通用户的家目录中,一般用来做警告
用户权限
r w x
读写执行
4 2 1
r 100
w 010
x 001
chmod [a|o|g|u] [+|-] 文件
chown :user10 文件
chown user10: 文件
chown user10:user10 文件
acl授权管理
setfacl(给指定用户添加指定权限)
setfacl -m u:用户名:添加的权限 /tmp/abc(该用户的文件)
setfacl -x u:用户名 文件 //取消文件权限
getfacl(查看acl添加的权限)
特殊权限
临时借权限:例如:有A,B两个用户分别属于AA组和BB组,A创建了a.txt,B默认访问a.txt时使用other,当B想要借用A的权限,就要将SUID位置位为1;同时也可以去借SGID权限去访问
SUID
chmod u+s 文件 //授予SUID的特殊权限
如果属主权限有x 显示为s
如果属主权限没有x 显示为S
SGID
chmod g+s 文件 //授予GUID的特殊权限
如果属主权限有x 显示为s
如果属主权限没有x 显示为S
Sticky
chmod o+t 文件 //授予粘粘位的特殊权限
如果属主权限有t 显示为s
如果属主权限没有T 显示为S