权限与目录

本地用户与组相关文件

  • 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系统重启之后依旧需要保留的临时文件
作者:SteveChen  创建时间:2025-04-06 13:59
最后编辑:SteveChen  更新时间:2025-04-06 14:00
上一篇:
下一篇: