Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Linux最优秀的地方之一就在于他的多用户多任务环境。而为了让各个使用者具有较保密的文件数据,因此文件的权限管理就变的很重要了。
- Linux一般将文件可存取的身份分为三个类别,分别是 owner/group/others,且三种身份各有 read/write/execute 等权限.
- ## Linux 文件权限概念
- 使用 ls 查看一个文件时,会显示一个文件的信息
- ```bash
- jiaqi➜ shamu-hrs-gateway : master ✔ : ᐅ ls -al
- 总用量 92
- drwxr-xr-x 7 jiaqi jiaqi 4096 9月 27 14:43 .
- drwxr-xr-x 8 jiaqi jiaqi 4096 7月 29 10:29 ..
- drwxr-xr-x 2 jiaqi jiaqi 4096 5月 27 15:42 bin
- -rw-r--r-- 1 jiaqi jiaqi 271 5月 27 15:42 docker-compose.yml
- -rw-r--r-- 1 jiaqi jiaqi 23527 9月 18 17:45 gateway.iml
- drwxr-xr-x 8 jiaqi jiaqi 4096 9月 27 16:49 .git
- -rw-r--r-- 1 jiaqi jiaqi 423 5月 27 15:42 .gitignore
- drwxr-xr-x 3 jiaqi jiaqi 4096 5月 27 15:42 .mvn
- -rwxr-xr-x 1 jiaqi jiaqi 9113 5月 27 15:42 mvnw
- -rw-r--r-- 1 jiaqi jiaqi 5810 5月 27 15:42 mvnw.cmd
- -rw-r--r-- 1 jiaqi jiaqi 5864 9月 18 17:43 pom.xml
- -rw-r--r-- 1 jiaqi jiaqi 2477 9月 6 09:11 README.md
- drwxr-xr-x 4 jiaqi jiaqi 4096 5月 27 15:42 src
- drwxr-xr-x 7 jiaqi jiaqi 4096 9月 27 14:43 target
- ```
- 每一条信息都有 7 个 字段, 其意义如下:
- ```
- [ 1 ][ 2 ][ 3 ][ 4 ][ 5 ][ 6 ] [ 7 ]
- [ 权限 ][链接][拥有者][群组][文件大小][ 修改日期 ] [ 文件名 ]
- ```
- 1. 第一个字段代表这个文件的类型与权限(permission):
- + 第一个字符代表这个文件是“目录、文件或链接文件等等”:
- - 当为[ d ]则是目录,例如上表文件名为“.config”的那一行;
- - 当为[ - ]则是文件,例如上表文件名为“initial-setup-ks.cfg”那一行;
- - 若是[ l ]则表示为链接文件(link file);
- - 若是[ b ]则表示为设备文件里面的可供储存的周边设备(可随机存取设备);
- - 若是[ c ]则表示为设备文件里面的序列埠设备,例如键盘、鼠标(一次性读取设备)。
- + 接下来的字符中,以三个为一组,且均为“rwx” 的三个参数的组合。其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。
- - 第一组为“文件拥有者可具备的权限”,以“initial-setup-ks.cfg”那个文件为例, 该文件的拥有者可以读写,但不可执行;
- - 第二组为“加入此群组之帐号的权限”;
- - 第三组为“非本人且没有加入本群组之其他帐号的权限”
- 同时注意到,rwx所在的位置是不会改变的,有该权限就会显示字符,没有该权限就变成减号(-)就是了。
- 2. 第二字段表示有多少文件名链接到此节点(i-node):
- 每个文件都会将他的权限与属性记录到文件系统的i-node中,不过,我们使用的目录树却是使用文件名来记录, 因此每个文件名就会链接到一个i-node啰!这个属性记录的,就是有多少不同的文件名链接到相同的一个i-node号码去就是了。
- 3. 第三字段表示这个文件(或目录)的“拥有者帐号”
- 4. 第四字段表示这个文件的所属群组
- 5. 第五字段为这个文件的容量大小,默认单位为Bytes;
- 6. 第六字段为这个文件的创建日期或者是最近的修改日期:
- 7. 第七字段为这个文件的文件名
- ### 如何改变文件属性与权限
- - chgrp :改变文件所属群组
- - chown :改变文件拥有者
- - chmod :改变文件的权限, SUID, SGID, SBIT等等的特性
- 可以将一组权限用数字来表示,此时一组权限的 3 个位当做二进制数字的位,从左到右每个位的权值为 4、2、1,即每个权限对应的数字权值为 r : 4、w : 2、x : 1。
- ```bash
- # chmod [-R] xyz dirname/filename
- ```
- 示例:将 .bashrc 文件的权限修改为 -rwxr-xr--。
- ```bash
- # chmod 754 .bashrc
- ```
- 也可以使用符号来设定权限。
- ```bash
- # chmod [ugoa] [+-=] [rwx] dirname/filename
- - u:拥有者
- - g:所属群组
- - o:其他人
- - a:所有人
- - +:添加权限
- - -:移除权限
- - =:设定权限
- ```
- 示例:为 .bashrc 文件的所有用户添加写权限。
- ```bash
- # chmod a+w .bashrc
- ```
- ### 目录与文件之权限意义
- | 类型 | 内容 | 叠代物件 | r | w | x |
- | - | - | - | - | - | - |
- | 文件 | 详细数据data | 文件数据夹 | 读到文件内容 | 修改文件内容 | 执行文件内容 |
- | 目录 | 文件名 | 可分类抽屉 | 读到文件名 | 修改文件名 | 进入该目录的权限(key) |
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement