ubuntu20.04 安裝 samba 並配置 win10映射

1、安裝samba軟件並配置開機自啓動

apt-get install samba samba-common
systemctl enable smbd

2、創建sumba主文件夾

mkdir /opt/data/samba
chmod -R 777 /opt/data/samba

3、添加用戶,必須先有對應的系統用戶,才能添加到samba用戶,用useradd添加的用戶默認無法從shell登錄系統,不會創建用戶目錄,比較安全。

useradd -s /sbin/nologin -r public
smbpasswd -a public

4、添加組,此處組名叫samba,經測試,用戶新建文件權限不管怎麼設置other用戶都沒有寫權限(你設置create mode=0777,結果新創建文件就是0775),很奇怪的0755,然後其它用戶上傳的文件可以刪除,不能修改。半天都沒解決,心累,無奈,用組用戶把吧。   我的需求也簡單,管理員全部權限,其它所有用戶public目錄有全部權限,用戶共享和交換文件,share文件夾管理員可寫,其它用戶只讀。

groupadd samba

# 把public用戶添加到samba組
usermod -a -G samba public

# 把public用戶所屬組改爲samba
usermod -g samba public

4、create mode=0777,結果新創建文件就是0775,然後其它用戶上傳的文件可以刪除,不能修改。最後發現,write list 裏的用戶不能修改別人上傳的文件,但admin users可以,

經過各種嘗試,配置說明如下:

# 所有做過 smbpasswd 的用戶都可以登錄,可以讀取,不能修改、刪除、改名(即便是自己創建的文件[有權限的文件]也不行)
public = no
browseable=yes
# 所有做過 smbpasswd 的用戶都可以登錄,可以讀取;user1用戶可以添加、改名、刪除所有文件,但修改其它用戶的文件內容無法保存
public = no
browseable=yes
write list = user1
#所有做過 smbpasswd 的用戶都可以登錄,可以讀取;user1用戶也是隻讀權限,admin users 配置不起作用
public = no
browseable=yes
admin users = user1
# 只有user2可以登錄,可以讀取全部文件,不能修改、刪除、改名(即便是自己創建的文件也不行)
public = no
browseable=yes
valid users = user2
# 所有做過 smbpasswd 的用戶都可以登錄,可以讀取,可以添加、改名、刪除所有文件,但修改其它用戶的文件內容無法保存。writable完全覆蓋browseable
public = no
browseable=yes
writable=yes

# 等同於
public = no
writable=yes

# 等同於
public = no
writable=yes
browseable=no

# 等同於
public = no
browseable=no
writable=yes
# 只有user2可以登錄,可以讀取,可以添加、改名、刪除所有文件,但修改其它用戶的文件內容無法保存
public = no
writable=yes
valid users = user2
# writable與write list一起,write list不起作用
public = no writable=yes write list = user1

# 等同於
public = no
writable=yes
# user1擁有全部權限,其它用戶沒有修改非所屬自己的文件的權限(修改萬沒法保存),其它權限全有
public = no
writable=yes
admin users = user1

----------------------------

browseable = 可讀
writable = 可寫(但不能修改其它用戶的文件,深層次原因是create mode/mask 配置777,結果上傳的文件是775,chmod改爲777後可以修改)

----------------------------

valid users = 是否可以登錄

write list = 是否可以寫文件

admin users = 是否可以修改別人的文件(管理權限)

-----------------------------

 

5、修改配置文件

vim /etc/samba/smb.conf

找到 map to guest = bad user 並註釋,不然後續訪問提示:

 找到 usershare allow guests = yes ,將yes改爲no

[global] 區塊的最後加這三句,支持軟鏈接

follow symlinks = yes
wide links = yes
unix extensions = no

 

最終配置:# 所有人對所有文件都有讀寫權限(不能修改他人文件內容)

[public]
comment = public
path = /opt/data/samba/public
create mode = 0666
directory mode = 0777
public = no
writable = yes

# 只讀共享,所有人都只讀
[share]
comment = share
path = /opt/data/samba/share
valid user = huiyun
create mode = 0777
directory mode = 0777
public = no
browseable = true

# 科研數據,user1可寫,user2只讀
[keyan]
comment = keyan
path = /opt/data/samba/keyan
create mode = 0666
directory mode = 0777
public = no
valid users = user1,user2
admin users = user1
# 上級目錄,管理權限,admin管理(valid users 必須加,不然所有用戶都能登錄,都有writable權限) [manage] comment
= manage path = /opt/data/samba create mode = 0666 directory mode = 0777 public = no admin users = admin valid users = admin

 

6、重啓服務

systemctl restart smbd

 

7、win10映射

 

 

 

輸入用戶名,密碼完成映射。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章