本文主要介绍Linux系统下的文件权限配置。通过阅读本文,您将了解文件权限,同时能够正确配置文件权限,避免盲目操作。之所以写这篇文章,也是因为自己在程序执行的过程中一直遇到这样的问题,所以最后把相关的知识整理出来,希望对大家有所帮助。一、ls-l命令的解释我们可以通过ls-l命令查看文件名以外的其他信息,比如文件类型、权限、所有者、文件大小等,这里可以看一张来自网络的图片。2.如何设置权限我们在了解了文件权限之后,就需要掌握如何配置权限了。这里主要讲解一下chmod和chown这两个命令。2.1chmodLinux/Unix文件调用权限分为文件所有者、组、其他三个级别。使用chmod控制文件如何被其他人调用。//-R表示级联更改chmod[-R]xyz文件名(这里的xyz表示数字)。比如下面三个操作是设置大家读、写、执行文件:chmod777filechmodu=rwx,g=rwx,o=rwxfilechmoda=rwxfile这里我们着重解释一下什么是数字格式777指的是。我们大多数人使用三位八进制数来表示权限。第一位指定所有者的权限,第二位指定组权限,第三位指定其他用户的权限。每个数字通过4(r-read)、2(w-write)、1(x-execute)以及三个值的和来决定权限。比如6(4+2)代表读写权限,7(4+2+1)代表读写权限和执行权限。根据以上数值,r=4,w=2,x=1;如果你想要rwx属性,那么4+2+1=7;如果你想要rw-属性,那么4+2=6;如果你想要r-x属性,那么4+1=5;777如果你想要rwxrwxrwx属性;755如果你想要rwxr-xr-x属性;2.2chown改变文件拥有者。chown[-cfhvR][--help][--version]user[:group]file...示例:将文件file1.txt的所有者设置为neo,组用户neogroup:chownrunoob:runoobgroupfile1。txt设置当前目录下所有文件和子目录的属主为neo,组用户neogroup:chown-Rneo:neogroup*3。umaskumask命令可以指定创建文件时的默认权限掩码。[权限掩码]由3个八进制数组成。权限掩码减去已有的访问权限后,就可以生成创建文件时的默认权限。一般默认值为022,最后新建的目录权限为755,文件权限为644。对于目录直接使用777-umask即可得到最终结果。对于文件,首先使用666-umask。如果对应的位是偶数:最终权限就是这个偶数。如果以上对应为奇数,则对应的位为+1。mask目录文件022755644027750640002775664006771660007770660直接在终端执行umask,只对本地登录有效。如果想永久修改,需要在配置文件中写入内容umask=022。配置文件可以在下一章找到。3.1对于交互式登录:优先级从高到低。/etc/bashrc~/.bashrc~/.bash_profile/etc/profile.d/*.sh`/etc/profile3.2对于非交互式登录:优先级从高到低。/etc/profile.d/*.sh/etc/bashrc~/.bashrc参考文档linux下umask的使用说明在UNIX/Linux下如何设置新建目录或文件的默认权限在执行命令ls-l中Linux中的文件各信息表示的含义图形文件或目录权限chmod,改变属主组chown
