概述

  • Linux下的文件权限包括读, 写, 执行, 英文简写分别是 r, w, x
  • 文件权限包含三个方面: 拥有者, 用户组, 其他组。每个文件可分别对这三个方面设置不同的rwx权限。通常情况下,一个文件只能归属于一个用户和组, 如果其它的用户想有这个文件的权限,则可以将该用户加入具备权限的群组,一个用户可以同时归属于多个组。

查看文件权限

ls -l

输出格式如下:

-rw-r--r-- 1 root root 25934 Jun 26 10:35 X120

其中第一列除了第一个表示文件类型外, 剩下9个则表示该文件在上面三个粒度下的权限,具体信息

  • 2,3,4列表示文件所有者权限
  • 5,6,7列表示该文件所属用户组的权限
  • 7,8,9列表示其他组的权限

更改文件权限

chmod命令, 其参数如下:

  • -R 以递归的方式对目前目录下的所有档案与子目录进行相同的权限变更

下面只介绍一下使用数字来表示的权限使用方法。

基本规定如下:

  • 4 读r
  • 2 写w
  • 1 执行x

其他的权限组合用这几个进行相加就行, 示例如下:

  • 7 可读+可写+可执行 rwx (4+2+1=7)
  • 6 可读+可写 rw-(4+2=6)
  • 5 可读+可执行 r-x(4+1=5)

在使用数字进行设置权限的时候, 其语法格式:

1
chmod [可选项] <abc> file

其三位数字分别表示拥有者,群组, 其他组的权限详情,也就是a代表拥有者权限,b代表群组权限, c代表其他权限。

例如: chmod 777 file则表示所有用户都有读写和执行的权限(当然这是比较危险的)

下面列举一下常见的权限表现形式:

1
2
3
4
5
6
7
-rw------- (600)    只有拥有者有读写权限。
-rw-r--r-- (644) 只有拥有者有读写权限;而属组用户和其他用户只有读权限。
-rwx------ (700) 只有拥有者有读、写、执行权限。
-rwxr-xr-x (755) 拥有者有读、写、执行权限;而属组用户和其他用户只有读、执行权限。
-rwx--x--x (711) 拥有者有读、写、执行权限;而属组用户和其他用户只有执行权限。
-rw-rw-rw- (666) 所有用户都有文件读、写权限。
-rwxrwxrwx (777) 所有用户都有读、写、执行权限。

更改文件所有者

语法

1
chown [-hvR] user[:group] file...
  • user : 新的文件拥有者的使用者 ID
  • group : 新的文件拥有者的使用者组(group)
  • -h :修复符号链接
  • -R : 处理指定目录以及其子目录下的所有文件

示例如下:

1
2
3
4
5
6
# 将文件的所有者设置为root
chown root file
# 将文件拥有者设为rob, 组设置为robGroup
chown rob:robGroup file
# 仅改变文件的组设置为512(组ID), 不改变所有者
chown :512 file

顺便说一下查看用户组ID的命令:

id

cat /etc/password