1、普通权限

对于linux系统而言,文件、文件夹,都是有  user 属主,  group属组的一个角色分配,还存在一个other其他人
这三个身份的划分

并且设定了  r  w   x  三个权利的限制,也就是 读,写,执行(对于文件的读写执行)

查看文件夹的详细信息

[root@s25linux ~]# ll /tmp
总用量 4
drwxr-xr-x. 2 root root    6 2月  17 11:00 hehe   #文件夹 
解读它的信息
drwxr-xr-x  拆分如下

d  d代表是一个文件夹
b  块设备   block
l  软连接
c  字符设备 char
s  套接字   socket



rwx   user是root,root可以读写执行
r-x   group也是root,root组里的成员,可以读,执行
r-x    others权限是 读,执行

#文件的权限,必须顺序是 rwx ,没有权限则写一个-号

-rw-r--r--. 1 pyyu pyyu 2328 2月  17 09:15 pwd.txt  #文件 
#解读如上的权限
-   开头是 -号,就是普通的文本类型 
rw-  user是pyyu,pyyu这个用户权限是 可读、可写,不可执行
r--   group是pyyu,只读
r--   此时peiqi这个用户对于pwd.txt这个文件,权限就是 只读的

对于文件的rwx

r   cat,more,less,head,等读取文件内容的操作
w    vim  ,echo,等写入内容的操作 
x   可以执行的脚本,例如bash,python等脚本,文件会变成绿色

对于文件夹的rwx

r  ls 查看文件夹内容
w   允许在文件夹中创建文件、删除文件等操作
x    允许cd进入此文件夹

chmod

chmod 可以更改文件的权限,更改针对 user,group,other的权限修改

字符对应的数字
r 4
w 2
x 1
- 0

动作:
-减少
+增加
=赋予新的权限

chmod  u+r   file.txt  #给文件的user,添加读的权限
chmod  g-x  file.txt  #给文件的group组权限,去掉可执行
chmod o+r,o+w,o+x  file.txt  #给文件的other身份,最大的权限,读写执行

chmod 000  file.txt  #给与文件最低的权限,任何人不得读写执行


chown

更改文件的拥有者,user

-R 递归修改文件夹和内部的所有文件

chown -R 用户   test.txt    #更改文件夹对应的用户
chown  用户   test.txt     #更改文件对应的用户

chown 用户.用户组 test.txt #更改文件对应的用户和组

chown .用户组 test.txt     #更改文件对应的用户组,点号可以用冒号替代

chgrp

更改文件的拥有组,group

chgrp 只能更改组
chgrp 用户组 test.txt     #更改文件对应的用户组

chattr

给文件加锁

i 锁

a 只能追加写入

+ 加

- 减

=

chattr +i test.txt  #给test.txt加锁
chattr -i test.txt  #给test.txt解锁

lsattr

查看被chattr加锁的属性

2、特殊权限

suid

普通权限:9位 前三位 中三位 后三位
特殊权限:3位

# suid作用:
1.针对二进制命令.
2.给passwd命令设置了suid,则任何用户执行passwd命令都会拥有和passwd命令对应的用户的权限.

# suid:用户
前三位用户位的x位:S s(x)
s 4
sgid:用户组
中三位用户组位的x位:S s(x)
s 2
粘滞位: /tmp
后三位其他用户位:x位:T t(x)
t 1

# test用户通过设置了suid的vim命令提权到root实践:
1.chmod u+s /bin/vim  #必须root
2.vim /etc/sudoers    #test
  test ALL=(ALL) ALL
3.sudo su - 切到root.

#防护普通用户以及web提权:
1.禁止给命令设置suid
  1)应用软件PHP(/etc/php.ini)禁止开启读取系统文件等的函数cat
  2)磁盘挂载禁止suid.
2.给关键文件加锁/etc/sudoers

3.chmod 000 /etc/sudoers

4.看好/etc目录权限,防止文件被替换

5.所有系统和站点文件和目录用户和组都用root.

6.文件统一644,目录统一755,文件和目录的默认权限.

7.web应用禁止上传特殊文件到服务器,
上传后禁止浏览(get请求方法,目录uri,动静分离),
开启wap防火墙各种限制80进入,使用加密的https.

8.ssh监听内网,禁止root远程连接,vpn拨号

# 查找设置了suid的命令
[root@linux ~]# find / -perm 4755