0


2024全网最为详细的红帽系列【RHCSA-(13)】初级及进阶Linux保姆级别骚操作教程;[就怕你日后学成黑客了]

欢迎各位彦祖与热巴畅游本人专栏与博客

你的三连是我最大的动力

以下图片仅代表专栏特色

专栏跑道一

➡️ MYSQL REDIS Advance operation

专栏跑道二
**➡️ **24 Network Security -LJS

专栏跑道三

➡️HCIP;H3C-SE;CCIP——LJS[华为、华三、思科高级网络]

专栏跑道四

➡️RHCE-LJS[Linux高端骚骚操作实战篇]

专栏跑道五

➡️****数据结构与算法[考研+实际工作应用+C程序设计]

上节回顾https://blog.csdn.net/weixin_74796680/article/details/142724717?sharetype=blogdetail&sharerId=142724717&sharerefer=PC&sharesource=weixin_74796680&spm=1011.2480.3001.8118

Linux文件系统权限

1.ACL 权限

简介:

  • ACL 权限分配:给指定的用户指定目录分配指定的权限。

1.ACL权限管理命令

1.1查看ACL权限

#语法格式:
[root@localhost ~]# getfacle 文件名

1.2设定ACL权限

#语法格式:
setfacl 选项 文件名

常见选项详解说明表:

-m*设定 ACL 权限。如果是给予用户 ACL 权限,则使用 u:用户名:权限 格式赋予;如果是给予组 ACL 权限,则使用 g:组名:权限" 格式赋予; -x删除指定的 ACL 权限*-b**删除所有的 ACL 权限-d设定默认 ACL 权限。只对目录生效,指目录中新建立的文件拥有此默认权限-k删除默认 ACL 权限-R**递归设定 ACL 权限。指设定的 ACL 权限会对目录下的所有子文件生效

示例:
#给用户和用户组添加ACL权限
给用户设定 ACL 权限:
setfacl -m u:用户名:权限 指定文件名

给用户组设定 ACL 权限:
setfacl -m g:组名:权限 指定文件名

#通过加上选项 -R 递归设定文件的 ACL 权限,所有的子目录和子文件也会拥有相同的 ACL 权限
setfacl -Rm u:用户名:权限 -R 文件名

# 如果给父目录设定了默认的 ACL 权限,那么父目录中所有新建的子文件会继承父目录的 ACL 权限
setfacl -m d:u:用户名:权限 文件名
setfacl -md u:用户名:权限 文件名
** 举例:**
#所有者root用户在根目录下创建一个文件目录/project,然后创建一个QQ群所属组,所属组里面创建两个用户zhangsan和lisi。此文件权限是770。

#然后创建一个旁听用户 pt,给他设定/project目录的 ACL 为 r-x


[root@kongd ~]# mkdir /project

[root@kongd ~]# useradd zhangsan

[root@kongd ~]# useradd lisi

[root@kongd ~]# groupadd QQgroup

[root@kongd ~]# gpasswd -M zhangsan,lisi QQgroup

[root@kongd ~]# chown root:QQgroup /project/

[root@kongd ~]# chmod 770 /project/

[root@kongd ~]# ll -d /project/
drwxrwx---. 2 root QQgroup 6 12月 30 14:15 /project/

  • 目录 /project 的所有者和所属组其他人权限设定为 770。接下来我们创建旁听用户 pt,并赋予 acl 权限 rx
  • [root@kongd ~]# useradd pt[root@kongd ~]# setfacl -m u:pt:rx /project/注意如下所示,如果某个目录或文件下有 + 标志,说明其具有 acl 权限。[root@kongd ~]# ll -d /project/drwxrwx---+ 2 root QQgroup 6 12月 30 14:15 /project/[root@kongd ~]# getfacl /project/getfacl: Removing leading '/' from absolute path names# file: project/# owner: root# group: QQgroupuser::rwxuser:pt:r-xgroup::rwxmask::rwxother::---
  • 为了验证 pt 用户对于 /project 目录没有写权限,我们用 su 命令切换到 pt 用户,然后进入 /project 目 录,在此目录下创建文件,看是否能成功:
  • [root@kongd ~]# su - pt[pt@kongd ~]$ cd /project/[pt@kongd project]$ touch test.txttouch: 无法创建 'test.txt': 权限不够

1.3删除acl权限

#删除指定用户的 ACL 权限
setfacl -x u:用户名 文件名

#删除指定用户组的 ACL 权限
setfacl -x g:组名 文件名

#删除文件的所有 ACL 权限
setfacl -b 文件名

2.权限掩码umask

2.1权限掩码umask

简介:

  • 在Linux系统中,当用户创建一个新的文件或目录时,系统都会为新建的文件或目录分配默认的权限,该 默认权限与umask值有关

默认权限与umask值的具体关系是:

  • 新建文件的默认权限=0666-umask值
  • 新建目录的默认权限=0777-umask值

分别查看、修改用户当前默认的umask值。

//查看当前用户的umask权限
[root@localhost ~]# umask                     
0022

[root@localhost ~]# touch file800

[root@localhost ~]# mkdir dir800

[root@localhost ~]# ll -d dir800 file800 
drwxr-xr-x. 2 root root 4096 3月  11 19:40 dir800
-rw-r--r--. 1 root root    0 3月  11 19:40 file800

修改shell umask值(临时)

[root@localhost ~]# umask 000

[root@localhost ~]# mkdir dir900

[root@localhost ~]# touch file900

[root@localhost ~]# ll -d dir900 file900 
drwxrwxrwx. 2 root root 4096 3月  11 19:44 dir900
-rw-rw-rw-. 1 root root    0 3月  11 19:44 file900

修改shell umask值(永久)

[root@localhost ~]# vim /etc/profile   
if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
   umask 002
else
   umask 022
fi

[root@localhost ~]# source /etc/profile       //立即在当前shell中生效

通过umask决定新建用户家目录的权限

  • [root@localhost ~]# vim /etc/login.defs UMASK 077[root@localhost ~]# useradd gougou[root@localhost ~]# ll -d /home/gougou/drwx------. 4 gougou gougou 4096 3月 11 19:50 /home/gougou/[root@localhost ~]# vim /etc/login.defsUMASK 000[root@localhost ~]# useradd yangyang[root@localhost ~]# ll -d /home/yangyang/drwxrwxrwx. 4 yangyang yangyang 4096 3月 11 19:53 /home/yangyang/
  • 例如:vsftpd进程 /etc/vsftpd/vsftpd.conf 【了解即可】

  • anon_umask=007local_umask=000
  • 补充说明[感兴趣可以了解一下]
  • vsftpd(Very Secure FTP Daemon)是一个流行的 FTP 服务器,因其安全性和高性能而受到广泛使用。/etc/vsftpd/vsftpd.conf 是 vsftpd 的主要配置文件,用于定义 FTP 服务的各种设置。主要配置选项(1)listen作用:控制 vsftpd 以独立模式(非 xinetd 模式)运行。设置为 YES 时,vsftpd 将直接监听端口。示例:listen=YES(2)listen_ipv6作用:如果服务器支持 IPv6,设置为 YES 可以让 vsftpd 监听 IPv6 地址。示例:listen_ipv6=YES(3)anonymous_enable作用:允许匿名用户访问 FTP 服务器。如果设置为 YES,用户可以使用 "anonymous" 登录。示例:anonymous_enable=NO(4)local_enable作用:允许本地用户登录。如果设置为 YES,系统上的本地用户可以通过 FTP 访问。示例:local_enable=YES(5)write_enable作用:控制是否允许写入操作,如上传文件等。如果设置为 YES,则允许写入。示例:write_enable=YES(6)chroot_local_user作用:将本地用户限制在其主目录中,增强安全性。示例:chroot_local_user=YES(7)userlist_enable作用:启用用户列表功能,可以控制哪些用户可以访问 FTP。示例:userlist_enable=YES(8)userlist_deny作用:指定用户列表中用户的访问权限。如果设置为 YES,则列表中的用户被拒绝访问。示例:userlist_deny=NO(9)max_clients作用:限制同时连接到 FTP 服务器的最大客户端数量。示例:max_clients=200(10)max_per_ip作用:限制每个 IP 地址允许的最大连接数。示例:max_per_ip=5(11)pasv_enable作用:启用被动模式。被动模式下,FTP 客户端与服务器的连接方式更适合穿越防火墙。示例:pasv_enable=YES(12)pasv_min_port 和 pasv_max_port作用:指定被动模式下可使用的端口范围。示例:pasv_min_port=10000 pasv_max_port=10100


本文转载自: https://blog.csdn.net/weixin_74796680/article/details/142724767
版权归原作者 肾透侧视攻城狮 所有, 如有侵权,请联系我们删除。

“2024全网最为详细的红帽系列【RHCSA-(13)】初级及进阶Linux保姆级别骚操作教程;[就怕你日后学成黑客了]”的评论:

还没有评论