ubuntu 14.04 samba 伺服器&&ubuntu 12.04 samba 伺服器設定
安裝 SAMBA 元件
sudo apt-get install samba smbfs smbclient
ubuntu 14.04 使用以下方式安裝:
1 2 3 4 5 6 7 |
若之前有安裝過相關軟體包,先解除安裝之:
sudo
apt- get autoremove
samba samba-common
sudo
apt- get autoremove
system-config-samba
按如下方式安裝軟體包
sudo
apt- get install
samba samba-common
sudo
apt- get install
system-config-samba cifs-utils |
配置相關引數
sudo gedit /etc/samba/smb.conf
檔案中相關屬性如下
1.全域性設定部分
security = user
這行設定了samba的安全等級,Samba一共可以設定四個安全登記,由底到高分別為:
share 這個選項表示任何人都可以不需要輸入密碼登入。
user 這個是Samba的預設級別,要求每個使用者必須輸入密碼才能登入。
server user級別的密碼都是儲存在本機上,而server級別的密碼和使用者名稱都儲存在另一臺主機上。
domain 這個級別要求網路裡必須有一臺Windows的域控制器,驗證工作由域控制器來完成。
需要注意,只要輸入使用者名稱和密碼的級別,其使用者名稱一定首先也是Linux系統內的使用者
workgroup = MSHOME
這部分是Windows主機的工作組明,Windows主機必須在同一個工作組中
server string = %h server(Samba,Ubuntu)
這個選項是顯示在Windows上的資訊,可以自定義,其中%h為Samba配置檔案中的變數,代表了主機名,即使用hostname命令得到的主機名
map to guest = bad user
當 security = user 時,這個選項必須註釋掉,如:# map to guest = bad user
2.共享設定部分
新增一個共享資料夾設定如下
[share]
共享檔名,不需要與實際檔名一致
comment = my share directory
對這個共享分支的描述
path = /share
系統的共享目錄,必須為絕對路徑
public = yes
是否允許所有人都能夠看到此目錄,no為看不到
writable = yes
是否允許使用者在此目錄下可寫,no為不可些,如果可寫,還需要目錄具有寫許可權
read only = yes
設定使用者是否只讀
vaild users = username
設定只有 username 使用者有效
SAMBA 使用者管理
在需要密碼登入時有效,在設定使用者密碼時,此使用者必須是LINUX系統的使用者,如下面的指令 user 必須先是系統的使用者
sudo smbpasswd -a user
接下來根據提示輸入兩次密碼即可
smbpasswd 指令相關引數如下:
-a 新新增一個Samba使用者。
-d 禁用一個Samba使用者。
-e 使禁用的Samba使用者解禁。
啟動 SAMBA 服務
# 停止 SAMBA 服務
sudo /etc/init.d/smbd stop
# 啟動 SAMBA 服務
sudo /etc/init.d/smbd start
# 重新啟動
sudo /etc/init.d/smbd restart
在 WINDOWS 下訪問共享目錄
# 在資源管理器,或瀏覽器中直接輸入即可, “192.168.1.10” 為伺服器 IP
\\192.168.1.10
注意:有時會出現無法訪問的情況:
無法訪問。您可能沒有許可權使用網路資源,請與這臺伺服器的管理員聯絡以查明您是否有訪問許可權。
指定的網路名不再可用
通過 Samba的log, /var/log/samba/log.{計算機名} - 計算機名是你的windows主機名稱
可以看到,訪問出錯時會產生大量的 err log
- [2016/09/22 23:26:18.333436, 0] ../source3/lib/util.c:809(smb_panic_s3)
64 smb_panic(): action returned status 0
65 [2016/09/22 23:26:18.333568, 0] ../source3/lib/dumpcore.c:318(dump_core)
66 dumping core in /var/log/samba/cores/smbd
67 Please install an MTA on this system if you want to use sendmail!
68 [2016/09/22 23:26:21.085401, 0] ../source3/lib/popt_common.c: 68(popt_s3_talloc_log_fn)
69 talloc: access after free error - first free may be at ../source3/smbd/ open.c:3715
70 [2016/09/22 23:26:21.085457, 0] ../source3/lib/popt_common.c: 68(popt_s3_talloc_log_fn)
71 Bad talloc magic value - access after free
72 [2016/09/22 23:26:21.085474, 0] ../source3/lib/util.c:789(smb_panic_s3)
73 PANIC (pid 2450): Bad talloc magic value - access after free
ubuntu 12.04 安裝samba
sudo su 進入root使用者:
第一步:安裝samba伺服器
Samba服務在Ubuntu12.04版本中中預設安裝,對於其他沒有預設安裝的版本來說,可以通過一
下命令來安裝所需要的軟體:
1:sudo apt-get install samba
2: sudo apt-get install smbfs
第二步:配置samba伺服器
(1)建立共享目錄:
mkdir /home/share
(2)更改目錄許可權:
chmod 777 /home/share
(3) 配置Samba服務
儲存現有的配置檔案
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak/etc/samba/smb.conf是Samba伺服器的配置檔案,我們設定共享目錄均是在這個檔案中進
行配置。
在Windows系統中不用輸入密碼訪問Linux共享目錄:在Linux共享一個目錄,將建立好的目錄
的設定資訊寫入/etc/smb.conf檔案即可。
修改samba配置檔案smb.conf:
// #security=user 修改為:security=share
在檔案最後新增如下:
[share]
comment=share
path=/home/share
public=yes
writeable=yes
browseable = yes
儲存退出。
(4) 建立samba帳戶
sudo touch /etc/samba/smbpasswdsudo smbpasswd -a sam(此處的使用者必須是你已經在本機建立的使用者,否則無效)
然後會要求你輸入samba帳戶的密碼
[如果沒有第四步,當你登入時會提示 session setup failed: NT_STATUS_LOGON_FAILURE]
(5)重啟Samba伺服器:/etc/init.d/smbd restart
在windows命令列中輸入\\192.168.1.141(虛擬機器ip)