目录与文件的权限
文件的权限容易理解, 这里看一下目录的权限
| r | 可读取目录下的文件名 |
|---|---|
| w | 可以新建,删除,修改文件名,移动文件位置 |
| x | 表示可以进入该目录成为工作目录 |
一般开放的目录至少具有rx两个权限
示例:
两个文件
- /dir1/file1
- /dir2
完成以下操作需要的权限:
| 操作 | /dir1 | /dir1/file1 | /dir2 | 重点 |
|---|---|---|---|---|
| 读取file1内容 | x | r | - | 进入/dir1目录读取文件 |
| 修改file1内容 | x | rw | - | 进入/dir1且能修改文件 |
| 执行file1内容 | x | rx | - | 进入/dir1并运行file1 |
| 删除file1文件 | wx | - | - | 进行/dir1并能修改目录 |
| 将file1复制到/dir2 | x | r | wx | 读file1且能修改/dir2 |
特别理解最后一条操作
Linux文件种类
一张表来表示吧
| 字符 | 名称 | 说明 |
|---|---|---|
| - | 常规文件,主要分为 - ASCII纯文本文件 - 二进制可执行文件 - 数据文件 |
最常见了 |
| d | 目录 | |
| b | 区块设备文件 | 如磁盘设备文件/dev/sda |
| c | 字符设备文件 | 串行端口的设备如键盘,鼠标 |
| s | socket数据接口文件 | /run下常见 |
| f | 管道, FIFO | 解决多个程序同时读写一个文件的错误 |
| l | 链接文件 | |
| n | 网络设备 |
共享文件
实现共享文件的思路是设置用户组, 但我们知道新建文件会设置默认的用户的用户组,这时候想要让文件设置特定的用户和用户组就需要使用信息位S.
三个额外的信息位:
- 设置用户ID(SUID)
- 设置用户组ID(SGID)
- 粘着位: 进程结束后文件还存留在内存中.
示例:
创建一个目录并设置用户组test,使其下创建的用户组都为test
mkdir testchgrp g+s test dirumaskcd dir && touch file
