Linux操作系统的安全命令(2)

chgrp表示修改一个或多个文件或目录所属的组。使用权限是超级用户。
2.格式

chgrp [选项]... 组 文件...

chgrp [选项]... --reference=参考文件 文件...

将每个<文件>的所属组设定为<组>。

3.参数

-c, --changes :像 --verbose,但只在有更改时才显示结果。

--dereference:会影响符号链接所指示的对象,而非符号链接本身。

-h, --no-dereference:会影响符号链接本身,而非符号链接所指示的目的地(当系统支持更改符号链接的所有者,此选项才有效)。

-f, --silent, --quiet:去除大部分的错误信息。

--reference=参考文件:使用<参考文件>的所属组,而非指定的<组>。

-R, --recursive:递归处理所有的文件及子目录。

-v, --verbose:处理任何文件都会显示信息。

4.应用说明

该命令改变指定指定文件所属的用户组。其中group可以是用户组ID,也可以是/etc/group文件中用户组的组名。文件名是以空格分开的要改变属组的文件列表,支持通配符。如果用户不是该文件的属主或超级用户,则不能改变该文件的组。

5.应用实例

改变/opt/local /book/及其子目录下的所有文件的属组为book,命令如下:

$ chgrp - R book /opt/local /book

五、chmod

1.作用

chmod命令是非常重要的,用于改变文件或目录的访问权限,用户可以用它控制文件或目录的访问权限,使用权限是超级用户。

2.格式

chmod命令有两种用法。一种是包含字母和操作符表达式的字符设定法(相对权限设定);另一种是包含数字的数字设定法(绝对权限设定)。

(1)字符设定法

chmod [who] [+ | - | =] [mode] 文件名

◆操作对象who可以是下述字母中的任一个或它们的组合

u:表示用户,即文件或目录的所有者。

g:表示同组用户,即与文件属主有相同组ID的所有用户。

o:表示其它用户。

a:表示所有用户,它是系统默认值。

◆操作符号

+:添加某个权限。

-:取消某个权限。

=:赋予给定权限,并取消其它所有权限(如果有的话)。

◆设置mode的权限可用下述字母的任意组合

r:可读。

w:可写。

x:可执行。

X:只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x属性。

:文件执行时把进程的属主或组ID置为该文件的文件属主。方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。

t:保存程序的文本到交换设备上。

u:与文件属主拥有一样的权限。

g:与和文件属主同组的用户拥有一样的权限。

o:与其它用户拥有一样的权限。

文件名:以空格分开的要改变权限的文件列表,支持通配符。

一个命令行中可以给出多个权限方式,其间用逗号隔开。

(2) 数字设定法

数字设定法的一般形式为: chmod [mode] 文件名

数字属性的格式应为3个0到7的八进制数,其顺序是(u)(g)(o)文件名,以空格分开的要改变权限的文件列表,支持通配符。

数字表示的权限的含义如下:0001为所有者的执行权限;0002为所有者的写权限;0004为所有者的读权限;0010为组的执行权限;0020为组的写权限;0040为组的读权限;0100为其他人的执行权限;0200为其他人的写权限;0400为其他人的读权限;1000为粘贴位置位;2000表示假如这个文件是可执行文件,则为组ID为位置位,否则其中文件锁定位置位;4000表示假如这个文件是可执行文件,则为用户ID为位置位。

3.实例

如果一个系统管理员写了一个表格(tem)让所有用户填写,那么必须授权用户对这个文件有读写权限,可以使用命令:#chmod 666 tem

上面代码中,这个666数字是如何计算出来的呢?0002为所有者的写权限,0004为所有者的读权限,0020为组的写权限,0040为组的读权限,0200为其他人的写权限,0400为其他人的读权限,这6个数字相加就是666(注以上数字都是八进制数)。

tem文件的权限是-rw-rw-rw-,即用户对这个文件有读写权限。


如果用字符权限设定使用下面命令:

#chmod a =wx tem
六、chown

1.作用

更改一个或多个文件或目录的属主和属组。使用权限是超级用户。

2.格式

chown [选项] 用户或组 文件

3.主要参数

--dereference:受影响的是符号链接所指示的对象,而非符号链接本身。

-h, --no-dereference:会影响符号链接本身,而非符号链接所指示的目的地(当系统支持更改符号链接的所有者,此选项才有效)。

--from=目前所有者:目前组只当每个文件的所有者和组符合选项所指定的,才会更改所有者和组。其中一个可以省略,这已省略的属性就不需要符合原有的属性。

-f, --silent, --quiet:去除大部分的错误信息。

-R, --recursive:递归处理所有的文件及子目录。

-v, --verbose:处理任何文件都会显示信息。
4.说明

chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或用户ID;组可以是组名或组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。系统管理员经常使用chown命令,在将文件拷贝到另一个用户的目录下以后,让用户拥有使用该文件的权限。

5.应用实例

1.把文件shiyan.c的所有者改为wan

$ chown wan shiyan.c

2.把目录/hi及其下的所有文件和子目录的属主改成wan,属组改成users。

$ chown - R wan.users /hi

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wzwwxf.html