在Ubuntu中設置共享文件夾的權限(只讀、讀寫、無權限),主要通過兩種方式實現:?文件系統權限?和?Samba共享配置?。以下是詳細步驟:
?一、文件系統權限設置(基礎權限)?
1. ?修改文件夾所有權和權限?
① 創建共享目錄(示例)
sudo mkdir /mnt/shared
②?
創建新系統用戶
sudo adduser 共享用戶名 # 創建新系統用戶
?#或者
sudo useradd -M -s /usr/sbin/nologin 共享用戶名 # 創建無登錄權限的用戶
③??設置Samba專屬密碼
先安裝Samba?
sudo apt update
sudo apt install samba
sudo smbpasswd -a 共享用戶名 # 設置獨立于系統密碼的Samba訪問密碼
④添加用戶到用戶組(如組名為 "sharegroup")
sudo groupadd sharegroup
sudo usermod -aG sharegroup 用戶名 # 將需要訪問的用戶加入組
⑤修改文件夾所屬組
sudo chgrp -R sharegroup /mnt/shared
⑥設置權限:
# 讀寫權限:組用戶可讀寫
sudo chmod -R 775 /mnt/shared # 所有者和組可讀寫,其他人只讀
# 或
sudo chmod -R 770 /mnt/shared # 僅所有者和組可讀寫
# 只讀權限:組用戶只讀
sudo chmod -R 750 /mnt/shared # 所有者讀寫,組只讀
# 或
sudo chmod -R 755 /mnt/shared # 所有者讀寫,組和其他人只讀
# 無權限:拒絕特定用戶訪問
sudo chmod -R 750 /mnt/shared # 僅所有者和組可訪問(拒絕其他用戶)
2. ?驗證權限?
ls -ld /mnt/shared # 輸出示例:drwxr-xr-x 表示其他人只讀
?二、Samba共享設置(網絡共享權限)?
?1. 編輯Samba配置文件?
sudo nano /etc/samba/smb.conf
在文件末尾添加以下配置(根據需求選擇一種):
讀寫權限配置?:
?[Shared]
? ?path = /mnt/shared
? ?browseable = yes
? ?writable = yes # 允許寫入
? ?valid users = @sharegroup # 允許訪問的用戶組
? ?create mask = 0775 # 新建文件權限
? ?directory mask = 0775 # 新建目錄權限
只讀權限配置?:
?[Shared]
? ?path = /mnt/shared
? ?browseable = yes
? ?read only = yes # 設置為只讀
? ?valid users = @sharegroup
?無權限配置?(拒絕訪問):
?[Shared]
? ?path = /mnt/shared
? ?browseable = no # 隱藏共享
? ?guest ok = no # 禁止來賓訪問
? ?valid users = 特定用戶名 # 只允許特定用戶(不包含拒絕的用戶)
2. ?重啟Samba服務?
sudo systemctl restart smbd nmbd
?三、權限組合說明?
權限類型 | 文件系統命令 | Samba配置關鍵項 |
---|---|---|
?讀寫? |
|
|
?只讀? |
|
|
?無權限? | 不添加用戶組 +? | 不添加用戶到? |
????????權限對照表
權限類型 | 關鍵配置項 | 生效場景 |
---|---|---|
讀寫 |
| Samba共享 |
只讀 |
| Samba共享 |
無權限 | 不在 | 所有共享類型 |
?四、驗證權限生效?
?本地驗證?:
# 嘗試用不同用戶創建文件
sudo -u 用戶名
?touch /mnt/shared/test.txt
成功:讀寫權限有效
失敗:檢查用戶組和文件權限
?網絡共享驗證?:
從另一臺電腦訪問共享:
smb://ubuntu_ip/Shared
輸入已授權的Samba用戶密碼測試讀寫操作。
?五、高級權限控制?
?精細控制?:使用ACL(訪問控制列表)細化權限:
sudo apt install acl
sudo setfacl -m g:sharegroup:rwx /mnt/shared # 賦予組讀寫執行
sudo setfacl -m g:readonlygroup:r-x /mnt/shared # 只讀組
匿名訪問?(慎用):
在Samba配置中添加:
guest ok = yes
public = yes
核心原則?:
文件系統權限控制本地訪問。
Samba配置控制網絡訪問。
兩者需配合使用以確保安全。