一、课上笔记
FTP服务器:10.10.21.100
VNC桌面:10.10.0.221 密码:123456
为什么要多用户?
针对不同的文件,对不同的用户设置不同的权限,以增加安全性
setacl权限覆盖:创建的目录本身对组内用户没有写权限,这时如果对其他的用户设置acl为rwx,那么ll -d查看该目录的时候就会显示有w权限,但实际上组内并没有,所以组内用户不能创建文件,解决方法,将目录的acl权限清空,先给组内用户权限,再给acl权限即可
二、权限的含义
[root@localhost ~]# ll aa.txt
-rw-r--r--. 1 root root 226 Oct 14 19:37 aa.txt
文件类型r:读w:写x:执行
前3位:所有者的权限
中间3位:所属组的权限
后面3位:其他人的权限
文件属主、属组的变化都会对文件的权限的含义产生影响。
针对文件
r权限
查看文件内容 cat /etc/passwd
w权限
只能修改文件内容 vim 能:wq保存退出,不能删文件和重命名
x权限
针对脚本文件,Linux下一切皆文件
任何一个用户想要查看目录下的文件必须要具备两个权限, r x
针对目录
r权限
仅能够查看目录下的文件
ls 目录名称
w权限
可以操作目录下的文件(创建、删除、重命名)、具体能不能保存文件,还要看该用户对该文件是否具有w权限
x权限
可以使用cd切换目录
三、权限操作
1、修改文件或者目录的权限 chmod
u:表示拥有者 4
g:表示所属组 2
o:表示其他人(组外成员) 1
a:表示所有成员
+:赋予权限
-:去除权限
=:给权限
[root@localhost ~]# chmod u+x aa.txt
[root@localhost ~]# chmod u-rw aa.txt
[root@localhost ~]# chmod u+r,g+w,o+x aa.txt
[root@localhost ~]# chmod ug+rw aa.txt
[root@localhost ~]# chmod ugo+rwx aa.txt
[root@localhost ~]# chmod a-rwx aa.txt
[root@localhost ~]# chmod u=r aa.txt
[root@localhost ~]# chmod g=rw aa.txt
[root@localhost ~]# chmod g=rw,o=r aa.txt
[root@localhost ~]# chmod g-rw,o=r aa.txt
2、修改权限的指令
修改所有者、所属组
chown user1.g1 /tmp/linux
修改所有者
chown user /tmp/linux
修改所属组
chgrp g1 /tmp/linux
chown .g1 /tmp/linux
3、facl:文件访问控制列表
特殊用户的特殊权限,可以针对单个用户,用户组设置权限
-m:设置权限
-x:删除权限
setfacl -m u:user1:rw /opt/linux/1.txt //针对用户
setfacl -m g:g1:rw /opt/linux/1.txt //针对用户组
getfacl /opt/linux/1.txt //查看facl权限
setfacl -x u:user1 /opt/linux/1.txt //删除用户facl权限
setfacl -x g:g1 /opt/linux/1.txt //删除用户组facl权限
setfacl -bn /opt/linux/
四、高级权限SUID、SGID、STICKYBIT
1、SUID
作用
当普通用户运行SUID文件时,会临时获取到文件所有者对操作系统的权限/usr/bin/passwd
[root@localhost ~]# ls -l /usr/bin/passwd -rwsr-xr-x. 1 root root 27856 Aug 9 2019 /usr/bin/passwd
缺点
会降低文件的安全性
假如有个SUID脚本文件运行时间为10m,则普通用户会在这10分钟短暂获取root权限
针对可执行文件进行设置
chmod u+s /etc/passwd
2、SGID
应用场景
针对目录
作用
在具有SGID权限的目录下创建的目录或文件,会自动继承父目录的所属组
[root@localhost ~]# chmod g+s /opt/data/
[root@localhost data]# ls -l /opt/data/4.txt
-rw-r--r-- 1 root g2 0 Dec 20 14:10 /opt/data/4.txt
3、STICKY BIT
应用场景
针对目录设置
作用
防止误删除文件(每个用户只能删除自己创建的文件)
只有文件的所有者、目录所有者、root用户可以删除该目录下的文件(如果没有STICKBIT,则所属组、组外有权限也可以删除)
[root@localhost data]# chmod o+t /opt/data/
[root@localhost data]# ls -ld /opt/data/
drwxrwsr-t 2 root g1 76 Dec 20 14:35 /opt/data/
4、权限其他操作
高级权限SUID、SGID、STICKYBIT、
4、2、1
cp -a::此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合
umask值(root用户:0022,普通用户:0002)
umask值影响创建文件、目录的默认权限
针对root用户来说
创建文件666-022=644
创建目录777-022=755
针对普通用户来说:
创建文件666-002=644
创建目录777-002=755
五、练习
1、有一个项目组, 成员有boss、yg1、yg2,项目服务器是/data,
要求: 1、员工间不允许相互删除文件,主管可以,
2、员工间可以相互修改文件
useradd yg1
useradd yg2
useradd boss
mkdir /data
chown boss /data/
chmod o+t /data/
chmod g+s /data/
chmod g+w /data/