文件权限对于一个系统的安全十分重要。而在实际工作中,我们势必有修改权限的需求,一个文件的属性与权限有很多,下面暂时只介绍用于文件所处群组、拥有者、其他用户对该文件权限的修改
改变文件所属群组, chgrp
chgrp [-R] groupname filename
#将filename的组修改为group
#参数-R : 将该目录下的所有文件都改变成为这个群组。用在变更某一目录内所有的文件。
修改一个文件命令就是上面那样简单chgrp,就是change group的缩写嘛。值得注意的是修改的组,应该是有效的组,也就是说/etc/group文件应当存在。(反过来说,可以直接修改/etc/group文件来添加组)
改变文件拥有者, chown
chown [-R] username filename
chown [-R] username:grpname filename #同时修改拥有者和群组
#使用 [.]也可以同时修改拥有者和群组,但是有人喜欢在账号中加[.],这样就容易造成错误所以更推荐用[:]
#参数-R 递归修改
类似修改群组,修改文件的拥有者呢也简单,改变拥有者就是change owner。值得注意的是, 用户必须是已经存在系统中的账号,也就是在/etc/passwd 这个文件中有纪录。(反过来说,可以直接修改/etc/passwd 文件来添加用户)
改变权限, chmod
chmod这个指令可以修改文件权限,分别是使用数字或符号来进行权限的变更,称做绝对模式和符号模式。
绝对模式:
文件的权限属性有9位,分三位为1组分别有owner/group/others三种身份,各有r,w,x三种权限。
绝度模式使用数值来代表各个权限,各权限的值有:
r:4
w:2
x:1
每种身份各自的三个权限分数累加起来,这样就用一个三位数表示出来。
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= — = 0+0+0 =0
这样770就代表,修改后的权限设置。chmod [-R] 777 filename #选项与参数: #777: 为 rwx 属性数值的相加。 #-R : 进行递归变更
符号模式:
符号模式藉由u, g, o来代表三种身份的权限a 则代表 a全部的身份。读写执行权限就可以写成r, w, x。
+,-,=表示增删修改。
根据需求组合成一个命令
chmod | u ,g,o,a | +,-,= | r,w,x | filename |
---|
chmod u+x demo #示例
#注意 u+x 之间没有空格