Linux文件属性及权限知识
1. 特殊文件属性命令: chattr,lsattr(这个是产看文件属性的命令)
- 作用: 给文件或目录加锁不让改不让删除
- 语法:
chattr 选项 文件
- 选项属性 1.
-i
个文件加锁不能删改2.-a
可以追加内容 - 选项动作 1.
-
减少2.+
增加 - 练习: 给文件加锁-查看属性-更改文件-解锁-查看属性
[root@localhost ~]touch oldboy.txt[root@localhost ~]lsanaconda-ks.cfg day02_world_oldboy.sql oldboy oldboy.txt[root@localhost ~] chattr +i oldboy.txt[root@localhost ~] lsattr oldboy.txt----i----------- oldboy.txt[root@localhost ~]rm-f oldboy.txtrm: cannot remove ‘oldboy.txt’: Operation not permitted[root@localhost ~] chattr -i oldboy.txt[root@localhost ~] lsattr oldboy.txt---------------- oldboy.txt[root@localhost ~]rm-f oldboy.txt[root@localhost ~]lsanaconda-ks.cfg day02_world_oldboy.sql oldboy
- 生产应用: 想要快捷的对上锁的文件进行改动可以考虑使用脚本
[root@oldboyedu ~]vim /bin/test ##增加如下内容chattr -i /etc/passwd /etc/group /etc/shadow /etc/gshadow /etc/sudoers$*chattr +i /etc/passwd /etc/group /etc/shadow /etc/gshadow /etc/sudoers
2. Linux 基本权限介绍
- 查看文件属性:
ls -l
- 9为权限分组:前三位用户权限,中间三位组权限,最后三位其它权限
- 权限表示方法:字符权限和数字权限
- 权限对应的字符、数字和位置 字符作用对应的数字权限位置r可读4第一位w可写2第二位x可执行1第三位-无0任意位
- 如何更改权限 1. 利用数字权限更改 1. 语法:
chmod 换算后的数字组 文件路径
(-R递归修改)2. 计算换算后的数字:将9位权限每隔三位看成一组, 每组数字按照上边的表格换成数字相加, 最后得到一个三位数3. 换算例子 1. drwxrwxr-- 7742. -rw-r–r-x 6453. drwx–xr-x 7154. dr-xrwx–x 5715. d–xr-xrwx 1572. 利用字符更改 1. 动作说明:-
减少,+
增加2. 9位权限分组的表示符: 前三位u
中三位g
后三位o
所有位a
3. 语法:chmod 位符号+动作符号+权限符号 操作文件
4. 例子:chmod u+rwx oldboy.txt
3. Linux 特殊权限
- suid - 权限内容: suid是针对命令来讲, 当设置之后任意用户都会有对该文件执行文件所有者的操作- 设置方法:
chmod u+s 目录/文件
- 设置suid之后ls -l
之后的状态:-rwsr-xr-x
或-rwSr–r--
(大S表示所有者也没有执行权限)- 常见的例子:passwd
命令就被设置了suid,ping
命令也设置了suid - sgid: 字符是s,在中三位
- 粘滞位: 字符是t,在后三位
4. 普通用户提权到root权限
- 方法一: test用户通过设置了suid的vim命令提权到root实践 1. 必须root用户下操作
chmod u+s /bin/vim
2. 必须test用户下操作vim /etc/sudoers
增加如下内容test ALL=(ALL) NOPASSWD:ALL
3. 切到rootsudo su -
- 方法二 1. 必须root用户下操作
chmod u+s /bin/vim
2.vim /etc/passwd
将test用户的行的UID改为03. 重新登录test就是root - 方法三: 将test用户修改为属于wheel组 1. 确定test的组id为20008
[test@oldboyedu ~]$ grep-wtest /etc/passwdtest:x:20008:20008::/home/test:/bin/bash
2. 确定wheel组id为10[test@oldboyedu ~]$ grep wheel /etc/groupwheel:x:10:
3. 修改组id为10[test@oldboyedu ~]$ vim /etc/passwdtest:x:20008:10::/home/test:/bin/bash
4. 登录sudosudo su - ###需要test密码
5. 如何方式普通用户和web用户提权
- 禁止给命令设置suid 1. 管理员不要去使用suid功能, 同时把无用的suid功能取消2. 应用软件PHP(/etc/php.ini配置)禁止开启读取系统文件等的函数3. 磁盘的挂载禁止suid
- 给关键文件加锁:
/etc/passwd``````/etc/group``````/etc/shadow``````/etc/gshadow``````/etc/sudoers
chmod 440 /etc/sudoers
- 看好/etc目录权限,防止文件被替换
- 文件权限统一
644
目录权限统一755
, 文件和目录对应的用户和组尽量都是root(不要设置成777) - web应用禁止上传特殊文件到系统目录 1. 判断扩展名2. 上传后进行动静分离
- ssh监听内网, 禁止root远程连接, 通过vpn拨号跳板机连接
- 防火墙把ssh访问权限限制到内网或者办公网IP段
标签:
linux
本文转载自: https://blog.csdn.net/m0_73293867/article/details/131995773
版权归原作者 七百~~~汪汪汪 所有, 如有侵权,请联系我们删除。
版权归原作者 七百~~~汪汪汪 所有, 如有侵权,请联系我们删除。