课堂笔记16

第12章Linux系统权限知识及应用实践
Linux基础权限是9个字符。
[root@wangyun ~]# ls -lhi
51546907 drwxr-xr-x 2 root root 6 Mar 13 10:18 data
34327360 drwxr-xr-x 2 root root 64 Mar 7 11:33 data1

rwxr-xr-x
rwxr-xr-x
分3组:
前三个字符是表示用户(属主)权限位 user(用户)u
中三个字符是表示用户组权限位 group (用户组)g
后三个字符是表示其它用户权限位 others(其它用户) o

同一组的三个字符权限也是有位置的:
rwx 第一个字符的位置读的是权限位
第二个字符的位置写的是权限位
第三个字符的位置是执行的是权限位

八进制表示

r 4
w 2
x 1
- 0
linux系统中的权限对于文件和目录来说,是有一定区别的,下面先列举下普通文件对应的权限知识。
1) 可读r:表示具有读取、浏览文件、(及读取文件实体block)的权限
2)可写w:表示具有新增、修改、删除文件内容的权限
3)可执行x:表示具有执行文件的权限

对于可执行x,需要注意以下3点。
1)首先文件的本身要能够执行(命令或脚本)
2)如果是普通用户,同时还需要具备可读r的权限才能执行文件
3)而root用户只要有可执行x的权限就能执行文件
Linux系统中的权限和文件有一些细微区别,下面是目录对应的权限重要指示。

[文件]权限详细说明:
测试准备:
incahome(家、组)
oldboy 家庭男主人,用来代表用户(User)角色,是文件的所有者
oldgirl 女主人(和所有者oldboy属于相同组,oldboy的家人)用来代表用户组incahome的角色
test 其他人 其他(others)人,用来代表其他用户角色
[root@oldboyedu ~]# groupadd incahome
[root@oldboyedu ~]# useradd oldboy
useradd: user 'oldboy' already exists
[root@oldboyedu ~]# usermod -g incahome oldboy
[root@oldboyedu ~]# id oldboy
uid=1000(oldboy) gid=1004(incahome) groups=1004(incahome),1000(oldboy)
如果此前没有创建oldboy,可以执行下面命令,而不需要usermod命令。
[root@oldboyedu ~]# useradd oldboy -g incahome

[root@oldboyedu ~]# useradd oldgirl -g incahome
useradd: user 'oldgirl' already exists
[root@oldboyedu ~]# id oldgirl
uid=1001(oldgirl) gid=1001(oldgirl) groups=1001(oldgirl)
[root@oldboyedu ~]# usermod -g incahome oldgirl
[root@oldboyedu ~]# id oldgirl
uid=1001(oldgirl) gid=1004(incahome) groups=1004(incahome)
[root@oldboyedu ~]# useradd test
useradd: user 'test' already exists
环境准备:
[root@oldboy ~]# mkdir -p /oldboy #<==在根下创建测试目录oldboy。
[root@oldboy ~]# echo "echo oldboyLinux" >/oldboy/test.sh #<==生成脚本文件test.sh,内容是打印oldboyLinux字符串。
[root@oldboy ~]# cat /oldboy/test.sh #<==查看脚本test.sh内容。
echo oldboyLinux
[root@oldboy ~]# chmod +x /oldboy/test.sh #<==加执行权限,chmod的使用可见本章后文。
[root@oldboy ~]# ls -l /oldboy/test.sh #<==查看授权后的权限属性。
-rwxr-xr-x. 1 root root 17 Apr 30 09:55 /oldboy/test.sh
1.测试默认情况下不同用户的对应权限
root@oldboyedu /oldboy]# chmod u=rw,g=rw,o=rx test.sh
[root@oldboyedu /oldboy]# ls -l
total 4
-rw-rw-r-x 1 root root 12 Oct 7 22:16 test.sh
[root@oldboyedu /oldboy]# chmod u-rw,u+x,g-w,g+x,o-r,o+w test.sh
[root@oldboyedu /oldboy]# ls -l
total 4
---xr-x-wx 1 root root 12 Oct 7 22:16 test.sh
[root@oldboyedu /oldboy]# chmod 153 test.sh
[root@oldboyedu /oldboy]# ls -l
total 4
---xr-x-wx 1 root root 12 Oct 7 22:16 test.sh
[root@oldboyedu /oldboy]# chmod a=x test.sh
[root@oldboyedu /oldboy]# ls -l
total 4
---x--x--x 1 root root 12 Oct 7 22:16 test.sh
root@oldboyedu /oldboy]# chown oldboy test.sh
[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
[root@oldboyedu /oldboy]# ls -l
total 4
---x--x--x 1 oldboy incahome 12 Oct 7 22:16 test.sh
[root@oldboyedu /oldboy]# chown root:root test.sh
[root@oldboyedu /oldboy]# ls -l
total 4
---x--x--x 1 root root 12 Oct 7 22:16 test.sh
权限修改:
777 +x -x u=w g-x

Linux权限有两种表示就是将每3位相加即可
rwxr-xr-x 755

rwx 7
r-x 5
r-x 5

2.字符表示法:

rw-rw-r-x 代表的数字权限为655
--xr-x-wx 代表的数字权限为153
-wx--x--x 代表的数字权限为311

而以下数字权限表示的字符权限如下:
755 代表的字符权限为 rwxr-xr-x
644 代表的字符权限为 rw-r--r--
134 代表的字符权限为 --x-wxr--

修改文件属性的用户和组
chown 用户. 用户组 文件 这里的点可以用:替换
chown 用户 文件
chown .用户组 文件
[root@oldboyedu /oldboy]# chown oldboy test.sh
[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
[root@oldboyedu /oldboy]# ls -l
total 4
---x--x--x 1 oldboy incahome 12 Oct 7 22:16 test.sh
[root@oldboyedu /oldboy]# chown root:root test.sh
[root@oldboyedu /oldboy]# ls -l
total 4
---x--x--x 1 root root 12 Oct 7 22:16 test.sh
[root@oldboyedu /oldboy]#
安全权限临界点:

文件不能被修改被执行: 644
目录不能被修改(删除移动创建)被执行(进入):755

企业真实案例:网站文件被恶意修改了。。。。打开网站后有弹窗广告(不是你网站的)
用户打开网站,报警。
原因:权限设置不到位。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:

你可能感兴趣的:(课堂笔记16)