本文共 2182 字,大约阅读时间需要 7 分钟。
linux文件权限是一个比较繁杂的内容,建议在阅读中文资料的基础上参考英文wiki与鸟叔的网站关于权限方面的内容,下面是在学习中参阅的一些文章:
英文:
)鸟哥的linux站点:一、linux文件的权限
查看目标权限的命令”ls -l+文件名“或”stat -c %a%A“(一)文件权限字含义文件:文件的基本权限是读,写,执行权限:读 R:分配对文件的内容进行读取和查看文件的权限。写 W:分配对文件的内容进行修改或者删除的权限。执行 X:允许用户将该文件作为一个程序进行执行的权限。目录:目录的基本权限也是读,写,执行,但与文件的权限有一定区别:读 R:访问目录意味着用户可以读取目录下的内容。用户可以查看目录内的文件名。写 W:这个权限意味着用户可以在目录下面删除或者新建文件。执行 X:执行一个目录并没有真正的意义,因此将它当作可以遍历目录的权限。我们看下新建的2.txt的权限
权限的值可以用数字表示,这里借用视频中的图这里所有者有读写权限,用户组与其他用户只有读权限,换算成数字就是644我们再来看下新建的目录2的权限这里所有者有读写遍历权限,其他两个组只有读和遍历权限。
这样我们可以算出文件2.txt的权限数字是644,可以用stat -c %a直接来查看这个数字。
二、chmod命令
chmod命令用来变更文件或目录的权限。在UNIX系统家族里,文件或目录权限的控制分别以读取、写入、执行3种一般权限来区分,另有3种特殊权限可供运用。用户可以使用chmod指令去变更文件与目录的权限,设置方式采用文字或数字代号皆可。符号连接的权限无法变更,如果用户对符号连接修改权限,其改变会作用在被连接的原始文件。语法:chmod(选项)(参数)参数:-R 递归处理,将指令目录下的所有文件及子目录一并处理;-v 显示操作过程示例:1、chmod 数字2、chmod u=...,g=...,o=...3、chmod a+或- r、w、x三、chown命令
chown命令改变某个文件或目录的所有者和所属的组,该命令可以向某个用户授权,使该用户变成指定文件的所有者或者改变文件所属的组。用户可以是用户或者是用户D,用户组可以是组名或组id。 只有文件主和超级用户才可以使用该命令。语法:chown (选项)(参数)参数:-R或——recursive:递归处理,将指定目录下的所有文件及子目录一并处理;-v或——version:显示指令执行过程;示例:1、更改文件拥有者2、同时更改文件的拥有者与所属组,==chgrp改回来了!四、umask
umask命令,(实际工作中很少用^..^)用来设置限制新建文件权限的掩码。当新文件被创建时,其最初的权限由文件创建掩码决定。用户每次注册进入系统时,将自动设置掩码mode来限制新文件的权限系统默认的umask是0022使用touch、mkdir等命令时,将根据umask的值确定新文件或文件夹的权限umask也可以使用类似2、chmod u=...,g=...,o=...的命令设置。注意,是你不要新文件默认带什么权限就把这个权限写进umask的值中。示例:1、修改umask的方法:umask 0002或者002,最前面的0可以省略。 2、权限计算方法应该将 权限换算成“rwx形式再进行计算”,其中r-r=-,w-w=-,x-x=-;--r=- ,默认的文件权限计算初始值是(-rw-rw-rw-),目录的初始值是(drwxrwxrwx)。比如umask设置成0033,那么换过来就应该是-----wx-wx,那么用(-rw-rw-rw-)去减,这里结果应该是(-rw-r--r--)。五、lsattr命令与chattr命令
chattrchattr命令文件权限属性设置 chattr命令用来改变文件属性。这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式:a:让文件或目录仅供附加用途;b:不更新文件或目录的最后存取时间;c:将文件或目录压缩后存放;d:将文件或目录排除在倾倒操作之外;i:不得任意更动文件或目录;s:保密性删除文件或目录; S:即时更新文件或目录;u:预防意外删除。PS:对目录加i与a权限并不影响对内部已存在的文件的操作。
参数:-R:递归处理,将指令目录下的所有文件及子目录一并处理;示例:
1、给文件加上i权限然后你就不能对这个文件进行任何操作了,但是可以cp。i是英文immutable的缩写,不可改变的意思;去掉这个权限
命令:+i权限不能被继承,比如上文cp生成的2.txt无+i权限。
lsattr命令:
lsattr命令用于查看文件的第二扩展文件系统属性。参数:
-a 显示所有文件和目录,包括以"."为名称开头字符的额外内建,现行目录"."与上层目录".."。-d 显示,目录名称,而非其内容。-R 递归处理,将指定目录下的所有文件及子目录一并处理。示例:
查看目录的第二权限加上 -d选项即可疑问 lsattr -vV是什么?
转载于:https://blog.51cto.com/11934539/2052710