Linux 账号和权限管理(下)目录或文件权限

在这里插入图片描述

前言

这篇文章是《Linux 账号和权限管理(上)》的下半篇章,链接如下
http://t.csdn.cn/M4fj9
本篇总结了对文件或目录权限和归属修改的相关命令和具体操作,还有一些特殊权限的作用。如果对你有帮助的话还请点个赞支持一下博主哟,感谢🌹🌹🌹

管理目录和文件的属性

文件/目录的权限和归属

  • 访问权限
    读取 r: 允许查看文件内容、显示目录列表
    写入 w: 允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
    可执行 x: 允许运行程序、切换目录
  • 归属(所有权)
    属主:拥有该文件或目录的用户帐号
    属组:拥有该文件或目录的组帐号

查看文件/目录的权限和归属

ls -l [文件名]
//不加文件名就是查看当前文件夹下所有文件的权限和归属

[root@localhost ~]# ls -l
总用量 12
drwxr-xr-x.  2 root root     6 721 2021 aa
-rw-------.  1 root root  1588 714 2021 anaconda-ks.cfg
-rw-r--r--.  1 root root    26 927 10:26 a.txt
drwxr-xr-x.  2 root root     6 721 2021 bbc
-rw-r--r--.  1 root root     0 721 2021 b.txt
-rw-r--r--.  1 root root     0 721 2021 c.txt
drwxr-xr-x. 12  501 games 4096 1013 04:02 httpd-2.4.25

以第一行aa文件的信息为例
第一列为文件类型和权限十个字段,可以这样理解
d/rwx/r-x/r-x
p 表示命名管道文件
d 表示目录文件
l 表示符号连接文件
- 表示普通文件
s 表示socket套接口文件,比如我们启用mysql时,会产生一个mysql.sock文件
c 表示字符设备文件,例: 虚拟控制台 或tty0
b 表示块设备文件,例: sda, cdrom
这里aa是目录文件

后面九个字段分为三组,第一组代表文件所有者的权限(即root),第二组代表所属组的权限(也是root),第三组代表其它用户权限
rwx表示有读写执行权限,r-x表示有读并执行的权限。
第11字段:表示selinux安全机制特性,对于关闭了selinux的操作系统在新建文件或目录时没有这个"."
第12字段: 对于文件来说:文件硬链接数量;对于目录来说:该目录下子目录数量,子子目录数量不计算在内。
第4、5列:表示当前用户的所有者和所属组。
第6列:当前文件的大小,单位默认为字节。
第7、8、9列:修改文件的时间,可通过touch命令刷新该时间。
第10列:当前文件或目录的名称。

设置文件和目录的权限 chmod

chmod命令

chmod   [ugoa]  [+-=]  [rwx]  文件或目录...
或
chmod nnn 文件或目录...
//u、g、o、a 分别表示属主、属组、其他用户、所有用户
//+、-、= 分别表示
增加、去除、设置权限
//nnn表示3位八进制数

[root@localhost ~]# chmod a=rwx httpd-2.4.25
[root@localhost ~]# ls -l
drwxrwxrwx. 12  501 games 4096 1013 04:02 httpd-2.4.25

当然,为了方便还可以用数字表示权限
在这里插入图片描述

[root@localhost ~]# chmod 764 httpd-2.4.25
[root@localhost ~]# ls -l
drwxrw-r--. 12  501 games 4096 1013 04:02 httpd-2.4.25

另外,可以用-R递归修改指定目录下所有子项的权限.

设置文件和目录的归属 chown

chown命令

chown  属主   文件或目录
chown  :属组  文件或目录
chown  属主:属组  文件或目录

[root@localhost ~]# chown hushaotian:hushaotian b.txt 
[root@localhost ~]# ls -l
-rw-r--r--.  1 hushaotian hushaotian    0 721 2021 b.txt
[root@localhost ~]# chown :root b.txt 
[root@localhost ~]# ls -l
-rw-r--r--.  1 hushaotian root     0 721 2021 b.txt

设置文件和目录默认权限 umask

umask命令
命令作用:
定义新创建文件及目录的默认权限,通过该命令实现定义权限补码
注意:文件权限最大666,目录权限最大777
设置默认权限的文件在哪呢

[root@localhost ~]# vim /etc/profile

如下图:
在这里插入图片描述

[root@localhost ~]# umask 000
[root@localhost ~]# touch wj1
[root@localhost ~]# ls -l
-rw-rw-rw-.  1 root       root     0 1021 01:01 wj1
//wj1的权限是666,即最高权限减去umask定义值

上面计算默认权限可以适用于大部分情况,唯独umask 333不行,因为严谨科学的算法是将值都转化为二进制,对umask值取反,再做运算之后再转换为8进制,即为权限。

下面这些特殊权限可以仅做了解

特殊的权限 suid

  • 命令作用
    程序运行时的权限从执行者变更成程序所有者的权限(例如普通用户abc,没有对shadow文件写入的权限, 但是abc用户使用passwd修改自己密码时,可以修改shadow文件中的内容)
  • 使用方法
    程序运行时的权限从执行者变SUID属性一般用在可执行文件上,当用户执行该文件时,会临时拥有该执行文件的所有者权限。使用”ls -l” 或者”ll” 命令浏览文件时,如果可执行文件所有者权限的第三位是一个小写的”s”,就表明该执行文件拥有SUID属性。比如/usr/bin/passwd文件
chmod u+s abc
chmod u-s abc

特殊的权限 sticky

  • 命令作用
    • 只作用于目录
    • 目录下创建的文件只有root、文件创建者、目录所有者才能删除。(相当于windows中的共享文件夹)
  • 使用方法
    对系统中的某些目录可以授予这样的权限,此时该目录就遵循该权限规则,如系统中的/tmp目录
chmod o+t a1
chmod o-t a1

特殊的权限 ACL

  • 命令作用
    • 可作用于文件及目录
    • 针对文件和目录授予单个用户的rwx权限
  • 使用方法
    例:用户abc既不是属主也不是属组,但需要允许abc用户能够对该对象有rwx权限,但其他用户无权限,该如何实现?
# setfacl -R -m d:u:abc:rwx test	//文件夹
# setfacl -m u:wangwu:rwx abc 	//文件

-R 表示递归授权
-m 表示修改acl权限
d 表示只对后续新对象继承该权限
u 表示用户
abc 表示要授权用户名称

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值