权限管理命令chmod(重要)

事例1:

1root@atomy-virtual-machine:/tmp# ls -l linuxstudy.list 
2-rw-r--r-- 1 root root 0 5月  10 18:53 linuxstudy.list
3root@atomy-virtual-machine:/tmp# chmod u+x linuxstudy.list 
4root@atomy-virtual-machine:/tmp# ls -l linuxstudy.list 
5-rwxr--r-- 1 root root 0 5月  10 18:53 linuxstudy.list

上述事例中我们用chmodu+xlinuxstudy.list句子更改了linuxstudy.list文件的权限,其涵义是赋于该文件的拥有者执行权限。

事例2:

1root@atomy-virtual-machine:/tmp# chmod g+w,o-r linuxstudy.list 
2root@atomy-virtual-machine:/tmp# ls -l linuxstudy.list 
3-rwxrw---- 1 root root 0 5月  10 18:53 linuxstudy.list

可以同时更改多个权限,用冒号分隔即可。上述句子令用户组拥有写的权限,去不仅其他人读的权限。

事例3:

1root@atomy-virtual-machine:/tmp# chmod g=rwx linuxstudy.list 
2root@atomy-virtual-machine:/tmp# ls -l linuxstudy.list 
3-rwxrwx--- 1 root root 0 5月  10 18:53 linuxstudy.list

我们也可以直接用=来赋于权限!

不过,我们在实际操作中用的最多的并不是这些方法,而是用数字来表示。

事例4:

1root@atomy-virtual-machine:/tmp# chmod 640 linuxstudy.list 
2root@atomy-virtual-machine:/tmp# ls -l linuxstudy.list 
3-rw-r----- 1 root root 0 5月  10 18:53 linuxstudy.list

640代表要将权限更改为rw-r-----

事例5:关于-R,递归更改权限的操作

创建一个递归的文件夹,两个文件夹a和b的权限如下:

1root@atomy-virtual-machine:/tmp# mkdir -p /tmp/a/b
2root@atomy-virtual-machine:/tmp# ls -ld /tmp/a
3drwxr-xr-x 3 root root 4096 5月  10 19:12 /tmp/a
4root@atomy-virtual-machine:/tmp# ls -ld /tmp/a/b
5drwxr-xr-x 2 root root 4096 5月  10 19:12 /tmp/a/b

更改文件夹a的权限,之后查看二者的权限:

1root@atomy-virtual-machine:/tmp# chmod 777 /tmp/a
2root@atomy-virtual-machine:/tmp# ls -ld /tmp/a
3drwxrwxrwx 3 root root 4096 5月  10 19:12 /tmp/a
4root@atomy-virtual-machine:/tmp# ls -ld /tmp/a/b
5drwxr-xr-x 2 root root 4096 5月  10 19:12 /tmp/a/b

可以发觉我们只改变了文件夹a的权限,文件夹b的权限没有变化。假如我们有一个须要,改版一个目录权限时,该目录下的文件也随着改变。我们将其权限改为766试试:

1root@atomy-virtual-machine:/tmp# chmod -R 766 /tmp/a
2root@atomy-virtual-machine:/tmp# ls -ld /tmp/a
3drwxrw-rw- 3 root root 4096 5月  10 19:12 /tmp/a
4root@atomy-virtual-machine:/tmp# ls -ld /tmp/a/b
5drwxrw-rw- 2 root root 4096 5月  10 19:12 /tmp/a/b

关于rwx权限的补充权限对于文件对于目录

r——读权限

可以查看文件内容

可以列举目录中的内容

w——写权限

可以更改文件内容

可以在目录中创建、删除文件

x——执行权限

可以执行文件·

可以步入目录

非常注意w权限,举个反例:

一个目录的权限是777,该目录下一个文件的权限是700,这么创建了一个同组用户,能够删掉这个文件?

答案是可以的!

由于对于文件来说linux内核,w权限只是针对更改文件内容,而删掉文件的权限在目录中!

所以,题目提及目录权限是777,不管文件是哪些权限,都可以被删掉。

chown

以下实例来自新手教程

linux权限命令_权限命令chmod_权限命令的英文缩写

把/var/run/httpd.pid的所有者设置root:

#e:0:f:3:0:0:f:c:1:5:e:d:d:3:5:0:3:2:5:f:a:5:9:6:0:6:4:f:e:8:d:b#

将文件file1.txt的拥有者设为runoob,群体的使用者runoobgroup:

#2:5:7:a:5:6:0:9:c:d:d:f:c:a:2:c:e:9:1:2:6:e:4:e:0:6:9:d:4:4:7:1#

将当前前目录下的所有文件与子目录的拥有者皆设为runoob,群体的使用者runoobgroup:

#6:4:d:b:d:b:4:e:7:c:4:1:5:7:0:0:6:f:8:f:f:a:6:5:0:8:0:9:0:b:0:0#

把/home/runoob的关联组设置为512(关联组ID),不改变所有者:

#6:3:7:2:4:e:d:e:3:7:1:3:4:d:2:a:7:c:2:d:5:4:c:2:e:6:3:3:f:5:5:a#

chgrp

与chown命令不同linux权限命令,chgrp容许普通用户改变文件所属的组,只要该用户是该组的一员。

实例1:改变文件的群组属性

命令:

chgrp-vbinlog2012.log

输出:

#a:2:8:d:8:3:3:f:5:9:e:b:5:3:0:0:4:2:1:f:0:9:c:b:6:5:b:5:d:7:1:0#

说明:

将log2012.log文件由root群组改为bin群组

实例2:按照指定文件改变文件的群组属性

命令:

linux权限命令_权限命令chmod_权限命令的英文缩写

chgrp--reference=log2012.loglog2013.log

输出:

#1:a:9:8:8:b:5:4:f:6:b:5:e:7:7:9:1:f:a:6:4:7:0:5:4:2:9:3:b:d:b:9#

说明:

改变文件log2013.log的群组属性,致使文件log2013.log的群组属性和参考文件log2012.log的群组属性相同

实例3:改变指定目录以及其子目录下的所有文件的群组属性

命令:

输出:

#c:d:2:0:3:d:7:2:d:7:5:8:2:0:9:5:a:f:f:a:f:6:0:5:d:4:0:6:e:0:0:2#

说明:

改变指定目录以及其子目录下的所有文件的群组属性

实例4:通过群组辨识码改变文件群组属性

命令:

chgrp-R100test6

输出:

#d:c:5:f:a:d:6:1:7:7:e:9:e:9:8:6:7:0:a:0:e:9:0:6:1:f:f:1:5:e:6:2#

说明:

通过群组辨识码改变文件群组属性,100为users群组的辨识码,具体群组和群组辨识码可以去/etc/group文件中查看

umask默认权限概述

权限命令的英文缩写_权限命令chmod_linux权限命令

当我们新建一个文件或则文件夹时LINUX 删除目录,系统就会默认设置权限,默认情况下的umask值是022(可以用umask命令查看),此时你完善的文件默认权限是644,完善的目录的默认权限是755,可以通过构建一个文件和文件夹通过ls-l验证。

当我们登入系统以后创建一个文件是会有一个默认权限的,这么这个权限是如何来的呢?这就是umask干的事情。umask可拿来设定[权限网段]。[权限网段]是由3个八补码的数字所组成,将现有的存取权限减掉权限网段后,即可形成构建文件时预设的权限。

句型

#9:d:3:a:f:b:e:c:a:8:e:4:0:a:a:1:a:7:c:e:8:a:5:3:6:1:9:b:d:7:d:1#

使用指令"umask"查看当前权限网段,则输入下边的命令:

#4:6:7:b:a:8:9:4:a:3:3:0:8:3:2:f:d:7:b:1:0:3:9:e:5:a:1:d:b:8:c:a#

执行前面的指令后,输出信息如下:

#f:1:c:7:3:7:6:3:c:a:1:1:8:c:5:6:f:6:f:6:d:5:c:a:7:8:7:0:7:d:3:1#

接出来,使用指令"mkdir"创建一个目录,并使用指令"ls"获取该目录的详尽信息,输入命令如下:

#f:3:7:9:9:4:a:9:4:a:d:1:8:a:4:e:0:0:e:b:6:3:e:8:6:0:1:a:6:0:4:5#

得到结果显示,该文件夹的权限为drwxr-xr-x。即755。

umask估算权限

对于文件和目录来说,最大的权限虽然都是777,并且执行权限对于文件来说是很危险的,而对目录来说执行权限是个基本权限。所以默认目录的最大权限是777,而文件的默认最大权限就是666。

对于root用户的umask=022这个来说,777权限二补码码就是(111)(111)(111),022权限二补码码为(000)(010)(010)。

umask为022的目录默认权限估算方式

所有者r所有者w所有者x所在组r所在组w所在组x其他r其他w其他x

所有权限777

umask网段022

估算后的值

umask为022的文件默认权限估算方式

所有者r所有者w所有者x所在组r所在组w所在组x其他r其他w其他x

所有权限666

umask网段022

估算后的值

umask为023的目录默认权限估算方式

所有者r所有者w所有者x所在组r所在组w所在组x其他r其他w其他x

所有权限777

umask网段023

估算后的值

umask为023的文件默认权限估算方式

所有者r所有者w所有者x所在组r所在组w所在组x其他r其他w其他x

所有权限666

umask网段023

估算后的值

里面就是一个umask的正常估算过程,并且这样实在是太麻烦了。我们使用如下的简单的方式快速估算。

里面的这个方式估算是十分便捷的,为什么得到偶数要+1呢。

文件的最大权限是666,都是奇数,你得到偶数,说明umask有偶数linux权限命令,读为4,写为2,都是奇数,说明你有执行权限的。

就根据前面的umask=023为例,在估算其他用户权限的时侯6-3=3,6是读写,3是写和执行,虽然应当是读写权限除以读权限的得到写权限的,相当于我们多除以了一个执行权限。所以结果加1。

本文原创地址:https://www.linuxprobe.com/qxglmlczyqxx.html编辑:刘遄,审核员:暂无