相关文章
chgrp
用法:chgrp [-R] groupname dirname/filename
-R选项表示递归更改,即如果目标对象是目录,目录下的所有文件和目录都会同时被更改用户组。
这个命令是change group的缩写,功能是改变一个文件或目录的所属用户组,但要注意这个用户组需要已创建,即已存在于/etc/group文件中,否则会报错。
这个命令能被文件所属者和root使用,但要注意,文件所属者无法使用这个指令更改用户组为root,系统会报错:“chgrp: 正在更改"ch01" 的所属组: 不允许的操作。”
例子如下
chown
用法:chown [-R] username dirname/filename
或者:chown [-R] username:groupname dirname/filename
-R选项表示递归更改,即如果目标对象是目录,目录下的所有文件和目录都会同时被更改用户组。
这个命令是change owner的缩写,功能是改变一个文件的拥有者,但要注意,这个拥有者(用户)必须是已存在于系统内,即已存在于/etc/passwd这个文件内,否则会报错。
注意这个的第二个命令的第二个用法,这个命令也可以同时修改文件用户组或只修改文件用户组,使用:符号隔开即可,注意这里对用户组修改的限制和chgrp相同。
这个命令只能被root使用,就算是文件拥有者也不可以将文件转移给另一个用户拥有。
例子如下
chmod
这个命令的用法有两大类。第一类是数字类型权限修改,第二类是符号类型权限修改。
数字类型权限修改
Linux中一个文件或目录的基本权限有九个,分别是拥有者,所属用户组,其他人各自的读(read)、写(write)、执行(execute)权限,分别用r、w、x代表,比如:-rwxr--r--,代表着这个文件的拥有者可以读、写、执行,用户组成员和其他人只能读。我们这时可以用数字代表r、w、x这三个权限,对照为
r:4 w:2 x:1,这时rwxr--r--用数字表示为744。
用法:chmod [-R] 数字类型 dirname/filename
-R选项表示递归更改,即如果目标对象是目录,目录下的所有文件和目录都会同时被更改权限。
例子如下
符号类型权限修改
直接使用u、g、o代表三种身份,此外,a表示all即全部的身份。再使用r、w、x表示三种权限,+\-\=分别表示加入,移除和设置。
用法:chmod u/g/o +/-/=(可以多项,使用,隔开,不能有空格) r/w/x(可以多项,顺序任意) dirname/filename
例子如下
这种更改权限的方式好处在于能够通过+、-来增加或减少一个身份的某个权限而不影响这个身份的其它权限,也无需知道这个用户原本的权限,如果是使用数字类型权限修改,那么在增加或减少某个身份的权限时,需要先知道原本的权限,才好使用数字指定权限。