
对于上面的语法 chmod 【{ugoa}{+-=}{rwx}】【文件或目录】,我们要知道ugoa分别是:u:表示所有者,g:表示所属组,o:表示其他人,a:表示所有人。而rwx表示的意思如下:
对于【mode=421】【文件或目录】,这是我们将权限用数字表示,其中 r 表示4,w表示2,x表示1,分别是2的0次方,1次方,2次方。那么我们可以这样理解:具有 rwx 权限的数字就是 7,具有 rw- 权限的数字是 6,具有 r-- 权限的数字是 4。
示例1:我们赋予 tmp 目录下的 tmp.log 所有者 x 的权限;赋予 所属组 w 权限,其他人 w 权限。
将上面例子改为用 数字来 *** 作,也就是说我们要给 tmp.log赋予的文件权限是 rwxrw-rw-,用数字表示是766。
我们还可以递归赋予权限,也就是加上 -R 参数给指定目录下的所有文件或目录赋予指定权限。
示例2:给 tmp 目录下所有文件和目录赋予 776 的权限
这里我们通过useradd【用户名】命令创建用户,然后通过passwd【用户名】输入密码,这两个命令后面会将。我们通过这两个命令创建 vae 用户
然后我们将tmp.log的所有者更改为 vae 用户:chown vae tmp.log
其中umask 执行显示结果是 0022,第一个0表示特殊权限,后面我们会单独进行讲解有哪几种特殊权限。022表示权限的掩码值,我们用7 7 7 减去 0 2 2得到755(是每一位相减),表示的就是下面通过加上-S输出的rwxr-xr-x,这个值用数字表示就是755.
这个意思说明创建一个文件的默认权限所有者为rwx,所属组为rx,其他人为rx。也就是说创建一个新文件默认权限为 rwxr-xr-x,我们创建一个文件来验证一下:
我们发现使用touch命令创建了一个文件a.txt,然后发现权限并不是rwxr-xr-x,而是rw-r--r--。对比发现少了三个x,也就是少了可执行权限。这是为什么呢?
这是因为在Linux系统中,所有新创建的文件都是没有可执行权限的。这是出于Linux系统的一种自我保护,因为类似的病毒木马程序都是具有可执行权限的。所以在Linux系统中,新创建的文件是没有可执行权限的。
那么我们如何设置默认权限呢?比如我们想将新创建的文件权限设置为rwxr-xr--,也就是754。我们用777减去754得到023。也就是通过执行 umask 023 来完成默认权限设置。
八进制数:645。文件属性为:属主具有读写权限,属组具有读权限,其他人具有读和执行的权限。
其中,r:读权限(read)、w:写权限(write)、x:执行(execute)。所属:u:属主、g:属组、o:其他人。rw-r--r-x 9个位,分为三段,每段三个位,依次为r,w,x权限,三段分别为属主,属组,其他人三种类别的权限。
数字也可以代表权限,r使用4表示,w使用2表示,x使用1表示,rwx使用二进制表示的话,有权限使用1表示,没有使用0。具体只要在相应位上有权限,则二进制为1,则三个位组合起来,再从二进制转化为十进制则数字可计算出来权限。
扩展资料:
权限的规定:
1、X的作用(x权限特殊形式),针对目录增加x权限。
2、对文件:无执行的文件,不会增加x权限,任意三种人有执行权限,也会增加x权限。
3、对目录的权限意义:
只有读:只能查看目录文件列表,不能访问文件,也不能cd目录(查看,删除)。只有执行:可以cd进去,不能ls,可以访问目录中的文件。执行是基础权限。写权取:配合x权限才生效。新建目录: 777 - umask值就是新建目录的默认权限;管理员的umask 是 022;普通用户的umask是 002。
参考资料来源:百度百科-文件系统权限
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)