Skip to content

Latest commit

 

History

History
165 lines (125 loc) · 10.1 KB

05、权限与目录.md

File metadata and controls

165 lines (125 loc) · 10.1 KB

权限与目录

本地用户与组相关文件

  • Linux 用户权限 存储位置
    /etc/passwd

  • Linux 用户密码 存储位置
    /etc/shadow

  • Linux 组权限 存储位置
    /etc/group

临时切换操作者账号

su 命令(substitute user)
若 su 命令不加任何参数,则默认指定为转换至 root 账号

ls 命令与其返回内容的含义

ls -al-all --long
罗列该目录下所有的文件以及他们的比较全面的信息

eg.

$ ls -al

...省略...
drwxr-xr-x. 3 root root 17 Jul 6 11:27 .config
...省略...
内容 位置 含义 备注
drwxr-xr-x. 第 1 段 文件类型与权限 详见 下方内容
3 第 2 段 文件链接数 这里指硬链接的数量
root 第 3 段 文件的拥有者
root 第 4 段 文件所属的组
17 第 5 段 文件的大小 默认单位为 byte
Jul 6 11:27 第 6 段 文件最后被修改的时间 短期显示为 日月时,长期显示为 日月年
.config 第 7 段 文件的名称

第 1 段 文件类型与权限

位置 含义
第 1 位 文件类型
第 2 ~ 4 位 文件所有者的权限 [1]
第 5 ~ 7 位 文件所有者所在组的权限 [1]
第 8 ~ 10 位 文件所有者与所在组之外用户的的权限 [1]
第 11 位 之后 其他特殊权限设置标记

[1] 每个文件权限位置 均包含以下三个内容:读取(r) / 写入(w) / 执行(x

第一位 表示 文件类型

标记 含义 设备类型举例 设备特点
- 普通文件
d 目录文件 Linux 中目录也是一个文件
l 符号链接文件
b 块设备 硬盘 / 光驱 数据以块为单位存储,块与块之间存取互不干扰
c 字符设备 键盘 / 鼠标 / 调制解调器 数据以数据流的方式存取,只能按照时序来读取
s 套字节文件 与内核中的 TCP / UDP 栈相关 网络传输
p 管道文件 多程序同时读写一个文件时出现

文件 与 目录 的 读取、写入、执行权限

文件的权限 含义
读取(r 文件内容可以被读取
写入(w 文件的内容可以被修改
执行(x 文件可以被当做可执行文件而运行
目录的权限 含义
读取(r 可以 罗列 当前文件夹中的 文件名 / 文件夹名
写入(w 可以 创建 / 删除 当前文件夹中的 文件 / 文件夹
可以 修改 当前目录中的 文件名 / 文件夹名
执行(x 可以 切换 到该 文件夹下 执行操作

注意:文件夹自身名称的是否可以修改是受到 上层目录 的控制,而非自身属性的控制

chgrp / chown / chmod 修改群组、所有者、权限

chgrp [-r] [新群组] [文件名]
chown [-r] [新所有者]|{[新所有者]:[新群组]} [文件名]
chmod [-r] [u/g/o/a] [+/-/=] {[r/w/x/X]|[0/1/2/4/...]}

chmod 用法详细说明

chmod -> 对哪些人(u(ser) / g(roup) / o(thers) / a(ll))添加(+) / 删除(-) / 覆写(=)哪些(r/w/x)权限

r w x 可以表示为 三位 二进制码

  • 存在 r 对应的 二进制 是 100,即 十进制 的 4
  • 存在 w 对应的 二进制 是 010,即 十进制 的 2
  • 存在 x 对应的 二进制 是 001,即 十进制 的 1

所以权限也可以写成十进制的 加和结果

eg.

$ chmod u=rwx,go=rx SomeFile.txt # 注意中间的用逗号连接
# 就是 赋予 所有者 读、写、执行 的权限,赋予群组和其他人 读、执行 的权限,同时去除群组和其他人的 写 的权限

等价于

$ chmod 755 SomeFile.sh

eg.

chmod a-x SomeFile.sh
# 只去除所有人的 执行 权限,而不修改其他权限

tips: 特殊设置

chmod [-R] [a/u/g/o][+/-/=]X
# 使用大写的 X,仅会修改 目录的 x 权限,而不会修改 普通文件的 x 权限

FHS(Filesystem Hierarchy Standard)文件系统层次结构标准

FHS 为 UNIX 和 Linux 建议的文件系统目录标准,定义了主要文件夹的名称和含义
参见:Filesystem Hierarchy Standard Specifications Archive

部分内容列举:

路径 含义 内容列举 备注
/ 根目录 所有目录都要基于这个目录而构建
/bin 单用户模式 下的必要命令 cat / ls / cp
/boot 引导程序 相关文件 vmlinuz / inird / grub2
/dev 设备 映射的文件 sda / tty0 / random / null
/etc 配置文件的存放目录
/home 用户的主目录
/lib /bin/sbin 中的程序需要的 基础库
/lib/modules 内核模块 各种硬件驱动
/media 可移除的媒体 CD-ROM / USBDriver
/mnt 临时挂载文件系统
/opt 额外的软件 原来常置于 /usr/local 中
/run 运行时变量数据 最后一次启动后的系统运行信息
/sbin 系统必要的程序 fsck / init / route
/srv 与网站相关的程序和服务
/sys 包含设备、驱动和内核特性的信息
/tmp 零时文件 一般在系统关机之后清除
/usr “仅读”用户数据 包含主要的用户工具和程序
/usr/bin 非基础命令行工具
/usr/include 标准头文件
/usr/lib /usr/bin/usr/sbin 中的程序需要的 库文件
/usr/local 与本机相关的本地数据
/usr/sbin 非必要系统程序
/usr/share 构架无关(共享)数据
/usr/src 源码文件
/var 随系统的使用产生变化的数据
/var/log 各类日志文件
/var/tmp 系统重启之后依旧需要保留的临时文件