中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

LINUX下的權限細分設置是什么

發布時間:2021-10-21 18:02:02 來源:億速云 閱讀:189 作者:柒染 欄目:云計算

本篇文章給大家分享的是有關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下的權限細分設置是什么,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

福清市| 莱州市| 临江市| 井冈山市| 临猗县| 惠水县| 兴义市| 潞西市| 沙坪坝区| 黄大仙区| 布尔津县| 阜城县| 呈贡县| 涟水县| 革吉县| 抚顺县| 兴业县| 延安市| 安平县| 金山区| 武穴市| 株洲县| 随州市| 浏阳市| 宜阳县| 临颍县| 樟树市| 旌德县| 文水县| 宝坻区| 尼木县| 奉新县| 辽源市| 科技| 绵阳市| 龙游县| 洪洞县| 涪陵区| 四子王旗| 建瓯市| 临洮县|