正文 【Linux】8. 文件权限管理 拾年之璐 V管理员 /2020年 /307 阅读 0818 ## Linux 文件权限管理 [TOC] ### 1. 查看文件和目录的权限 使用 `ls` 命令只显示文件名称,通过带参数的 `ls –al` 命令(或者 `ll` )可以显示文件或者目录的权限信息。  `ls -l 文件名` 显示信息包括:文件类型 (`d` 目录,`-` 普通文件,`l` 链接文件),文件权限,文件的用户,文件的所属组,文件的大小,文件的创建时间,文件的名称,示例如下: ``` -rw-rw-r-- 2 snzl snzl 23 Aug 21 06:05 1.txt ``` 将上面这个示例,可拆分成如下字段: | -rw-rw-r-- | 1 | snzl | snzl | 23 | Aug 21 06:05 | 1.txt | | :------------- | :----- | :----------- | :--------- | :------- | :----------------- | :------- | | 文档类型及权限 | 连接数 | 文档所属用户 | 文档所属组 | 文档大小 | 文档最后被修改日期 | 文档名称 | #### 1.1 文档类型及权限 对于 `文档类型及权限` 字段,将其划分成四组,每组的字符数及含义如下: - `-`:文件类型:是普通文件 - `rw-`:用户权限:表示用户 `snzl` 具有可读(read)可写(write)不可执行(execute)的权限 - `rw-`:用户所在组权限:表示用户组 `snzl` 只有读写权限,没有可执行的权限 - `r--`:其他用户权限:其他用户只有读权限,没有写权限和运行的权限 | - | rw- | rw- | r-- | | :------- | :--------------------- | :-------------------------- | :-------------------- | | 文档类型 | 文档所有者权限(user) | 文档所属用户组权限(group) | 其他用户权限(other) | 文档类型主要有: - `d` 表示目录 - `l` 表示软连接 - `–` 表示文件 - `c` 表示串行端口字符设备文件 - `b` 表示可供存储的块设备文件 余下的字符 3 个字符为一组。`r` 只读,`w` 可写,`x` 可执行,`-` 表示无此权限 #### 1.2 连接数 指有多少个文件指向同一个索引节点。 #### 1.3 文档所属用户和所属组 就是文档属于哪个用户和用户组。文件所属用户和组是可以更改的 #### 1.4 文档大小 默认是 bytes ### 2. 更改操作权限 #### 2.1 chmod 改变访问权限 - `chmod [who] [+ | - | =] [mode] 文件名` 示例图:   #### 2.2 chown 是 change owner 的意思,主要作用就是改变文件或者目录所有者,所有者包含用户和用户组 - `chown [-R] 用户名称 文件或者目录` - `chown [-R] 用户名称 用户组名称 文件或目录` > **-R:** 进行递归式的权限更改,将目录下的所有文件、子目录更新为指定用户组权限   这时,该文件不可修改。 可以通过修改文件的所有者的方式,来使得文件可修改。  #### 2.3 who 表示操作对象可以是以下字母的一个或者组合 - u:用户 user - g:用户组 group - o:表示其他用户 - a:表示所有用户是系统默认的 #### 2.4 操作符号 - +:表示添加某个权限 - -:表示取消某个权限 - =:赋予给定的权限,取消文档以前的所有权限 #### 2.5 mode 表示可执行的权限,可以是 r、w、x #### 2.6 文件名 文件名可以使空格分开的文件列表 #### 2.7 示例 ``` root@Ubuntu:~$ ls -al test.txt -rw-rw-r-- 1 snzl snzl 6 Aug 21 21:47 test.txt root@Ubuntu:~$ chmod u=rwx,g+r,o+r test.txt root@Ubuntu:~$ ls -al test.txt -rwxrw-r-- 1 snzl snzl 6 Aug 21 21:47 test.txt root@Ubuntu:~$ ``` ### 3. 数字设定法 数字设定法中数字表示的含义 - 0 表示没有任何权限 - 1 表示有可执行权限 = `x` - 2 表示有可写权限 = `w` - 4 表示有可读权限 = `r` 也可以用数字来表示权限如 `chmod 755 file\_name` | r w x | r – x | r - x | | :---- | :---- | :----- | | 4 2 1 | 4 - 1 | 4 - 1 | | user | group | others | - 若要 rwx 属性则 4+2+1=7 - 若要 rw- 属性则 4+2=6 - 若要 r-x 属性则 4+1=5 ``` root@Ubuntu:~$ chmod 777 test.txt root@Ubuntu:~$ ls -al test.txt -rwxrwxrwx 1 snzl snzl 6 Aug 21 21:47 test.txt root@Ubuntu:~$ chmod 770 test.txt root@Ubuntu:~$ ls -al test.txt -rwxrwx--- 1 snzl snzl 6 Aug 21 21:47 test.txt ``` 本文采用创作共用版权 CC BY-NC-SA 3.0 CN 许可协议,转载或复制请注明出处! -- 展开阅读全文 --