Linux用户与用户、权限管理
用户管理:
1、useradd 创建用户
-c 指定用户描述
-d 指定家目录
-g指定主组
-G 指定附加组
【一个用户主组只能有一个,而附加组有多个】
-s指定shell程序
特殊:/sbin/nologin --->不允许登录系统愈合
-u指定UID
-M 不创建家目录
2、userdel
-r 带着家目录一块删除
3、usermod 修改
-c
-d
-m
-o (容许UID相同 与-u相同)
4、passwd
-l lock
-u unlock
-d 删除密码
echo “密码”| passwd --stdin “用户名”
5、组管理:
groupadd
-g添加组ID
-o
groupdel 删除组
groupmod
-g
-o
-n 修改组密码
-p 指定组密码(如果一个文件输入这个用户的附加组,而你要访问这个文件,别人就可以为这个组设置密码)
常用文件:
/etc/passwd
uname:x:uid:gid:描述:家目录:shell程序
超级用户--root
系统用户:1--499 1-999 普通用户 500-65535 1000-65535
/etc/shadow
uname:uid:密码:各种时间……
/etc/group
组:组密码:组ID:附加组
/etc/gshadow
……
/etc/skel
这个目录下的文件俊辉被复制到每一个普通用户的家目录中,一般用来做警告;
用户权限:
r w x
读 写 执行
r 100
w 010
x 001
chmod [a|o|g|u[+|-]]文件
chown :user10 :文件
chown user10:文件
chown user10 :user10 :文件
--------------------------------------------------------------------------------------------------
acl 的授权管理:
setfacl
通过权限管理,给指定用户添加指定权限
setfacl -m u:用户名:所添加的权限 文件//文件一定要是改用户的文件
setfacl -x u:用户名 文件//取消文件权限
getfacl
查看acl添加的权限
特殊权限:
临时借位:例如 有A B 二个用户分别输入AA和BB组;A创建了一个用户a.txt,B默认情况下去访问a.txt使用other。但是,我如果想要越权,借用A的权限去访问a.txt,就需要将SUID位置位为1
粘粘位作用:授权给一个目录,在改目录下所有用户只能删除自己的文件,别人不能删除自己的文件,---目录
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
-----------------------------------------------------------------------------