重啓防火牆
sudo ufw disable //關閉防火牆
sudo ufw enable //開啓
sudo ufw status //查看防火牆狀態
安裝
sudo apt-get install samba
sudo apt-get install smbclient
sudo apt-get install daemon
sudo apt-get install libtalloc2
配置
打開Samba配置文件:
sudo vim /etc/samba/smb.conf
在其最後添加:
[share]
path = /home/zhangtao/share //此目錄爲共享目錄路徑,請根據實際情況修改
available = yes
browseable = yes
public = yes
writable = yes
創建共享目錄
mkdir ~/share
chmod 777 ~/share
創建Samba用戶
sudo touch /etc/samba/smbpasswd
sudo smbpasswd -a zhangtao
根據提示輸入用戶密碼(登陸Samba共享目錄的時候需要).
重啓Samba
sudo /etc/init.d/samba restart
開啓Ubuntu的Samba服務器的端口
這一步剛開始的沒有意識到,然後就是windows一直無法訪問:命令如下所示
sudo ufw allow 137/udp
sudo ufw allow 138/udp
sudo ufw allow 139/tcp
sudo ufw allow 445/tcp
結果如下爲正常
taozhang@taozhang-virtual-machine:~/share$ sudo ufw allow 137/udp
規則已添加
規則已添加 (v6)
taozhang@taozhang-virtual-machine:~/share$ sudo ufw allow 138/udp
規則已添加
規則已添加 (v6)
taozhang@taozhang-virtual-machine:~/share$ sudo ufw allow 139/tcp
規則已添加
規則已添加 (v6)
taozhang@taozhang-virtual-machine:~/share$ sudo ufw allow 445/tcp
規則已添加
錯誤處理
配置上述之後,正常就可以訪問samba了,如果訪問不了,可以查看下/var/log/samba/目錄下的log.%m文件內容,裏邊記錄了具體的錯誤,我遇到的錯誤如下所示
[2019/12/08 18:32:17.137859, 0] ../source4/smbd/server.c:372(binary_smbd_main)
samba version 4.3.11-Ubuntu started.
Copyright Andrew Tridgell and the Samba Team 1992-2015
[2019/12/08 18:32:17.159113, 0] ../source4/smbd/server.c:477(binary_smbd_main)
At this time the 'samba' binary should only be used for either:
'server role = active directory domain controller' or to access the ntvfs file server with 'server services = +smb' or the rpc proxy with 'dcerpc endpoint servers = remote'
You should start smbd/nmbd/winbindd instead for domain member and standalone file server tasks
[2019/12/08 18:32:17.159187, 0] ../lib/util/become_daemon.c:111(exit_daemon)
STATUS=daemon failed to start: Samba detected misconfigured 'server role' and exited. Check logs for details, error code 22
看到上面的Log 輸出failed的地方有個daemon,猜想是不是daemon沒有安裝,於是用下面命令安裝了該軟件:
sudo apt-get install daemon
sudo apt-get install libtalloc2
如果已經安裝了這兩個軟件可以嘗試重新安裝下
sudo apt-get install --reinstall daemon
sudo apt-get install --reinstall libtalloc2
然後重新啓動後神奇般就可以訪問samba共享目錄了