千家信息网

LINUX下的权限细分设置是什么

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇文章给大家分享的是有关LINUX下的权限细分设置是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。业务部门提过来一个FTP配置需求
千家信息网最后更新 2026年11月03日LINUX下的权限细分设置是什么

本篇文章给大家分享的是有关LINUX下的权限细分设置是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

业务部门提过来一个FTP配置需求,具体情况如下:

请提供一台FTP服务器,需要创建的FTP目录及账号规则如下!

人员配置情况:

北京总部:5人(需创建2个账号:bjzb读权限 bjguanli读写执行权限)

北京大区:8人(需创建1个FTP账号:bjdq)

上海大区:6人(需创建1个FTP账号:shdq)

广州大区:5人(需创建1个FTP账号:gzdq)

FTP目录及账号权限创建设计:

/data/bj (北京大区)

账号bjdq权限:写权限、读权限、执行权限

账号shdq、gzdq权限:读权限

账号bjzb权限:读权限

账号bjguanli权限:读权限、写权限、执行权限

/data/sh (上海大区)

账号shdq权限:写权限、读权限、执行权限

账号bjdq、gzdq权限:读权限

账号bjzb权限:写权限、读权限

账号bjguanli权限:读权限、写权限、执行权限

/data/gz (广州大区)

账号gzdq权限:写权限、读权限、执行权限

账号bjdq、shdq权限:读权限

账号bjzb权限:写权限、读权限

账号bjguanli权限:读权限、写权限、执行权限

大家看到这则需求时,基本上会感觉,权限实现起来有点困难。因为在linux下,对一个文件可以进行操作的对象被分为三类:file owner(文件的拥有者)、group(组,注意不一定是文件拥有者所在的组)、other(其他)。在每个类里,权限都是一致的,而在一个相同的类里实现不同的权限就不那么方便了,而上述提到的需求就是要在同一个类里实现不同的权限。那么我们就需要通过LINUX下的ACL来实现题中的需求。简单地说acl就是可以设置特定用户或用户组对于一个文件及目录的操作权限,需要掌握的命令也只有三个:getfacl,setfacl,chacl.

我们来具体说一下文章开头提到的那个需求的实现过程

1、目录和账号的创建

默认情况下,在linux下建立用户的时候,有个默认的家目录,一般是在/home下,但是如果我们想在系统中建立多个用户,而家目录都不在/home 下的话,就需要用useradd -d 来指定家目录

#groupadd ftpgroup

# useradd bjdq -d /data/bj -g ftpgroup

#passwd bjdq

# useradd shdq -d /data/sh -g ftpgroup

#passwd shdq

# useradd gzdq -d /data/gz -g ftpgroup

#passwd gzdq

#useradd bjzb

#passwd bjzb

#useradd bjguanli

#passwd bjguanli

补充还有一个方法是修改/etc/default/useradd文件

# useradd defaults file

GROUP=100

HOME=/home (将默认的HOME改为你设定的目录)

INACTIVE=-1

EXPIRE=

SHELL=/bin/bash

SKEL=/etc/skel

CREATE_MAIL_SPOOL=yes

这样也可以在建用户的时候,指定特定的用户主目录。

2、FTP的设置

FTP服务器地址:192.168.1.130

修改FTP配置文件
# vi /etc/vsftpd/vsftpd.conf

在里面添加如下语句
local_enable=YES //是否允许本地用户登录FTP服务器,默认是允许
write_enable=YES //是否允许用户具有在FTP服务器文件中执行写的权限,默认是允许
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

local_umask=007 #用户的权限

chroot_list_enable=YES //如果希望用户登录后不能切换到自己目录以外的其它目录,需要设置该项来锁定用户目录
chroot_list_file=/etc/vsftpd/chroot_list

userlist_enable=YES #设置userlist_enable=YES,那么只允许/etc/vsftpd/user_list中列出的用户具有该功能
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
~
"/etc/vsftpd/vsftpd.conf" 147L, 5079C written
设置完重启ftp服务
# service vsftpd restart
关闭 vsftpd:[确定]
为 vsftpd 启动 vsftpd:[确定]

三、权限的设置

由于/data/bj的所有者是bjdq,/data/sh的所有者是shdq,/data/gz的所有者是gzdq,这样自然就有了读、写、执行权限,我们只需设置组和其他的权限即可

为了限定bjdq、shdq、gzdq的用户不能切换目录,我们还需要把bjdq、shdq、gzdq这三个用户写入chroot_list文件。
[root@localhost vsftpd]# echo "bjdq" >>chroot_list
[root@localhost vsftpd]# echo "shdq" >>chroot_list
[root@localhost vsftpd]# echo "gzdq" >>chroot_list

权限设置如下:

#chmod 755 /data/bj

#chmod 755 /data/sh

#chmod 755 /data/gz

针对bjzb和bjguanli这两个账户的权限设置如下

#setfacl -R -m u:bjzb:rx /data/bj

#setfacl -R -m u:bjguanli:rwx /data/bj

#setfacl -R -m u:bjzb:rx /data/sh

#setfacl -R -m u:bjguanli:rwx /data/sh

#setfacl -R -m u:bjzb:rx /data/gz

#setfacl -R -m u:bjguanli:rwx /data/gz

[root@localhost data]# ls -l
total 12
drwxr-xr-x+ 4 bjdq ftpgroup 4096 Jan 18 19:09 bj
drwxr-xr-x+ 4 shdq ftpgroup 4096 Jan 18 19:12 sh
drwxr-xr-x+ 4 gzdq ftpgroup 4096 Jan 18 19:22 gz
最后大家可以通过getfacl来查看这三个目录的权限并通过客户端登陆来验证。

(注:setfacl -x g:ftpgroup file 删除ftpgroup组对file文件的所有权限
setfacl -x u:bjguanli /data/bj 删除bjguanli用户对/data/bj目录的权限保留读权限
setfacl -x u:bjzb file 删除bjzb用户对file文件的所有权限)

#getfacl --omit-header /data/bj

getfacl: Removing leading '/' from absolute path names

# file: data/bj

# owner: bjdq

# group: ftpgroup

user::rwx

user:bjguanli:rwx

group::r-x

mask::rwx

other::r-x

default:user::rwx

default:user:bjguanli:rwx

default:group::r-x

default:mask::rwx

default:other::r-x

其他目录权限设置类似
四、客户端测试
[root@localhost /]# ftp 192.168.1.130
Connected to localhost.localdomain.
220 (vsFTPd 2.0.5)
Name (localhost:root): bjdq
331 Please specify the password.
Password:
500 OOPS: cannot change directory:/data/bj
Login failed.
ftp> quit
注意这个报错,你需要考虑IPTABLES和SELINUX的限制了。
可以直接关闭IPTABLES和SELINUX,如果是不能关则需要做如下调整
在IPTABLE里开放FTP服务,允许21、20端口通行。
针对SELINUX的安全限制,可以使用这句
[root@localhost test]# setsebool ftpd_disable_trans 1 #关闭SELinux对ftp的保护
[root@localhost test]# service vsftpd restart

最后再试,一切正常。

[root@localhost test]#ftp 192.168.1.130

Connected to localhost.localdomain.
220 (vsFTPd 2.0.5)
Name (localhost:root): bjdq
331 Please specify the password.
Password:

Login successful.

ftp> pwd

"/"

ftp>bye

经验证,最后权限设置,符合业务部门的需求。

以上就是LINUX下的权限细分设置是什么,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

权限 账号 目录 用户 文件 需求 服务 服务器 三个 就是 情况 所有者 北京 配置 细分 不同 业务 客户 客户端 拥有者 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 深圳九邦互联网科技有限公司 互联网扶贫科技 互联网最新的科技有限公司 科技类互联网 互联网络科技有限公司 猪兼强互联网科技 奇酷互联网络科技公司 长亮科技互联网金融 中正互联网科技招聘 福州新华互联网科技学校 知乎 以后互联网后是啥科技 互联网大会黑科技排名 湖南诚度互联网科技有限公司 互联网5g黑科技有哪些 宜昌元轩互联网科技有限公司 21世纪互联网科技成就 陕西云淼互联网科技公司 美国五大互联网科技公司市值多少 广州三三互联网科技有限公司 中国主要互联网科技公司 互联网科技有限公司图片 互联网科技股票 天速互联网络科技有限公司 科技类公司包括互联网吗 工业互联网等科技实现智能化赋能 下一代互联网重大应用科技园 九思连强互联网电子科技有限公司 福建互联网展示科技馆设计 互联网科技手机排行榜 伍佰万互联网科技是干嘛的
0