歡迎您光臨本站 註冊首頁

samba入門筆記

←手機掃碼閱讀     火星人 @ 2014-03-29 , reply:0

這兩天學習了下samba,感覺配置起來有一定難度(也難怪,自己笨),比vsftpd要複雜。熬了3天的夜,(白天還要去上課,聽不懂,去都是數學,更鬱悶的是貽叔的課),今天總算是有了初步的成效。記錄一下,也算是個總結。
我的電腦上的samba是紅旗6自帶的samba3.0.5,配置文件為/etc/samba/smb.conf,用vi編輯
接下來就用我的配置文件說一下
首先是[global]欄位
[global]
workgroup = workgroup // workgroup用來指定你的機器在網路上所屬的NT域名或組名
server string = Samba Server Version %v //server string 用來設置NT描述域,採用默認值就好
netbios name = smb-server //除了主機名,另一個可以確認主機的東西,依然採用默認值
host allow = 127. 192.168.1. 192.168.2. //允許訪問此伺服器的主機所在的網段,按實際情況配置
guest account = wangge //如果希望建立一個客戶帳號,在此填入用戶名,同時,你必須在 /etc/passwd中加入這個帳號的定義,否則將使用用戶"nobody"作為客戶帳戶。
log file = /var/log/samba/log.%m //以每個登錄用戶為單位的日誌文件
max log size = 50 //每個日誌文件的大小設定為50K
security = user //在此設置samba伺服器的安全等級。默認為user登記。samba一共有4種安全等級: 1 share級,共享安全級,用戶不需要帳戶和密碼就可以登錄samba伺服器
2 user級 用戶安全級 由提供服務的samba伺服器檢查用戶帳號和密碼
3 server級 伺服器安全極 檢查帳號和密碼的工作可指定另一台samba伺服器完成
4 domain 域安全級 需要指定一台Windows NT/2000/XP伺服器驗證用戶密碼
encrypt passwords = yes //Linux為多用戶操作系統,當採用用戶級認證的時候,samba將使用linux操 作系統的用戶和密碼, 如果用戶想使用加密口令的話,需要此選項,具體方法 後邊詳述
smb passwd file = /etc/samba/smbpasswd //存放加密的密碼文件的位置
domain master = no //domain Master將Samba伺服器定義為主域瀏覽器。此選項將允許Samba在子
網列表中比較瀏覽。如您已經有一台Windows NT域控制器,不要使用此選項
用不到此選項,置no
domain logons = no //用不到的選項,置no
load printers = no //沒有印表機,無須配置
dos charset = CP950 //和顯示有關
unix charset = BIG5 //同上

[myshare] //myshare欄位
comment = wangge //註釋此共享給用戶wangge
path = /var/samba // 共享的目錄的路徑
browseable = yes //可以瀏覽此目錄
valid users = wangge //可訪問的用戶
public = no //匿名用戶看不到
writable = yes //可以寫入,上傳
create mask = 0777 //許可權

以上就是我的smb.conf的全部有效內容,還有一些常用選項在下邊給出解釋
interfaces 選擇samba伺服器使用的網路界面(如果有多塊網卡時可以按實際配置),本機只有一 塊網卡,故忽略配置此項
password server 如果安全級別為server或domain,使用此選項指定要驗證密碼的主機
password level
username level 上邊兩項用來設置當驗證用戶口令和帳號時最多允許幾個大小寫字母不同,默認 為0
max disk size 設置能夠共享的最大磁碟空間 單位為MB 默認為0,表示無限制
max open file 設置同一客戶端最多能打開文件的數目

接下來為wangge設置密碼,退出vi,以root登錄
[root@localhost]#cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd
[root@localhost]#chmod 500 /etc/samba
[root@localhost]#chmod 600 /etc/samba/smbpasswd
接下來設置密碼
[root@localhost]#smbpasswd wangge
New SMB passwored:
Retype SMB password:
如果系統提示
Password changed for user wangge
則表示密碼設置成功

將上述配置保存后,可以用命令testparm檢測一下有沒有語法錯誤
[root@localhost samba]# testparm
Load smb config files from /etc/samba/smb.conf
Processing section "[myshare]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions

[global]
dos charset = CP950
unix charset = BIG5
netbios name = SMB-SERVER
server string = Samba Server Version %v
smb passwd file = /etc/samba/smbpasswd
guest account = wangge
log file = /var/log/samba/log.%m
max log size = 50
load printers = No
domain master = No
hosts allow = 127., 192.168.1., 192.168.0., 172.17.

[myshare]
comment = wangge
path = /var/samba
valid users = wangge
read only = No
create mask = 0777
檢測通過,重啟samba服務
[root@localhost samba]# service smb restart
關閉 SMB 服務: [確定]
啟動 SMB 服務: [確定]
首先在本機上測試,第一部要列出伺服器上的共享目錄
[root@localhost samba]# smbclient -L localhost
Password:
Anonymous login successful
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.25-3]

Sharename Type Comment
--------- ---- -------
myshare Disk wangge
IPC$ IPC IPC Service (Samba Server Version 3.0.25-3)
Anonymous login successful
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.25-3]

Server Comment
--------- -------

Workgroup Master
--------- -------
使用下列命令以用戶wangge登錄,並在提示時輸入密碼
[root@localhost samba]# smbclient //127.0.0.1/myshare -U wangge
Password:
Domain=[SMB-SERVER] OS=[Unix] Server=[Samba 3.0.25-3]
smb: \>
登錄成功后出現提示符,即可操作,輸入命令?,可得到內部命令集,內部命令的使用和ftp非常相似,在此不再詳述。

試著下載
smb: \> get test /root/123
getting file \test of size 2 as /root/123 (20000.0 kb/s) (average inf kb/s)
smb: \>
試著上傳
smb: \> put /root/123 1234
NT_STATUS_ACCESS_DENIED opening remote file \1234
提示訪問被拒絕,可見雖然我們在smb.conf中定義了可上傳,那麼問題出在哪裡了呢?問題出現在了系統用戶wangge與共享目錄/var/samba的關係,/var/samba的所有者為root,而wangge只有讀的許可權,所以訪問被拒絕(跟vsftpd中的許可權問題很相像)。改變許可權后,再次試著上傳
smb: \> put /root/123 123
putting file /root/123 as \123 (20000.0 kb/s) (average inf kb/s)
smb: \>
上傳成功!

XP訪問samba伺服器的方法為
開始菜單->運行->\\192.168.1.3(填入伺服器IP)->回車,在彈出的對話框中輸入用戶名和密碼即可。

通過smbclient也可以訪問windows的共享目錄,
[root@localhost samba]# smbclient -L 192.168.1.4
Password:
Domain=[ACER-74DFA87541] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]

Sharename Type Comment
--------- ---- -------
E$ Disk 默_共享
IPC$ IPC _程 IPC
D$ Disk 默_共享
F$ Disk 默_共享
music Disk
ADMIN$ Disk _程管理
C$ Disk 默_共享
session request to 192.168.1.4 failed (Called name not present)
session request to 192 failed (Called name not present)
Domain=[ACER-74DFA87541] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]

Server Comment
--------- -------

Workgroup Master
--------- -------
[root@localhost samba]# smbclient //192.168.1.4/music
Password:
Domain=[ACER-74DFA87541] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]
smb: \>

以上就是我這幾天的成果,菜鳥級的東西,各位哥哥們看完了,有什麼錯的地方,幫忙指正阿

[火星人 ] samba入門筆記已經有553次圍觀

http://coctec.com/docs/linux/show-post-201985.html