Day16课堂笔记

                           Linux系统权限知识及应用实践

1、Linux基础权限,是9个字符
17372815 drwxr-xr-x. 3 root root 18 Mar 18 23:20 app

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

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

权限数字的表示:
r 4
w 2
x 1

  • 0
    

对于可读r,这里有两点需要说明:
1.如果没有可读r配合,那么使用vim编辑文件会提示无法编辑(但可强制编辑),可以使用echo等命令进行重定向或追加;
2.删除文件或创建文件的权限是手父目录(上一级目录)的权限控制的(因为文件名没有存放在inode里,而是在上级目录的block里存放着的,若修改实际目录block(删除文件本质),当然会 受上级目录的inode的权限控制,和文件本身的权限无关,因此,文件本身的可写W权限,和文件是否能被删除和改名无关。

对于可执行X,需要注意一下3点:
1.首先文件本身能够执行(命令或脚本)
2.如果是普通用户,同时还需要具备可读r的权限才能执行文件
3.而root只要有可执行X的权限就能执行文件

环境准备:
[root@lixin ~]# groupadd incahome
[root@lixin ~]# useradd oldboy
[root@lixin ~]# id oldboy
uid=1002(oldboy) gid=1004(oldboy) groups=1004(oldboy)
[root@lixin ~]# usermod -g incahome oldboy
[root@lixin ~]# id oldboy
uid=1002(oldboy) gid=1003(incahome) groups=1003(incahome)
[root@lixin ~]# id oldgirl
uid=1000(oldgirl) gid=1000(oldgirl) groups=1000(oldgirl)
[root@lixin ~]# usermod -g incahome

[root@lixin ~]# usermod -g incahome oldgirl
[root@lixin ~]# id oldgirl
uid=1000(oldgirl) gid=1003(incahome) groups=1003(incahome)
[root@lixin ~]# id test
uid=1001(test) gid=1001(test) groups=1001(test)

1.测试默认情况下不同用户的对应权限
[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

[root@oldboyedu /oldboy]# chmod o+w test.sh
[root@oldboyedu /oldboy]# ls -l
total 4
-rwxr-xrwx 1 root root 22 Oct 7 21:07 test.sh
[root@oldboyedu /oldboy]# cd ../
[root@oldboyedu /]# ls -ld oldboy/
drwxr-xr-x. 2 root root 21 Oct 7 21:07 oldboy/
[root@oldboyedu /]# chmod o+w oldboy/
[root@oldboyedu /]# ls -ld oldboy/
drwxr-xrwx. 2 root root 21 Oct 7 21:07 oldboy/

二、目录对应 读、写、执行的权限
目录 可读 r:
表示具有浏览目录下面文件及子目录名的权限
可写W:表示具有增加、删除或修改目录内文件的权限
但是必须有X的配合,
可执行X:表示具有进入目录的权限

三、Linux权限修改有两种表现形式”
1.数字表示法 八进制表示
r 4
w 2
x 1

  •         0
    

实际的权限表示就是将每3位相加
rwxr-xr-x 755
7 5 5

2.字符表示法
用户类型
U 用户(user)”,即文件或目录的所有者。
g “同组(group)用户”,即与文件属主有相同组ID的所有用户
o “其他(others)用户”
a 所有(all)用户”。它是系统默认值。
数字权限表示的字符权限如下:
755 代表的字符权限为rwxr-xr-x
644 代表的字符权限为rw-r--r--
134 代表的字符权限为--x-wxr--

修改文件属性的用户和用户组
语法
chown 用户.用户组 文件 这里的.点可以用:替换
chown 用户 文件
chown .用户组 文件 ==chgrp 用户组 文件

三、文件安全核心知识:
安全权限临界点:
文件不能想被修改被执行:644
目录不想被修改被执行(删除移动创建)被执行(进入):755

博客:写博客---服务器的博客目录和权限达到以上标准 防止被恶意修改 篡改

企业真实案例:网站文件被恶意修改————打开网站后有弹窗广告(不是自己网站广告)
用户打开网站。报警 提示
原因:权限设置不到位。

解决方案:
1、先备份,
tar zcvf /opt/oldboy_$(date +%F).tar.gz ./oldboy/

2、找到修改的文件
[root@oldboyedu /]# find /oldboy -type f |xargs grep 'ddddddddddddd'
/oldboy/oldboy.txt:

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