2024全网最为详细的红帽系列【RHCSA-(13)】初级及进阶Linux保姆级别骚操作教程;[就怕你日后学成黑客了]
Linux文件系统权限之ACL 权限、权限掩码umask等具体操作详解步骤;精典举例说明、注意点及常见报错问题所对应的解决方法IKUN和I原们你这要是学不会我直接退出江湖;好吧!!!
·
欢迎各位彦祖与热巴畅游本人专栏与博客
你的三连是我最大的动力
以下图片仅代表专栏特色
专栏跑道一
➡️ 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
目录
专栏跑道一 ➡️ MYSQL REDIS Advance operation
专栏跑道二➡️ 24 Network Security -LJS
➡️HCIP;H3C-SE;CCIP——LJS[华为、华三、思科高级网络]
专栏跑道四➡️RHCE-LJS[Linux高端骚骚操作实战篇]编辑
上节回顾https://blog.csdn.net/weixin_74796680/article/details/142714983?spm=1001.2014.3001.5501
目录 /project 的所有者和所属组其他人权限设定为 770。接下来我们创建旁听用户 pt,并赋予 acl 权限 rx
为了验证 pt 用户对于 /project 目录没有写权限,我们用 su 命令切换到 pt 用户,然后进入 /project 目 录,在此目录下创建文件,看是否能成功:
例如:vsftpd进程 /etc/vsftpd/vsftpd.conf 【了解即可】
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: QQgroup user::rwx user:pt:r-x group::rwx mask::rwx other::---
为了验证 pt 用户对于 /project 目录没有写权限,我们用 su 命令切换到 pt 用户,然后进入 /project 目 录,在此目录下创建文件,看是否能成功:
[root@kongd ~]# su - pt [pt@kongd ~]$ cd /project/ [pt@kongd project]$ touch test.txt touch: 无法创建 '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.defs UMASK 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=007 local_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
更多推荐
已为社区贡献1条内容
所有评论(0)