linux常用命令权限a linux 权限指令( 六 )


该命令的各选项含义为:
– R 递归式地改变指定目录及其下的所有子目录和文件的属组 。
例1:
$ chgrp - R book /opt/local /book
改变/opt/local /book/及其子目录下的所有文件的属组为book 。
chown 命令
功能:更改某个文件或目录的属主和属组 。这个命令也很常用 。例如root用户把自己的一个文件拷贝给用户yusi,为了让用户yusi能够存取这个文件,root用户应该把这个文件的属主设为yusi,否则 , 用户yusi无法存取这个文件 。
语法:chown [选项] 用户或组 文件
说明:chown将指定文件的拥有者改为指定的用户或组 。用户可以是用户名或用户ID 。组可以是组名或组ID 。文件是以空格分开的要改变权限的文件列表 , 支持通配符 。
参数说明:
user : 新的档案拥有者的使用者 ID
group : 新的档案拥有者的使用者群体(group)
-c : 若该档案拥有者确实已经更改,才显示其更改动作
-f : 若该档案拥有者无法被更改也不要显示错误讯息
-h : 只对于连结(link)进行变更,而非该 link 真正指向的档案
-v : 显示拥有者变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)
–help : 显示辅助说明
–version : 显示版本
例1:把文件yusi123.com的所有者改为yusi 。
$ chown yusi yusi123.com
例2:把目录/demo及其下的所有文件和子目录的属主改成yusi,属组改成users 。
$ chown - R yusi.users /demo
例如:chown qq /home/qq(把home目录下的qq目录的拥有者改为qq用户)
例如:chown -R qq /home/qq(把home目录下的qq目录下的所有子文件的拥有者改为qq用户)
Linux常用命令之链接命令和权限管理命令例子:
对于上面的语法 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,也就是少了可执行权限 。这是为什么呢?

推荐阅读