背景:
家裏有一臺NAS,想創建幾個目錄,家裏各個成員有各自的個人資料存放目錄,同時也有一個共享目錄。
網上搜了一堆關於Ubuntu搭建samba的教程,誠然指令是沒問題的,但是有些用法並不適用於我的實際情況,因此現整理如下,以備參考;
實戰:
創建用戶
由於我本身不需要多用戶登錄NAS,因此其實並不需要在Ubuntu下創建實體用戶,因此部分網上教程說的適用adduser其實並不適用;
創建一個用戶,並不分配登錄密碼,也不創建home目錄,因此此用戶不能用於登錄Ubuntu:
sudo useradd ryan
爲新創建的用戶設置samba密碼:
sudo smbpasswd -a ryan
由於我需要一個共享目錄,首先想到的就是使用用戶組的方式,於是創建用戶組並把新建用戶添加進組:
sudo groupadd home
sudo usermod -G home -a ryan
同理可以創建多個用戶;
然後我們創建需要共享的目錄:
mkdir /D/smbshare/Ryan/
mkdir /D/smbshare/Public/
sudo chown ryan:ryan /D/smbshare/Ryan/
sudo chown root:home /D/smbshare/Public/
sudo chmod 770 /D/smbshare/Ryan/
sudo chmod 770 /D/smbshare/Public/
需要注意,此處創建目錄的權限處於安全考慮修改爲了770,個人網盤的owner與group修改爲用戶本身,公共目錄可以修改owner爲root,group爲需要共享的用戶所在的組;
此處最好可以適用su指令切換到對應用戶,並本地驗證該用戶在該目錄下是否有應有的權限。
非然後修改samba配置文件/etc/samba/smb.conf:
[Ryan]
comment = Samba Share Directory for Ryan
path = /D/smbshare/Ryan
browseable = yes
writable = yes
guest ok = no
read only = no
public = no
valid users = ryan
[Public]
comment = Samba Share Directory for Public Use
path = /D/smbshare/Public
browseable = yes
writable = yes
guest ok = no
read only = no
public = no
valid users = @home
然後重啓smbd即可:
sudo /etc/init.d/smbd restart