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

你的三连是我最大的动力

以下图片仅代表专栏特色 

专栏跑道一
 ➡️ MYSQL REDIS Advance operation


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

​ 

专栏跑道三

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

专栏跑道四
➡️RHCE-LJS[Linux高端骚骚操作实战篇]

专栏跑道五

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

上节回顾icon-default.png?t=O83Ahttps://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权限

#语法格式:
[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
    

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐