文件权限
1 ls -al
ls = list 显示文件的文件名和相关属性
drwxrwxr-x 3 ltvieri ltvieri 4096 12月 5 23:24 dev_software
drwxrwxr-x 2 ltvieri ltvieri 4096 12月 5 23:23 downloads
drwxr-xr-x 3 root root 4096 12月 6 21:38 blackhole
各列的含义如下:
- 第一列
drwxrwxr-x
权限 - 第二列
3
连接数 - 第三列
ltvieri
所属用户 - 第四列
ltvieri
所属用户组 - 第五列
4096
文件大小, 默认单位B - 第六列
12月 5 23:24
最后修改时间 - 第七列
dev_software
文件名
2 权限字符的含义(共10个字符)
drwxrwxr-x
第1个字符:文件类型。d
目录,-
文件,l
链接文件
第2,3,4个字符,为一组:文件所有者(User)的权限。依次为r
读w
写x
执行-
无权限。读、写、执行3种权限顺序不变,如果有权限则显示对应的字母,如果没有权限则显示-
。例如rwx
可读可写可执行,r-w
可读不可写可执行。规则下同。
第5,6,7个字符,为一组:同用户组(Group)的权限
第8,9,10个字符,为一组:非本用户组(Others)的权限
因此,本例drwxrwxr-x
的含义是,这是个文件夹d
,文件拥有者可读可写可执行rwx
, 同用户组可读可写可执行rwx
,其他用户可读不可写可执行r-x
3 改变用户权限
3.1 chgrp 改变所属组
chgrp -R 组名 文件名
chgrp = change group -R = recursive 递归。注意,新组名必须是/etc/group
文件里存在的组名才行,否则会报错
3.2 chown 改变所有者
chown -R 账户名 文件名
3.3 chmod 更改权限
3.3.1 使用权限分数
rwx三种权限可以用对应的数字进行描述。r
= 4, w
= 2, x
= 1。rwx = 4 + 2 + 1 = 7 。例如使用vim新建保存的文件,权限默认是-rw-rw-r--
也就是640
因此几个应用举例:
- 文件对所有用户可读可写可执行
chmod 777 文件名
执行结果是-rwxrwxrwx
- 文件仅可读可写可执行,所属组可读
chmod 740
,执行结果-rwxr-----
3.3.2 使用权限字母
u=user, g=group, o=others, a=all
, + 增加权限, - 出去权限, = 设置权限
。举例:
- 与 chmod 740 等效果
chmod u=rwx,g=r 文件名
- 给
-rw-rw-r--
增加所属用户执行权限chmod u+x 文件名
,执行结果-rwxrw-r--
- 给
-rwxrwxr--
所属组去除可执行权限chmod g-x 文件名
,执行结果-rwxrw-r--