1.基本权限UGO
1.1设置权限
chown:改变文件或目录的所属主以及所属组
chmod:为文件或目录设置访问权限
chown:
语法:chown 用户.组名 文件的绝对路径或相对路径 //修改属主、属组
chown 用户 文件的绝对路径或相对路径 //修改属主
chown .组名 文件的绝对路径或相对路径 //修改属组
chown -R 用户.组名 目录的绝对路径或相对路径 //递归修改----针对目录
加-R与不加-R的区别:
加上-R是会连目录里面的文件的权限一同修改;
不加-R是只修改目录的权限。
更改权限:chmod
针对文件修改权限:
[root@localhost ~]# chmod u+x file1.txt //属主增加执行
[root@localhost ~]# chmod a=rwx file1.txt //所有人等于读写执行
[root@localhost ~]# chmod a=- file1.txt //所有人都没有权限
[root@localhost ~]# chmod ug=rw,o=r file1.txt //属主属组等于读写,其他人只读
[root@localhost ~]# ll
-rw-rw-r--. 1 tom it 0 Nov 1 15:30 file1.txt
针对目录修改权限:
[root@localhost ~]# chmod u+x dir1 //属主增加执行
[root@localhost ~]# ll -d dir1
drwxr-xr-x. 2 alice 4007 6 2月 24 15:09 dir1
[root@localhost ~]# chmod a=rwx dir1 //所有人等于读写执行
[root@localhost ~]# ll -d dir1
drwxrwxrwx. 2 alice 4007 6 2月 24 15:09 dir1
[root@localhost ~]# chmod a=- dir1 //所有人都没有权限
[root@localhost ~]# ll -d dir1
d---------. 2 alice 4007 6 2月 24 15:09 dir1
[root@localhost ~]# chmod ug=rw,o=r dir1 //属主属组等于读写,其他人只读
[root@localhost ~]# ll -d dir1
drw-rw-r--. 2 alice 4007 6 2月 24 15:09 dir1
b.使用数字设置权限:
[root@linux-server ~]# chmod 644 file1.txt
[root@linux-server ~]# ll file1.txt
-rw-r--r--. 1 tom it 0 Nov 1 15:30 file1.txt
[root@linux-server ~]# chmod 755 file1.txt
[root@linux-server ~]# ll
-rwxr-xr-x 1 root root 0 Jul 23 22:40 file1.txt
[root@linux-server ~]# chmod 521 file1.txt
[root@linux-server ~]# ll
-r-x-w---x 1 root root 0 Jul 23 22:40 file1.txt
r、w、x权限对文件和目录的意义
小结:
对目录有w权限,可以在目录中创建文件,可以删除目录中的文件(跟文件权限无关)
注意事项:
文件:x 权限小心给予
目录:W 权限小心给予
高级权限
1.1高级权限的类型
suid ==== 4 提权 (只对二进制命令文件生效,其他不管用)
sgid ==== 2 组继承 (只能对目录设置)
sticky == 1 (t权限) 权限控制
1.2设置特殊权限
a、字符---语法:
chmod u+s file
chmod g+s dir
chmod o+t dir
b、数字
chmod 4777 file
chmod 2770 dir
chmod 1770 dir
案例:
suid 普通用户通过suid提权 <针对文件>
在进程文件(二进制,可执行的命令文件)上增加suid权限
[root@linux-server ~]# chmod u+s /usr/bin/cat
[root@linux-server ~]# chmod u+s /usr/bin/rm
[root@linux-server ~]# su - alice
Last login: Wed Nov 6 17:40:40 CST 2019 on pts/0
[alice@linux-server ~]$ cat /root/file1.txt
123
[alice@linux-server ~]$ rm -rf /root/file1.txt
Set UID
1、SUID权限仅对命令文件(二进制文件)有效;
2、执行者将具有该程序拥有者(owner)的权限。
取消提权
[root@linux-server ~]# ll /usr/bin/rm
-rwsr-xr-x. 1 root root 62864 Nov 6 2016 /usr/bin/rm
此时一旦给rm加上suid权限之后,普通用户相当于root用户。(即提权)
[root@linux-server ~]# chmod u-s /usr/bin/rm #取消提权
1.3 目前两种给普通用户提权手段:
sudo: 有针对性,例如针对某个用户以能够以root的身份执行某些命令。(重点)
suid: 基本针对所有用户,任何用户在执行有suid权限的程序时(例如/usr/bin/rm),都是以root身份在执行。