第四节 用户权限

FreeBSD 文件访问权限可以用 10 个标志位来说明,10 个标志位由 4 部分组成:

第一部分是第 1 位,用 d 表示目录,- 表示普通文件,l 表示链接,b 表示块设备文件, p 表示管道文件,c 表示字符设备文件,s 表示套接字文件;

第二部分是第 2-4 位,用于标识文件所属用户对文件的访问权限,用 rwx 表示读、写、 执行权限,没有权限就写成-;

第三部分是第 5-7 位,用于标识文件所属组成员对文件的访问权限,标识参考第二部分。

第四部分是第 8-10 位,用于标识文件其他用户对文件的访问权限,标识参考第二部分。

读、写、执行除了用 rwx 表示,也可以对应成数字 4、2、1,没有权限用 0,每部分的 数字相加后,组合在一起,就是 3 位数字的表示方式。

如:

字符标识权限数字标识权限说明
-rwxrwxrwx777所有人都可读、写、执行的普通文件
drw-------600这是一个目录,只有所属用户可以读、写
-rwxr-xr-x755普通文件,所属用户有读、写、执行权限,同组用户和其他用户只能读取或执行,不可写入
  1. ls 命令,列出文件,常用参数:

-l,列表显示文件信息,信息中包含权限、属主、文件大小、修改日期和时间等信息, 也可以直接用 ll 命令

-a,隐藏文件也要显示

示例:

# ls -l -a #列表显示包括隐藏文件在内的所有文件 
# ll -a #与上例效果相同 
# ls -l /tmp/a.log #列表显示/tmp/a.log 文件 
  1. chmod 命令,修改文件访问权限,有两种操作方式。

一种是操作符方式,如:

# chmod a+x t.sh 在“a+x”中:

第一位表示操作对象,u 是所属用户,g 是所属组,o 是其他用户,a 则表示所有用户,不写按系统默认操作;

第二位是操作符,+是添加权限,-是减少权限;

第三位是 权限模式,rwx 分别表示读、写、执行,还有 s表示文件执行时把进程属主或组置成与文件属主或组一致,这种方式使用起来比较直观。

另一种是数字方式,如: chmod 750 t.sh

其中 7 表示所属用户拥有读、写、执行的权限,同组用户有读和执行的权限,其他用户则没有任何权限,这种方式使用起来比较方便。

然后 chmod 还有一个重要的参数:

-R,递归赋权

示例:

# chmod -R 777 /tmp #/tmp 目录下所有文件将允许任何用户读、写、执行 
# chmod -R a+rwx /tmp #/tmp 目录下所有文件将允许任何用户读、写、执行 
  1. chown 命令,修改文件的属主,包括所属用户和所属组。

常用参数:

-R,递归赋权

示例:

# chown test1 t.sh #修改 t.sh 属主为用户 test1 
# chown test1:test t.sh #修改 t.sh 属主为用户 test1、组 test 
# chown -R test1:test /tmp #修改/tmp 目录下所有文件的属主为用户 test1、组 test