在上篇文章中我們向您展示了如何在 Linux 上創(chuàng)建一個(gè)共享目錄。這次,我們會(huì)為您介紹如何將 Linux 上指定目錄的讀寫(xiě)權(quán)限賦予用戶。
有兩種方法可以實(shí)現(xiàn)這個(gè)目標(biāo):第一種是 使用 ACL (訪問(wèn)控制列表) ,第二種是創(chuàng)建用戶組來(lái)管理文件權(quán)限,下面會(huì)一一介紹。
為了完成這個(gè)教程,我們將使用以下設(shè)置。
操作系統(tǒng):CentOS 7
測(cè)試目錄:/shares/project1/reports
測(cè)試用戶:tecmint
文件系統(tǒng)類(lèi)型:ext4
請(qǐng)確認(rèn)所有的命令都是使用 root 用戶執(zhí)行的,或者使用 sudo 命令 來(lái)享受與之同樣的權(quán)限。
讓我們開(kāi)始吧!下面,先使用 mkdir 命令來(lái)創(chuàng)建一個(gè)名為 reports 的目錄。
# mkdir -p /shares/project1/reports
使用 ACL 來(lái)為用戶賦予目錄的讀寫(xiě)權(quán)限
重要提示:打算使用此方法的話,您需要確認(rèn)您的 Linux 文件系統(tǒng)類(lèi)型(如 ext3 和 ext4, NTFS, BTRFS)支持 ACL。
1、 首先, 依照以下命令在您的系統(tǒng)中檢查當(dāng)前文件系統(tǒng)類(lèi)型,并且查看內(nèi)核是否支持 ACL:
# df -T | awk '{print $1,$2,$NF}' | grep "^/dev"
# grep -i acl /boot/config*
從下方的截屏可以看到,文件系統(tǒng)類(lèi)型是 ext4,并且從 CONFIG_EXT4_FS_POSIX_ACL=y 選項(xiàng)可以發(fā)現(xiàn)內(nèi)核是支持 POSIX ACL 的。
查看文件系統(tǒng)類(lèi)型和內(nèi)核的 ACL 支持。
查看文件系統(tǒng)類(lèi)型和內(nèi)核的 ACL 支持。
2、 接下來(lái),查看文件系統(tǒng)(分區(qū))掛載時(shí)是否使用了 ACL 選項(xiàng)。
# tune2fs -l /dev/sda1 | grep acl
查看分區(qū)是否支持 ACL
查看分區(qū)是否支持 ACL
通過(guò)上邊的輸出可以發(fā)現(xiàn),默認(rèn)的掛載項(xiàng)目中已經(jīng)對(duì) ACL 進(jìn)行了支持。如果發(fā)現(xiàn)結(jié)果不如所愿,你可以通過(guò)以下命令對(duì)指定分區(qū)(此例中使用 /dev/sda3)開(kāi)啟 ACL 的支持。
# mount -o remount,acl /
# tune2fs -o acl /dev/sda3
3、 現(xiàn)在是時(shí)候指定目錄 reports 的讀寫(xiě)權(quán)限分配給名為 tecmint 的用戶了,依照以下命令執(zhí)行即可。
# getfacl /shares/project1/reports??????????????? # Check the default ACL settings for the directory
# setfacl -m user:tecmint:rw /shares/project1/reports???? # Give rw access to user tecmint
# getfacl /shares/project1/reports??????????????? # Check new ACL settings for the directory
通過(guò) ACL 對(duì)指定目錄賦予讀寫(xiě)權(quán)限
通過(guò) ACL 對(duì)指定目錄賦予讀寫(xiě)權(quán)限
在上方的截屏中,通過(guò)輸出結(jié)果的第二行 getfacl 命令可以發(fā)現(xiàn),用戶 tecmint 已經(jīng)成功的被賦予了 /shares/project1/reports 目錄的讀寫(xiě)權(quán)限。
如果想要獲取 ACL 列表的更多信息。可以在下方查看我們的其他指南。
如何使用訪問(wèn)控制列表(ACL)為用戶/組設(shè)置磁盤(pán)配額
如何使用訪問(wèn)控制列表(ACL)掛載網(wǎng)絡(luò)共享
現(xiàn)在我們來(lái)看看如何使用第二種方法來(lái)為目錄賦予讀寫(xiě)權(quán)限。
使用用戶組來(lái)為用戶賦予指定目錄的讀寫(xiě)權(quán)限
1、 如果用戶已經(jīng)擁有了默認(rèn)的用戶組(通常組名與用戶名相同),就可以簡(jiǎn)單的通過(guò)變更文件夾的所屬用戶組來(lái)完成。
# chgrp tecmint /shares/project1/reports
另外,我們也可以通過(guò)以下方法為多個(gè)用戶(需要賦予指定目錄讀寫(xiě)權(quán)限的)新建一個(gè)用戶組。如此一來(lái),也就創(chuàng)建了一個(gè)共享目錄。
# groupadd projects
2、 接下來(lái)將用戶 tecmint 添加到 projects 組中:
# usermod -aG projects tecmint
# add user to projects# groups tecmint # check users groups
3、 將目錄的所屬用戶組變更為 projects:
# chgrp projects /shares/project1/reports
4、 現(xiàn)在,給組成員設(shè)置讀寫(xiě)權(quán)限。
# chmod -R 0760 /shares/projects/reports
# ls? -l /shares/projects/????? #check new permissions
好了!這篇教程中,我們向您展示了如何在 Linux 中將指定目錄的讀寫(xiě)權(quán)限賦予用戶。若有疑問(wèn),請(qǐng)?jiān)诹粞詤^(qū)中提問(wèn)。