linux系统权限管理

一、认识linux系统的文件权限

首先随便在一个目录下使用ls -l(可简写为ll)指令,就会把该目录下所有的文件和目录的权限显示出来,例如,在根目录下使用ls -l:

(深蓝字:目录,白字:文件,浅蓝字:符号链接,绿字:可执行文件,红字:压缩包)

第一列中:

  • d:目录
  • ---:常规文件
  • l:符号链接,即表示该文件是一个符号链接,它本身只是指向另一个文件或目录,符号链接是一个特殊类型的文件,存储了被指向对象的路径

第二、三、四列分别表示文件所有者用户(即创建该文件的用户)、在文件所有者所在组的其他用户、不在文件所有者所在组的其他用户的权限

  • r: read 读权限
  • w: write 写权限
  • x: execute 执行权限
  • ---: 不具有该权限(对于每个文件,用户权限的排列顺序都是r w x,如果三个位置中某一位置为"---"说明该处没有相应的这个权限)

综上所述,文件权限基本可以概括为下图:

二、权限的更改

  • chown [新用户名]:[新用户组] [文件名] :修改相应文件所有者(需管理员权限)。例如将一个名为"hello.sh"的shell脚本文件所有者从root修改为kali:

  • chmod:修改文件权限

    方法一:数字表示权限

    如图所示,r w x分别用二进制数字表示,然后再转换成10进制,因此r=4,w=2,x=1

    如果用该方法给hello.sh文件更改权限,所有者有rwx权限,和所有者同组的用户拥有rx权限,其他用户只有r权限,那么命令为:chmod 754 hello.sh,其中7=r+w+x=4+2+1,5=r+0+x=4+0+1,4=r+0+0=4+0+0

    方法二:

    文件所有者用户的简写为u,同组用户简写为g,其他用户简写为o,还是让所有者有rwx权限,和所有者同组的用户拥有rx权限,其他用户只有r权限,那么命令为:chmod u=rwx,g=r+x,o=r hello.sh

郑重声明:本文仅为学习分享,请勿用于非法用途,否则后果自负,与作者本人无关