1、Linux基础权限是9个字符。
33631870 -rw-r--r--. 1 root root 21 Oct 6 22:54 a.txt
分3组:
前三个字符是表示用户(属主)权限位 user(用户) u
中三个字符是表示用户组权限位 group(用户组) g
后三个字符是其它用户权限位 others(其他用户) o
同一组的三个字符权限也是有位置的
第一个字符(r)的位置读的权限位 r 4
第二个字符(w)的位置写的权限位 w 2
第三个字符(x)的位置是执行的权限位。 x 1
- 0
============================================================================
groupadd incahome 创建一个用户组(incahome)
useradd oldboy 创建一个用户 (oldboy)
usermod -g incahome oldboy 将用户(oldboy)添加到incahome用户组
id oldboy 查看用户信息
useradd oldboy -g incahome 创建一个用户(oldboy)指定用户组(incahome)
=============================================================================
2、Linux权限有两种表现形式:
数字表示法 称为8进制权限
r 4
w 2
x 1
- 0
rw-rw-r-x 代表的数字权限为665
--xr-x-wx 代表的数字权限为153
-wx--x--x 代表的数字权限为311
而以下数字权限表示的字符权限如下:
755 代表的字符权限为rwxr-xr-x
644 代表的字符权限为rw-r--r--
134 代表的字符权限为--x-wxr--
实际的权限表示就是将每3位相加即可。
rwxr-xr-x 755
rwx 7
r-x 5
r-x 5
=============================================================================
3、修改文件属性的用户和组
chown 用户.用户组 文件 这里的点可以用:替换。
chown 用户 文件
chown .用户组 文件 ====chgrp 用户组 文件
安全权限临界点:
文件不想被修改被执行:644
====================================================================================
4、博客:写博客。。。服务器的博客目录和文件的权限,防止被恶意篡改。
企业真实案例:网站文件被恶意修改了。。。。打开网站后有弹窗广告(不是你网站的)
用户打开网站,报警。
原因:权限设置有漏洞,chmod -R 777 目录 开发人员习惯
解决方案:
1、备份
tar zcvf /opt/oldboy_$(date +%F).tar.gz ./oldboy/
2、找到被修改的文件
[root@oldboyedu /]# find /oldboy -type f |xargs grep 'ddddddddddddd'
/oldboy/oldboy.txt:
/oldboy/test.sh:
3、批量删除
[root@oldboyedu /]# find /oldboy -type f |xargs sed -i '/ddddddddddddd/d'
[root@oldboyedu /]# find /oldboy -type f |xargs grep 'ddddddddddddd'
4、找到文件被篡改来源,并优化调整。
5、写总结 故障报告。
====================================================================================
5、控制默认权限的东西 umask
创建文件默认最大的权限为666 (-rw-rw-rw-),其默认创建的文件没有可执行权限x位。
umask 044 临时更改
当umask中存在奇数位的时候,在计算完毕,奇数位加1
基于文件:默认权限规则 了解
从666计算
umask都为偶数 默认权限用减法
umask有奇数 默认权限用减法 然后奇数位加1
=====================================================================================
6、特殊权限位
suid位:
suid(setuid)位通过S字符标识,
存在于基本权限的用户权限位的x权限对应的位置,
如果用户权限位对应的x权限位上有x权限,则suid就用小写的s标识,
suid的s对应的数字权限为4,完整权限用八进制数4000表示。
sgid位:
sgid(setgid)位同样是通过S字符来标识,
但是,sgid位存在于基本权限的用户组权限位的x权限对应的位置,
如果用户组权限位对应的x权限位上有x权限,则sgid就用小写的s标识,
suid的s对应的数字权限为2,完整的权限用八进制数2000表示。
sticky(粘滞位)知识简介
sticky(粘滞)位通过字符T标识,存在于基本权限的其他用户位对应的x权限位上,
如果其他用户位的x权限位上有x权限,
则sticky(粘滞)位通过小写的t标识,对应的数字权限是1,
完整的权限用八进制数1000表示。
修改方法:
chmod 7755 1.txt
-rwsr-sr-t 1 root root 0 Oct 7 23:42 1.txt
===================================================================================
7、suidd用处
简单地说,suid的作用就是让普通用户可以在执行某个设置了suid位的命令或程序时,
拥有和root管理员一样的身份和权限(默认情况)。