第十二章Linux权限知识及应用实践
Linux 基础权限是九个字符
分三组:
前三个字符是表示用户(属主)权限位user (用户) (u)
中三个字符是表示用户组权限位gruop (用户组) (g)
后三个字符是其他其他用户权限位others (其他用户) (o)
第一个字符的位置权限读的权限位
第二个字符的位置写的权限位
第三个字符的位置是执行行的权限位
用户、用户组的创建:
创建用户主或者用户组的时候后面加上add
例如groupadd ***** ====创建名字位*****的用户组
useradd **** ====创建名字为****的用户主
怎么查看创建的用户主或用户组
例如id ***** =====查看
怎么创建属于用户组的子用户
例如:
usermod -g incahome oldgirl 把oldgirl更改为属于incahome
[root@oldboyedu ~]# groupadd incahome
[root@oldboyedu ~]# useradd oldboy
useradd: user 'oldboy' already exists
[root@oldboyedu ~]# usermod -g incahome oldboy 让oldboy属于incahome
[root@oldboyedu ~]# id oldboy
uid=1000(oldboy) gid=1004(incahome) groups=1004(incahome),1000(oldboy)
root@liutengda58~]# id oldgirl
uid=1000(oldgirl) gid=1000(oldgirl) groups=1000(oldgirl)
[root@liutengda58~]# usermod -g incahome oldgirl
[root@liutengda58~]# id oldgirl
uid=1000(oldgirl) gid=1004(incahome) groups=1004(incahome)
首先文件的本身要能够执行(命令或脚本)
如果是普通用户。同时还需具备可读r的权限才能执行文件
而root用户
usermod(修改用户主,组)
目录权限
1可读r: 表示具有浏览目录下面文件及子目录名的权限
2可写w表示具有增加、删除或修改目录内文件的权限
3可执行x:标识具有进入目录的权限
权限修改:
chmod(+ -)增减权限
chmod u-r, o=w,g=x
Linux权限有两种表现形式
1、数字表示法
r 4 w 2 x 1 - 0
实际的权限表示的就是将每三位相加即可
rwxr-xr-x 755
rwx r-x r-x
7 5 5
2、字符表示法
rw-rw-r-x 代表的数字权限为665
--xr-x-wx 代表的数字权限为153
-wx--x--x 代表的数字权限为311
而以下数字权限表示的字符权限如下:
755 代表的字符权限为rwxr-xr-x
644 代表的字符权限为rw-r--r--
134 代表的字符权限为--x-wxr--
修改文件属性的用户和组
chown 用户.用户组 文件 这里的点可以用冒号:替换。
chown 用户 文件
chown .用户组 文件
安全权限临界点:
文件不想被修改的话:644
# touch oldboy.txt ===创建一个文件
# ls -l ===查看权限
total 4
-rw-r--r-- 1 root root 0 Oct 7 23:21 oldboy.txt
6 4 4
目录不想被修改(删除移动或者创建)、被执行(被执行):755
企业案例:网站文件被恶意修改(打开网站后有弹窗广告)
用户打开网站,网站会报警
原因:权限设置不到位chomd -R 777 (文件权限设置过大,容易被篡改)
解决方案:
1、先打包备份
tar zcvf /opt/oldboy_$(date +%F).tar.gz ./oldboy/
2、找到被修改的文件:
find /oldboy -type f |xargs grep ‘关键字或字符串’
3、 批量替换(删除):
find /oldboy -type f |xargs sed -i '/关键字或字符串/d'
find /oldboy -type f |xargs grep '关键字或字符串'
4、找到文件被篡改的来源,并优化调整
5、写总结 故障报告
控制默认权限的东西umask
[root@liutengda58~]# umask
0022
创建文件默认最大的权限位666(-rw-rw-rw),其默认创建的二年间没有可执行权限x位
# umask 044 ====临时更改
# touch abc ====创建文件abc
# ls -l abc ======查看abc
-rw--w--w- 1 root root 0 Oct 7 23:42 abc
基于文件:
从666计算
umask 都为偶数,默认使用减法
umask 都有奇数 默认权限用减法 然后奇数位加1
基于目录:默认权限规则
从777计算
当umask中存在奇数位的时候,在计算完毕,奇数位加1
Linux系统特殊权限位知识
9位基础权限
还有三位特殊权限位
suid 位
suid (setuid)通过S字符标识
存在于基本权限的用户权限为的x权限对应的位置;
如果用户权限位对应的x权限位上有x
权限,则suid就用小写的s标识
2 sgid位
3 sticky (粘滞位)
怎么给文件更改为suid权限
chomd u+s /bin/rm 我们给 rm增加了一个所有人都可对其操作的权限
chomd==修改文件权限 u+s ==把user权限修改为-rws r-x r-x。
chown cheange owner 改变文件用户和组(在思考目录的属性修改)
修改文件属性的用户和组
chown 用户.用户组 文件 这里的点可以用:替换。
chown 用户 文件
chown .用户组 文件 ====chgrp 用户组 文件
示例:
[root@oldboyedu /oldboy]# chown oldboy test.sh ==>>把文件用户主归属改成oldboy
[root@oldboyedu /oldboy]# ls -l
total 4
---x--x--x 1 oldboy root 12 Oct 7 22:16 test.sh
[root@oldboyedu /oldboy]# chown .incahome test.sh ===>>把文件用户组主归属改成incahome(加.)
[root@oldboyedu /oldboy]# ls -l
total 4
---x--x--x 1 oldboy incahome 12 Oct 7 22:16 test.sh
Suid是属主权限设定
Guid讲述的是
粘滞位:后三位权限字符中有t就是粘滞位权限
本章重点
Linux基本九尾权限之文件和目录权限