-
Linux 用户权限 存储位置
/etc/passwd
-
Linux 用户密码 存储位置
/etc/shadow
-
Linux 组权限 存储位置
/etc/group
su
命令(substitute user)
若 su 命令不加任何参数,则默认指定为转换至 root
账号
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 位 | 文件类型 |
第 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 [-r] [新群组] [文件名]
chown [-r] [新所有者]|{[新所有者]:[新群组]} [文件名]
chmod [-r] [u/g/o/a] [+/-/=] {[r/w/x/X]|[0/1/2/4/...]}
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
为 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 |
系统重启之后依旧需要保留的临时文件 |