day010-老男孩教育-81期-15k金牌班-Linux12位权限体系
李导996
编辑于 2023年12月27日 01:22
收录于文集
共18篇

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

 

cut-off

跟随视频学习效果更佳:

大纲

 

0.1 今日内容

  • 用户补充:跳板机/堡垒机

  • Linux权限体系概述

  • Linux权限体系rwx设置,计算

  • Linux权限体系文件和目录 与权限

  • Linux permission denied权限拒绝故障分析与解决

  • Linux 系统默认的权限

  • Linux  通过权限控制让网站安全

  • Linux  特殊权限

  • Linux  特殊属性

2. Linux权限体系

  • 目标:

    • 熟练掌握Linux权限设置与查看.

    • 解决permission denied权限拒绝问题

    • 扩展: 通过控制网站架构的安全.

2.1  Linux权限体系概述

  • Linux通过权限,用户控制人员访问.通过Linux权限控制让系统,网站安全.

2.2 Linux权限体系rwx设置,计算

1) Linux rwx权限

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

3)  Linux权限与计算

 

代码块
Shell
自动换行
复制代码
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-------
 
 #字母权限 <=====> 数字权限
复制成功

 

4) Linux权限设置,用户设置

  • change 修改

  • chown  change owner 修改所有者.

  • chmod  change mode  修改权限

chown修改所有者基本用法 chown   用户.用户组    文件/目录-R递归修改所有者.

代码块
Shell
自动换行
复制代码
 #案例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 通过数字修改权限

 

代码块
Shell
自动换行
复制代码
#案例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文件

代码块
Shell
自动换行
复制代码
 #案例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) 小结

  • 熟练掌握: 知晓任何文件所有者,用户组,其他人的权限.

  • 熟练掌握: 文件数字<====> 字母权限之间转换

  • 熟练掌握: 修改权限(数字 和字母)和所有者

2.3 Linux权限核心:文件/目录与rwx  🌟🌟🌟🌟🌟

  • 目标:  熟练掌握文件的rwx含义,目录的rwx含义,为了解决permission denied故障做铺垫.

  • 测试流程:

    • root进行修改权限与所有者.

    • oldboy用户进行测试.

1) 文件的rwx权限

文件的rwx含义r读,是否能查看文件内容(显示与查看)w写,是否能修改文件内容x执行, 是否能执行这个文件(命令,脚本)

代码块
Shell
自动换行
复制代码

 #环境准备:
 cd /oldboy
 cat  >lidao.sh<<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 "date +%T"  >>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 'pwd' >>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 'hostname' >>lidao.sh
 [oldboy@oldboy81-golden-lnb /oldboy]$ echo 'hostname' >>lidao.sh
 [oldboy@oldboy81-golden-lnb /oldboy]$ echo 'hostname' >>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 'hostname' >>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权限配合.

2) 目录的rwx权限

目录rwx含义r查看,查看目录内容.(站在门口看看屋里的内容)w修改,在目录中创建,删除,重命名文件的权限.x是否可以进入目录权限.

代码块
Shell
自动换行
复制代码

 
 #目录测试环境准备
 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用户能否删除这个目录???? 🌟 🌟 🌟 🌟 🌟 🌟

    • 目标:删除文件或目录,需要对谁拥有什么权限?

  

代码块
Shell
自动换行
复制代码
 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
复制成功

 

3) 文件和目录权限总结

 

2.4 Permission denied权限排查 🌟🌟🌟🌟🌟

  • 分析各种权限拒绝的原因.

1) 操作与权限

 

  • 日常操作需要哪些权限

  • 文件权限

  • 目录权限

 2) 具体分析案例及流程

  • 1️⃣ 遇到故障 permission denied权限拒绝

  • 2️⃣ 分析原因:下文件/目录权限导致

  • 3️⃣  详细分析: 缺少什么具体权限导致的.

 

代码块
Shell
自动换行
复制代码
#用普通用户测试
 ##案例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  '#oldboy' >>/etc/passwd
 [oldboy@oldboy81-golden-lnb /oldboy]$ echo  '#oldboy' >>/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位) 所以无法修改内容
 
复制成功

3. 今日总结

  • 熟练掌握: 知晓任何文件所有者,用户组,其他人的权限.   随便一个用户你能知晓当前用户对文件的权限.   🌟🌟🌟🌟🌟

  • 熟练掌握: 文件数字<====> 字母权限之间转换  🌟🌟

  • 熟练掌握: 修改权限(数字 和字母)和所有者

  • 文件目录的rwx权限. 🌟🌟🌟🌟🌟

  • 权限拒绝类故障排查: 🌟🌟

跟随视频学习效果更佳: