
# day010-老男孩教育-81期-15k金牌班-Linux12位权限体系

跟随视频学习效果更佳:


大纲
用户补充:跳板机/堡垒机
Linux权限体系概述
Linux权限体系rwx设置,计算
Linux权限体系文件和目录 与权限
Linux permission denied权限拒绝故障分析与解决
Linux 系统默认的权限
Linux 通过权限控制让网站安全
Linux 特殊权限
Linux 特殊属性
目标:
熟练掌握Linux权限设置与查看.
解决permission denied权限拒绝问题
扩展: 通过控制网站架构的安全.
Linux通过权限,用户控制人员访问.通过Linux权限控制让系统,网站安全.
2) Linux 权限与用户
高清无码传送门
[root@oldboy81-golden-lnb ~]# ll -d /bin/ /etc/hosts /etc/passwd /etc/shadow /bin/ls dr-xr-xr-x. 2 root root 28672 Mar 4 10:51 /bin/ -rwxr-xr-x. 1 root root 117608 Aug 20 2019 /bin/ls -rw-r--r--. 1 root root 184 Mar 2 10:01 /etc/hosts -rw-r--r--. 1 root root 1463 Apr 1 02:31 /etc/passwd ----------. 1 root root 1013 Apr 1 02:31 /etc/shadow
rwx
---
权限的字符含义与说明权限对应的数字rread 读,是否可以读取内容?4wwrite 写, 是否可以修改内容?2xexecutable执行, 是否可以执行内容? 一般执行命令,脚本(shell脚本).1-没有权限0
#根据字母权限---->数字权限
dr-xr-xr-x. /bin/
401401401
5 5 5 /bin/
-rwxr-xr-x. /bin/ls
421401401
7 5 5
-rw-r--r--. /etc/hosts
6 4 4
-rw-r--r--. /etc/passwd
6 4 4
----------. /etc/shadow
0 0 0
#sSt 跳过
#根据数字---->字母权限
644 rw-r--r--
755 rwxr-xr-x
400 r--------
600 rw-------
#字母权限 <=====> 数字权限
change 修改
chown change owner 修改所有者.
chmod change mode 修改权限
chown修改所有者基本用法 chown 用户.用户组 文件/目录-R递归修改所有者.
#案例01 把/oldboy/oldboy.txt所有者和用户组改为 oldboy oldboy
chown 用户 文件/目录
chown 用户.用户组 文件/目录
chown oldboy.oldboy /oldboy/oldboy.txt
chown root /oldboy/oldboy.txt
[root@oldboy81-golden-lnb ~]# ll /oldboy/oldboy.txt
-rw-r--r--. 2 root root 3893 Mar 4 11:58 /oldboy/oldboy.txt
[root@oldboy81-golden-lnb ~]# id oldboy
uid=1002(oldboy) gid=1002(oldboy) groups=1002(oldboy)
[root@oldboy81-golden-lnb ~]# chown oldboy.oldboy /oldboy/oldboy.txt
[root@oldboy81-golden-lnb ~]# ll /oldboy/oldboy.txt
-rw-r--r--. 2 oldboy oldboy 3893 Mar 4 11:58 /oldboy/oldboy.txt
[root@oldboy81-golden-lnb ~]#
[root@oldboy81-golden-lnb ~]#
[root@oldboy81-golden-lnb ~]# chown root /oldboy/oldboy.txt
[root@oldboy81-golden-lnb ~]# ll /oldboy/oldboy.txt
-rw-r--r--. 2 root oldboy 3893 Mar 4 11:58 /oldboy/oldboy.txt
[root@oldboy81-golden-lnb ~]# chown oldboy.oldboy /oldboy/oldboy.txt
[root@oldboy81-golden-lnb ~]#
[root@oldboy81-golden-lnb ~]# ll /oldboy/oldboy.txt
-rw-r--r--. 2 oldboy oldboy 3893 Mar 4 11:58 /oldboy/oldboy.txt
[root@oldboy81-golden-lnb ~]# chown .root /oldboy/oldboy.txt
[root@oldboy81-golden-lnb ~]# ll /oldboy/oldboy.txt
-rw-r--r--. 2 oldboy root 3893 Mar 4 11:58 /oldboy/oldboy.txt
#案例02 递归修改目录所有者
chown -R oldboy.oldboy /oldboy
chmod 修改权限
chmodchmod 权限 文件/目录-R递归修改权限
chmod 通过数字修改权限
#案例01 根据数字修改权限 把lidao.txt 权限修改为777
[root@oldboy81-golden-lnb ~]# cd /oldboy
[root@oldboy81-golden-lnb /oldboy]# ll lidao.txt
-rw-r--r--. 2 root root 7 Mar 30 05:28 lidao.txt
[root@oldboy81-golden-lnb /oldboy]# chmod 777 lidao.txt
[root@oldboy81-golden-lnb /oldboy]# ll lidao.txt
-rwxrwxrwx. 2 root root 7 Mar 30 05:28 lidao.txt
chmod通过字符修改权限
#所有者权限 用户组权限 其他人权限 user group other u g o
chmod命令ugo+或-或=r或w或x文件
#案例02 给oldboy.txt所有者上增加x权限
[root@oldboy81-golden-lnb /oldboy]# ll oldboy.txt
-rw-r--r--. 2 root root 3893 Mar 4 11:58 oldboy.txt
[root@oldboy81-golden-lnb /oldboy]# chmod u+x oldboy.txt #增加权限
[root@oldboy81-golden-lnb /oldboy]# ll oldboy.txt
-rwxr--r--. 2 root root 3893 Mar 4 11:58 oldboy.txt
[root@oldboy81-golden-lnb /oldboy]#
[root@oldboy81-golden-lnb /oldboy]#
[root@oldboy81-golden-lnb /oldboy]# chmod u=x oldboy.txt
[root@oldboy81-golden-lnb /oldboy]# ll oldboy.txt
---xr--r--. 2 root root 3893 Mar 4 11:58 oldboy.txt
#案例03 企业级应用案例给文件/etc/rc.d/rc.local增加x权限. ※※※※※
chmod +x /etc/rc.d/rc.local
chmod ugo+x /etc/rc.d/rc.local
chmod a+x /etc/rc.d/rc.local 5) 小结
熟练掌握: 知晓任何文件所有者,用户组,其他人的权限.
熟练掌握: 文件数字<====> 字母权限之间转换
熟练掌握: 修改权限(数字 和字母)和所有者
目标: 熟练掌握文件的rwx含义,目录的rwx含义,为了解决permission denied故障做铺垫.
测试流程:
root进行修改权限与所有者.
oldboy用户进行测试.
文件的rwx含义r读,是否能查看文件内容(显示与查看)w写,是否能修改文件内容x执行, 是否能执行这个文件(命令,脚本)
#环境准备:
cd /oldboy
cat &gt;lidao.sh&lt;&lt;EOF
pwd
whoami
hostname
EOF
chown oldboy.oldboy lidao.sh
#oldboy用户进行初步测试
[oldboy@oldboy81-golden-lnb /oldboy]$ cat lidao.sh
pwd
whoami
hostname
[oldboy@oldboy81-golden-lnb /oldboy]$ echo &quot;date +%T&quot; &gt;&gt;lidao.sh
[oldboy@oldboy81-golden-lnb /oldboy]$ cat lidao.sh
pwd
whoami
hostname
date +%T
[oldboy@oldboy81-golden-lnb /oldboy]$ /oldboy/lidao.sh
-bash: /oldboy/lidao.sh: Permission denied
[oldboy@oldboy81-golden-lnb /oldboy]$ ./lidao.sh
-bash: ./lidao.sh: Permission denied
###测试文件的r权限
#root用户
[root@oldboy81-golden-lnb /oldboy]# chmod u=r lidao.sh
#oldboy用户
[oldboy@oldboy81-golden-lnb /oldboy]$ ll lidao.sh
-r--r--r--. 1 oldboy oldboy 29 Apr 1 04:56 lidao.sh
[oldboy@oldboy81-golden-lnb /oldboy]$ ll lidao.sh
-r--r--r--. 1 oldboy oldboy 29 Apr 1 04:56 lidao.sh
[oldboy@oldboy81-golden-lnb /oldboy]$ cat lidao.sh
pwd
whoami
hostname
date +%T
[oldboy@oldboy81-golden-lnb /oldboy]$ echo &#39;pwd&#39; &gt;&gt;lidao.sh
-bash: lidao.sh: Permission denied
[oldboy@oldboy81-golden-lnb /oldboy]$ ./lidao.sh
-bash: ./lidao.sh: Permission denied
#小结:
只有r权限,对于文件来说只能查看文件内容.
无法修改与执行.
###测试文件的w权限
#root用户
chmod u=w lidao.sh
#oldboy用户
[oldboy@oldboy81-golden-lnb /oldboy]$ ll lidao.sh
--w-r--r--. 1 oldboy oldboy 29 Apr 1 04:56 lidao.sh
[oldboy@oldboy81-golden-lnb /oldboy]$ cat lidao.sh
cat: lidao.sh: Permission denied
[oldboy@oldboy81-golden-lnb /oldboy]$ echo &#39;hostname&#39; &gt;&gt;lidao.sh
[oldboy@oldboy81-golden-lnb /oldboy]$ echo &#39;hostname&#39; &gt;&gt;lidao.sh
[oldboy@oldboy81-golden-lnb /oldboy]$ echo &#39;hostname&#39; &gt;&gt;lidao.sh
[oldboy@oldboy81-golden-lnb /oldboy]$
[oldboy@oldboy81-golden-lnb /oldboy]$ ./lidao.sh
-bash: ./lidao.sh: Permission denied
#小结:
只有w权限,对于文件来说只能写入内容,但是无法查看.需要r配合.
无法执行.
特殊情况:如果通过vi/vim,强制修改文件,强制保存退出,导致源文件内容丢失.
###测试文件的x权限
#root用户
chmod u=x lidao.sh
#oldboy用户
[oldboy@oldboy81-golden-lnb /oldboy]$ ll lidao.sh
--w-r--r--. 1 oldboy oldboy 29 Apr 1 04:56 lidao.sh
[oldboy@oldboy81-golden-lnb /oldboy]$ ll lidao.sh
---xr--r--. 1 oldboy oldboy 24 Apr 1 05:04 lidao.sh
[oldboy@oldboy81-golden-lnb /oldboy]$ cat lidao.sh
cat: lidao.sh: Permission denied
[oldboy@oldboy81-golden-lnb /oldboy]$ echo &#39;hostname&#39; &gt;&gt;lidao.sh
-bash: lidao.sh: Permission denied
[oldboy@oldboy81-golden-lnb /oldboy]$ ./lidao.sh
bash: ./lidao.sh: Permission denied
#小结:
只有x权限,无法执行脚本,需要r权限配合.
#文件有rx后可以执行
[oldboy@oldboy81-golden-lnb /oldboy]$ ll lidao.sh
-r-xr--r--. 1 oldboy oldboy 24 Apr 1 05:04 lidao.sh
[oldboy@oldboy81-golden-lnb /oldboy]$ cat lidao.sh
echo 这是一个脚本
[oldboy@oldboy81-golden-lnb /oldboy]$ ./lidao.sh
这是一个脚本
[oldboy@oldboy81-golden-lnb /oldboy]$ /oldboy/lidao.sh
这是一个脚本
文件权限小结
文件的rwx含义r读,是否能查看文件内容(显示与查看)w写,是否能修改文件内容,需要r权限配合.x执行, 是否能执行这个文件(命令,脚本),需要r权限配合.
目录rwx含义r查看,查看目录内容.(站在门口看看屋里的内容)w修改,在目录中创建,删除,重命名文件的权限.x是否可以进入目录权限.
#目录测试环境准备
mkdir -p /oldboy/oldboydir/
touch /oldboy/oldboydir/lidao{01..10}.txt
chown -R oldboy.oldboy /oldboy/oldboydir
[oldboy@oldboy81-golden-lnb /oldboy]$
[oldboy@oldboy81-golden-lnb /oldboy]$ ll -d oldboydir/
drwxr-xr-x. 2 oldboy oldboy 196 Apr 1 05:20 oldboydir/
[oldboy@oldboy81-golden-lnb /oldboy]$ ll oldboydir/
total 0
-rw-r--r--. 1 oldboy oldboy 0 Apr 1 05:20 lidao01.txt
-rw-r--r--. 1 oldboy oldboy 0 Apr 1 05:20 lidao02.txt
-rw-r--r--. 1 oldboy oldboy 0 Apr 1 05:20 lidao03.txt
-rw-r--r--. 1 oldboy oldboy 0 Apr 1 05:20 lidao04.txt
-rw-r--r--. 1 oldboy oldboy 0 Apr 1 05:20 lidao05.txt
-rw-r--r--. 1 oldboy oldboy 0 Apr 1 05:20 lidao06.txt
-rw-r--r--. 1 oldboy oldboy 0 Apr 1 05:20 lidao07.txt
-rw-r--r--. 1 oldboy oldboy 0 Apr 1 05:20 lidao08.txt
-rw-r--r--. 1 oldboy oldboy 0 Apr 1 05:20 lidao09.txt
-rw-r--r--. 1 oldboy oldboy 0 Apr 1 05:20 lidao10.txt
##测试目录的r权限
###root修改
chmod u=r oldboydir/
###oldboy进行测试
[oldboy@oldboy81-golden-lnb /oldboy]$ ll -d oldboydir/
dr--r-xr-x. 2 oldboy oldboy 196 Apr 1 05:20 oldboydir/
[oldboy@oldboy81-golden-lnb /oldboy]$ ls oldboydir/
ls: cannot access oldboydir/lidao01.txt: Permission denied
ls: cannot access oldboydir/lidao02.txt: Permission denied
ls: cannot access oldboydir/lidao03.txt: Permission denied
ls: cannot access oldboydir/lidao04.txt: Permission denied
ls: cannot access oldboydir/lidao05.txt: Permission denied
ls: cannot access oldboydir/lidao06.txt: Permission denied
ls: cannot access oldboydir/lidao07.txt: Permission denied
ls: cannot access oldboydir/lidao08.txt: Permission denied
ls: cannot access oldboydir/lidao09.txt: Permission denied
ls: cannot access oldboydir/lidao10.txt: Permission denied
lidao01.txt lidao03.txt lidao05.txt lidao07.txt lidao09.txt
lidao02.txt lidao04.txt lidao06.txt lidao08.txt lidao10.txt
[oldboy@oldboy81-golden-lnb /oldboy]$
[oldboy@oldboy81-golden-lnb /oldboy]$ ll oldboydir/
ls: cannot access oldboydir/lidao01.txt: Permission denied
ls: cannot access oldboydir/lidao02.txt: Permission denied
ls: cannot access oldboydir/lidao03.txt: Permission denied
ls: cannot access oldboydir/lidao04.txt: Permission denied
ls: cannot access oldboydir/lidao05.txt: Permission denied
ls: cannot access oldboydir/lidao06.txt: Permission denied
ls: cannot access oldboydir/lidao07.txt: Permission denied
ls: cannot access oldboydir/lidao08.txt: Permission denied
ls: cannot access oldboydir/lidao09.txt: Permission denied
ls: cannot access oldboydir/lidao10.txt: Permission denied
total 0
-????????? ? ? ? ? ? lidao01.txt
-????????? ? ? ? ? ? lidao02.txt
-????????? ? ? ? ? ? lidao03.txt
-????????? ? ? ? ? ? lidao04.txt
-????????? ? ? ? ? ? lidao05.txt
-????????? ? ? ? ? ? lidao06.txt
-????????? ? ? ? ? ? lidao07.txt
-????????? ? ? ? ? ? lidao08.txt
-????????? ? ? ? ? ? lidao09.txt
-????????? ? ? ? ? ? lidao10.txt
#目录的r小结
目录只有r权限,无法查看详细信息.只能看的文件名.需要x权限的配置.
目录的x权限,进入目录的权限,能否访问或修改属性信息的权限.
##测试目录的w权限
###root修改
chmod u=w oldboydir/
###oldboy进行测试
[oldboy@oldboy81-golden-lnb /oldboy]$ ll -d oldboydir/
d-w-r-xr-x. 2 oldboy oldboy 196 Apr 1 05:20 oldboydir/
[oldboy@oldboy81-golden-lnb /oldboy]$ touch oldboydir/lidao007.txt
touch: cannot touch ‘oldboydir/lidao007.txt’: Permission denied
[oldboy@oldboy81-golden-lnb /oldboy]$ ll -d oldboydir/
[oldboy@oldboy81-golden-lnb /oldboy]$ ll -d oldboydir/
drw-r-xr-x. 2 oldboy oldboy 196 Apr 1 05:20 oldboydir/
[oldboy@oldboy81-golden-lnb /oldboy]$ touch oldboydir/lidao007.txt
touch: cannot touch ‘oldboydir/lidao007.txt’: Permission denied
[oldboy@oldboy81-golden-lnb /oldboy]$ touch oldboydir/lidao007.txt
[oldboy@oldboy81-golden-lnb /oldboy]$ touch oldboydir/lidao{a..e}.txt
[oldboy@oldboy81-golden-lnb /oldboy]$ ll oldboydir/
[oldboy@oldboy81-golden-lnb /oldboy]$ ll -d oldboydir/
d-wxr-xr-x. 2 oldboy oldboy 4096 Apr 1 05:28 oldboydir/
[oldboy@oldboy81-golden-lnb /oldboy]$ touch oldboydir/lidao{a..e}.txt
[oldboy@oldboy81-golden-lnb /oldboy]$ ll oldboydir/
ls: cannot open directory oldboydir/: Permission denied
###目录的w权限小结
目录只有w权限,无法操作,需要x权限配合 (严格意义需要rx权限配合) rwx r-x
目录的w权限案例: oldboydir 所有者是oldboy 权限是777,问oldboy用户能否删除这个目录???? 🌟 🌟 🌟 🌟 🌟 🌟
目标:删除文件或目录,需要对谁拥有什么权限?
chmod 777 oldboydir/
[oldboy@oldboy81-golden-lnb /oldboy]$ ll -d oldboydir/
drwxrwxrwx. 2 oldboy oldboy 4096 Apr 1 05:28 oldboydir/
[oldboy@oldboy81-golden-lnb /oldboy]$ \rm -fr oldboydir/
rm: cannot remove ‘oldboydir/’: Permission denied
#删除文件或目录要对文件或目录所在目录拥有w(rwx)权限.
#演示修改/oldboy目录的所有者 ,改为oldboy,检查删除情况
[root@oldboy81-golden-lnb /oldboy]# chown oldboy /oldboy
[root@oldboy81-golden-lnb /oldboy]# ll -d /oldboy
drwxr-xr-x. 8 oldboy root 4096 Apr 1 05:20 /oldboy
分析各种权限拒绝的原因.
日常操作需要哪些权限
文件权限
目录权限
2) 具体分析案例及流程
1️⃣ 遇到故障 permission denied权限拒绝
2️⃣ 分析原因:下文件/目录权限导致
3️⃣ 详细分析: 缺少什么具体权限导致的.
#用普通用户测试
##案例01 ls -l /root
###与什么权限有关:文件/目录
###与目录缺少什么权限?? rx
###检查下是否缺少rx
[oldboy@oldboy81-golden-lnb /oldboy]$ ll /root/
ls: cannot open directory /root/: Permission denied
[oldboy@oldboy81-golden-lnb /oldboy]$ ll -d /root/
dr-xr-x---. 4 root root 234 Apr 1 04:52 /root/
[oldboy@oldboy81-golden-lnb /oldboy]$
###通过检查发现oldboy用户对 /root 没有权限 (最后3位权限)
##案例02 echo &#39;#oldboy&#39; &gt;&gt;/etc/passwd
[oldboy@oldboy81-golden-lnb /oldboy]$ echo &#39;#oldboy&#39; &gt;&gt;/etc/passwd
-bash: /etc/passwd: Permission denied
#拥有rw权限就可以修改文件内容
[oldboy@oldboy81-golden-lnb /oldboy]$
[oldboy@oldboy81-golden-lnb /oldboy]$ ll /etc/passwd
-rw-r--r--. 1 root root 1463 Apr 1 02:31 /etc/passwd
#oldboy 对 /etc/passwd 只拥有r权限(最3位) 所以无法修改内容
熟练掌握: 知晓任何文件所有者,用户组,其他人的权限. 随便一个用户你能知晓当前用户对文件的权限. 🌟🌟🌟🌟🌟
熟练掌握: 文件数字<====> 字母权限之间转换 🌟🌟
熟练掌握: 修改权限(数字 和字母)和所有者
文件目录的rwx权限. 🌟🌟🌟🌟🌟
权限拒绝类故障排查: 🌟🌟
跟随视频学习效果更佳:
