一、认识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
郑重声明:本文仅为学习分享,请勿用于非法用途,否则后果自负,与作者本人无关