作者:E4b9a6, 创建:2024-06-13, 字数:1826, 已阅:148, 最后更新:2024-06-13
在大部分操作系统中,权限都是很重要的部分
在linux中,每个文件都有文件的所有者、文件所在组以及其它组的权限细分
以这份输出为例子
chancel@R7-4750G ~$ ll -a
total 60K
drwxr-x--- 37 chancel chancel 4.0K 12月 15 14:48 .
drwxr-xr-x 3 root root 4.0K 9月 20 14:05 ..
-rw------- 1 chancel chancel 1.7K 9月 20 14:32 .bash_history
-rw-r--r-- 1 chancel chancel 220 9月 20 14:05 .bash_logout
-rw-r--r-- 1 chancel chancel 3.7K 9月 20 14:05 .bashrc
-rw------- 1 chancel chancel 105K 12月 15 14:48 .zsh_history
-rw-r--r-- 1 chancel chancel 4.1K 11月 15 16:29 .zshrc
-rw-r--r-- 1 chancel chancel 4.1K 11月 15 16:29 config.yml
drwxr-xr-x 2 chancel chancel 4.0K 9月 20 14:08 Desktop
drwxr-xr-x 3 chancel chancel 4.0K 10月 9 17:39 Documents
drwxr-xr-x 15 chancel chancel 12K 12月 14 16:58 Downloads
drwxr-xr-x 2 chancel chancel 4.0K 9月 20 14:08 Music
drwxr-xr-x 2 chancel chancel 4.0K 9月 20 15:19 Pictures
drwxr-xr-x 2 chancel chancel 4.0K 9月 20 14:08 Public
drwxr-xr-x 2 chancel chancel 4.0K 9月 20 14:08 Templates
drwxr-xr-x 2 chancel chancel 4.0K 9月 20 14:08 Videos
说明
drwxr-xr-x
:首字母表示是否是文件夹,后面的rwx
表示读取、写入、执行3个权限,每3个1组,一共3组,从左往右3组分别代表文件所有者的权限、文件所在组的权限、其他组的读取写入以及执行权限的情况chancel chancel
:表示所有者是chancel
,所在组也是chancel
举例
config.yml
文件是-rw-------
,表示他不是文件夹是文件,文件的所有者是chancel
,chancel
用户对这个文件有读和写但没有执行权限,文件所在组chancel
组内的用户没有读取写入执行权限,其他用户也是没有读取写入执行的权限接下来是如何更改一个文件的权限,以文件config.yml为例
# 在Linux中经常使用数字`421`来替代`rwx`
# 第1个数字7代表所有者的权限是可读可写可执行(7=4+2+1)
# 第2个数字5代表所在组是可读可执行(5=4+1)
chmod 755 config.yml
# 常规但不常见的写法,不好写,u表示所有者的权限,g代表所在组的权限,o代表other用户
chmod u=rwx,g=rx,o=rx config.yml
# 简写,表示所有者的权限排除执行权限,所在组追加写入权限
chmod u-x,g+w config.yml
# 炫耀写法,a代表all,r代表读取权限,即所有人追加读取的写法
chmod a+r config.yml
在实际应用中我们也经常需要更改文件的所有者、所在组
chown root config.yml
chgrp root config.yml