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

CSDN 2024-10-17 13:37:01 阅读 97

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

你的三连是我最大的动力

以下图片仅代表专栏特色 

专栏跑道一

 ➡️ MYSQL REDIS Advance operation

专栏跑道二

➡️ 24 Network Security -LJS 

​ 

专栏跑道三

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

专栏跑道四

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

专栏跑道五

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

上节回顾

icon-default.png?t=O83A

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高端骚骚操作实战篇]​编辑​

专栏跑道五

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

上节回顾https://blog.csdn.net/weixin_74796680/article/details/142714983?spm=1001.2014.3001.5501

Linux文件系统权限

1.ACL 权限

简介:

1.ACL权限管理命令

1.1查看ACL权限

1.2设定ACL权限

 常见选项详解说明表:

示例: 

 举例:

目录 /project 的所有者和所属组其他人权限设定为 770。接下来我们创建旁听用户 pt,并赋予 acl 权限 rx 

为了验证 pt 用户对于 /project 目录没有写权限,我们用 su 命令切换到 pt 用户,然后进入 /project 目 录,在此目录下创建文件,看是否能成功:

1.3删除acl权限

2.权限掩码umask

2.1权限掩码umask

简介:

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

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

修改shell umask值(临时) 

修改shell umask值(永久)

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

例如:vsftpd进程 /etc/vsftpd/vsftpd.conf 【了解即可】

补充说明[感兴趣可以了解一下]


Linux文件系统权限

1.ACL 权限

简介:

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

1.ACL权限管理命令

1.1查看ACL权限

<code>#语法格式:

[root@localhost ~]# getfacle 文件名

1.2设定ACL权限

#语法格式:

setfacl 选项 文件名

 常见选项详解说明表:

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

示例: 

<code>#给用户和用户组添加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 

<code>[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值。

<code>//查看当前用户的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值(临时) 

<code>[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值(永久)

<code>[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决定新建用户家目录的权限

<code>[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



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。