在Ubuntu下samba 的配置
一、安裝Ubuntu samba服務器
$ sudo apt-get install samba
$ sudo apt-get install smbclient # Linux客戶端測試用
二、創建samba配置文件
1. 備份原配置文件
$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
2. 創建共享目錄
$ sudo mkdir -p /home/share
一般來說,該目錄的權限為755,將其改為777之後,Owner之外的其他用戶才有權限寫入。
$ sudo chmod 777 /home/share
3. 修改配置文件
$ sudo vim /etc/samba/smb.conf
在smb.conf最後添加:
[share]
path = /home/share
browseable = yes
writable = yes
comment = smb share test
另外,總結一下常見的samba配置及說明:
[share] # 該共享的共享名
comment = smb share test # 該共享的備註
path = /home/share # 共享路徑
allow hosts = host(subnet) # 設置該Samba服務器允許的工作組或者域
deny hosts = host(subnet) # 設置該Samba服務器拒絕的工作組或者域
available = yes|no # 設置該共享目錄是否可用
browseable = yes|no # 設置該共享目錄是否可顯示
writable = yes|no # 指定了這個目錄缺省是否可寫,也可以用readonly = no來設置可寫
public = yes|no # 指明該共享資源是否能給遊客帳號訪問,guest ok = yes其實和public = yes是一樣的
user = user, @group # user設置所有可能使用該共享資源的用戶,[email protected],不同的項目之間用空格或者逗號隔開
valid users = user, @group # 指定能夠使用該共享資源的用戶和組
invalid users = user, @group # 指定不能夠使用該共享資源的用戶和組
read list = user, @group # 指定只能讀取該共享資源的用戶和組
write list = user, @group # 指定能讀取和寫該共享資源的用戶和組
admin list = user, @group # 指定能管理該共享資源(包括讀寫和權限賦予等)的用戶和組
hide dot files = yes|no # 指明是否像UNIX那樣隱藏以“.”號開頭的文件
create mode = 0755 # 指明新建立的文件的屬性,一般是0755
directory mode = 0755 # 指明新建立的目錄的屬性,一般是0755
sync always = yes|no # 指明對該共享資源進行寫操作後是否進行同步操作
short preserve case = yes|no # 指明是否區分文件名大小寫
preserve case = yes|no # 指明是否保持大小寫
case sensitive = yes|no # 指明是否對大小寫敏感,一般選no,不然可能引起錯誤
mangle case = yes|no # 指明混合大小寫
default case = upper|lower # 指明缺省的文件名是全部大寫還是小寫
force user = testuser # 強制把建立文件的屬主是誰。如果我有一個目錄,讓guest可以寫,那麽guest就可以刪除,如果我用force user= testuser強制建立文件的屬主是testuser,同時限制create mask = 0755,這樣guest就不能刪除了
wide links = yes|no # 指明是否允許共享外符號連接,比如共享資源裏面有個連接指向非共享資源裏面的文件或者目錄,如果設置wide links = no將使該連接不可用
max connections = 100 # 設定最大同時連接數
delete readonly = yes|no # 指明能否刪除共享資源裏面已經被定義為只讀的文件
三、創建samba用戶
註意,創建samba用戶之前,必須先確保有一個同名的Linux用戶,否則samba用戶會創建失敗。
$ sudo smbpasswd -a smbuser
四、重啟samba服務
$ sudo service smbd restart
五. 客戶端訪問測試
1. Linux客戶端訪問測試
$ smbclient -L //localhost/share
2. Windows客戶端訪問測試
可以訪問如下地址:
\\IP或者主機名\share
如果public = no,此時需要輸入samba用戶密碼;如果public = yes,則作為nobody用戶直接訪問。
另外,在Windows客戶端使用net use * /del /y這條命令可以清理訪問緩存。
在Ubuntu下samba 的配置