linux用户与用户、权限管理
用户管理:
1、useradd 创建用户
-c 指定用户描述
-d 指定家目录 默认家目录 /home下同名的目录
-g 指定主组
-G 指定附加组
【一个用户主组只能有一个,而附加组可以有多个】
-s 指定shell程序
特殊:/sbin/nologin --> 不容许登陆系统的用户
-u 指定UID
-M 不创建家目录
2、userdel
-r 带着家目录一块删除
3、usermod - 修改
-c -d -m -g -G -s -u -o(容许UID相同,和-u一起使用)
4、passwd
-l lock
-u unlock
-d 删密码
echo "密码" | passwd --stdin "用户名"
组管理:
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
读写执行
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:用户名:所添加的权限 文件 //文件一定要是该用户的文件
setfacl -x u:用户名 文件 //取消文件权限
getfacl
查看acl添加的权限
特殊权限:
临时借权限;例如:有A B两个用户分别输入AA组和BB组;A创建了一个用户a.txt,B默认情况下去访问a.txt使用other;但是,我如果想要越权,借用A的权限去访问a.txt,就需要将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
【如何借位?】
------------------------------------------------
su 授权
/etc/sudoers //在这个文件里面去添加权限即可;
su - / su
sudo