您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Linux 修改文件权限

前面小节介绍了权限相关的知识,从这一小节开始我们将要开始学习权限相关的知识,如何给权限,之前小节介绍过 ls 命令展示出来的一些相关的信息,这里面就有和权限相关的信息。

在 Linux 系统中,有时候某些不能,只能拥有只读权限,某些需要读写权限,即可以读,又可以写,某些需要可执行权限,这个时候若的相关权限不正确,就可能报错业务出错,因此需要对权限进行。

1. Linux 权限值

在上述权限中的读、写、执行权限信息中,对应着二进制数值,对应关系如下表:

2. umask 命令

在 Linux 系统中创建新的或者目录的时候,它们都会有认的访问权限,umask 命令则可以这些认的访问权限。例如创建的认访问权限为 rw-rw-rw-(八进制值666) ,创建目录的认权限 rwxrwxrwx(八进制值777) ,而 umask 值则表明了需要从认权限中去掉哪些权限来成为最终的认权限值。

使用 umask 命令可以查看认的权限信息,命令如下:

umask

执行结果如下图:

如上图所示,当前或目录权限相关的是认值是 0022,其中第一位 0 表示的是一项特殊安全权限,暂且不讨论。

后面三位 022 则和普通权限 rwx 有关,其中后三位中的第一位 0 表示创建者/所有者相关的权限,表示从权限去掉 0 对应的权限 ---(不变),后三位中的第二位 2 表示组相关的权限,表示从组权限去掉 2 对应的权限-w-(写权限),后三位中的第三位 2 表示和其他的权限有关,表示其他的权限去掉 2 对应的权限 -w-(写权限)

所以创建 的认八进制值 666(rw-rw-rw-) 去掉 022(----w--w-) 对应的相关权限之后为 644(rw-r--r--),创建 目录 的认八进制值 777(rwxrwxrwx) 去掉 022(----w--w-) 对应的相关权限之后为 755(rwxr-xr-x),下面通过示例来验证一下:

umasktouch testfilels -l testfilemkdir testdirls -l

执行结果如下图:

Tipsumask 命令展示出来表示从原来的认值的权限值,新建认的权限值是 666,新建目录的权限值是 777umask 命令展示的值是个基础之上的。

若想要新建的有指定的初始认权限,可以使用 umask 命令,命令如下:

umask 226umask

执行结果如下图:

新建认的权限值是 666,新建目录的权限值是 777226 表示个基础上
-w--w-rw- 之后的权限。

3. chmod 命令

新建 newfile,然后使用 chmod 命令权限,新建和权限命令如下:

touch newfilels -l newfilechmod 777 newfilels -l newfile

执行结果如下图:

3.2 目录权限

使用 chmod 命令目录的权限,目录权限命令如下:

ls -lchmod -R 755 studyls -l

执行结果如下图:

3.3 chmod 命令限定权限

chmod 命令可以已经存在的或目录的权限,可以分别它们的权限、组的权限、其他的权限,也可以上述全部的权限,下图表示 chmod 权限相关的操作:

下面以新增其他写权限为例,命令如下:

ls -l testfilechmod o+w testfilels -l testfile

执行结果如下图:

u 表示;

g 表示组;

o 表示其他;

a 表示全部。

+ 表示在现有权限基础上权限;

- 表示在现有权限基础上移除权限;

= 表示在现有权限基础上设置成等号后的权限。

r 表示读权限;

w 表示写权限;

x 表示执行权限。

4. 小结

本小节介绍了或目录权限相关的命令,新建的权限认是 rw-rw-rw-,新建目录权限认是 rwxrwxrwx,使用 umask 命令可以对新建的或目录的权限某些特定的权限。还介绍了 chmod 命令直接配合八进制权限值或目录的权限,也可以使用限定符在原来权限基础上、移除、设定某些权限。


联系我
置顶