1、samba簡介linux
sabma是一個跨平臺共享文件及打印機等資源的共享服務,它是由SMB協議實現的,工做於C/S模型,經過NetBIOS協議能夠實現Windows與Linux平臺共享資源。瀏覽器
CIFS是CommonInternet File System即Internet文件系統是在Windows主機之間進行網絡文件共享的一個服務,監聽在137/udp,138/udp,139/tcp,445/tcp,其中13七、138是NetBIOS在Windows中基於主機實現互相通訊的機制。bash
2、在Linux使用Windows共享的文件服務器
1、在Windows系統中建立一個或幾個共享的用戶網絡
這次實驗使用的是Windows 7的系統,建立用戶的方法右擊「計算機」---管理------本地用戶和組----用戶,在用戶列表的空白區域右擊選擇新用戶。根據須要建立用戶即,這裏建立一個linux的用戶,密碼同用戶名。session
2、選擇在Windows中共享的目錄socket
在確認要共享的目錄以後,右擊目錄選擇屬性,在屬性對話框中選擇共享選項,選擇共享按鈕便可共享此目錄,在文件共享對話框中選擇要共享的用戶,在用戶列表下拉表中選擇剛纔建立的linux用戶,在權限級別中選擇「讀取/寫入」權限,點擊共享。也能夠選擇高級共享對共享的權限等操做。tcp
3、在Linux中查看Windows的共享ide
格式:smbclient -L HOST -U USERNAMEspa
指定主機IP和用戶名
[root@stu09 ~]# smbclient -L 172.16.9.7 -Ulinux Enter linux's password: Domain=[ZHENGHONG-PC] OS=[Windows 7Ultimate 7600] Server=[Windows 7 Ultimate 6.1] Sharename Type Comment --------- ---- ------- ADMIN$ Disk 遠程管理 C$ Disk 默認共享 D$ Disk 默認共享 E$ Disk 默認共享 F$ Disk 默認共享 G$ Disk 默認共享 H$ Disk 默認共享 I$ Disk 默認共享 IPC$ IPC 遠程 IPC J$ Disk 默認共享 K$ Disk 默認共享 test Disk #即爲咱們剛纔共享的目錄 Users Disk session request to 172.16.9.7 failed(Called name not present) session request to 172 failed (Called namenot present) session request to *SMBSERVER failed(Called name not present) NetBIOS over TCP disabled -- no workgroupavailable
4、smbclient命令交互式
能夠使用smbclinet交互式的登陸指定要共享的目錄中進行操做,刪除、建立、上傳等,不過要根據用戶的權限來進行的。
[root@stu09 ~]# smbclient //172.16.9.7/test-U linux Enter linux's password: Domain=[ZHENGHONG-PC] OS=[Windows 7Ultimate 7600] Server=[Windows 7 Ultimate 6.1] smb: \> ls . D 0 Fri May 15 22:04:53 2015 .. D 0 Fri May 15 22:04:53 2015 46084blocks of size 1048576. 41421 blocks available smb: \> lcd /etc #切換本地的目錄至/etc smb: \> put fstab #上傳fstab文件 putting file fstab as \fstab (147.3 kb/s)(average 147.3 kb/s) smb: \> put issue putting file issue as \issue (33.5 kb/s)(average 109.4 kb/s) smb: \> ls #查看文件 . D 0 Fri May 15 22:05:17 2015 .. D 0 Fri May 15 22:05:17 2015 fstab A 905 Fri May 15 22:05:11 2015 issue A 103 Fri May 15 22:05:17 2015 46084blocks of size 1048576. 41421 blocks available
注意:能夠輸入help來獲取smbclinet交互式的幫助信息
5、在Linux掛載Windows共享的目錄
格式:mount-t cifs //SERVER/shared_name/mount_point -o username=USERNAME,password=PASSWORD
[root@stu09 ~]# mount -t cifs//172.16.9.7/test /mnt -o username=linux,password=123456 [root@stu09 ~]# mount|tail -1 //172.16.9.7/test on /mnt type cifs (rw)
3、在Windows中使用Linux共享的文件
1、安裝samba程序
安裝samba直接使用yum安裝便可
yum -yinstall samba
安裝完以後生成的服務腳本文件/etc/rc.d/init.d/nmb和/etc/rc.d/init.d/smb文件,主配置文件爲/etc/samba/smb.conf文件,samba使用的是帳號爲Linux的系統用戶,密碼是samba服務本身的密碼文件,使用smbpasswd命令爲帳號生成密碼。
2、smb的配置文件
配置文件分紅全局設定和某特定共享的設備,其中特定的共享設備能夠是私有家目錄,打印機共享,自定義共享。
3、共享/shared/test目錄
(1)建立/shared/test目錄
[root@stu09 ~]# mkdir -p /shard/test
(2)建立共享認證的用戶名及設置密碼
[root@stu09 ~]# useradd smbtest [root@stu09 ~]# smbpasswd -a smbtest New SMB password: Retype new SMB password: Added user smbtest.
(3)更改共享目錄的權限
在訪問共享目錄的權限是由samba的權限加系統的權限的交集所決定的。
[root@stu09 ~]# setfacl -m u:smbtest:rwx/shared/test [root@stu09 ~]# getfacl /shared/test getfacl: Removing leading '/' from absolutepath names # file: shared/test # owner: root # group: root user::rwx user:smbtest:rwx group::r-x mask::rwx other::r-x
(4)配置smb.conf配置文件
通用自定義的選項來實現:
選項格式說明:
[shared_name]
path = /path/to/share_directory #共享目錄
commnet = Commnet String #備註信息
guest ok = {yes|no} #是否容許來賓用戶訪問
public = {yes|no} #是否公開
writable = {yes|no} #是否可寫
read only = {yes|no} #是否可讀
write list = +staff #可寫用戶列表,「+」表示組名
更改[global]爲workgroup =WORKGROUP,而後在文件尾部添加以下內容
[shared] comment = My shard testing path = /shared/test guest ok = yes writable = yes
(5)啓動samba服務
(1)配置文件語法檢查
在啓動服務以前能夠使用testparm命令進行配置文件語法檢測
[root@stu09 ~]# testparm Load smb config files from/etc/samba/smb.conf rlimit_max: increasing rlimit_max (1024) tominimum Windows limit (16384) Processing section "[homes]" Processing section "[printers]" Processing section "[shared]" Loaded services file OK. Server role: ROLE_STANDALONE Press enter to see a dump of your servicedefinitions #須要按下回車才能出現如下內容 [global] serverstring = Samba Server Version %v logfile = /var/log/samba/log.%m maxlog size = 50 idmapconfig * : backend = tdb cupsoptions = raw [homes] comment= Home Directories readonly = No browseable= No [printers] comment= All Printers path= /var/spool/samba printable= Yes printok = Yes browseable= No [shared] comment= My shard testing path= /shared/test readonly = No guestok = Yes
(2)啓用samba服務
[root@stu09 ~]# service nmb start;servicesmb start Starting NMB services: [ OK ] Starting SMB services: [ OK ]
(6)在Windows訪問共享目錄
在Windows的資源管理器中的地址欄輸入服務器的地址,格式 以下:
\\SERVER_IP\
後會出現登陸提示對話框,輸入用戶名和密碼便可登陸查看共享的目錄。就能夠進行文件的建立、刪除等操做。
4、samba的圖形界面
samba的圖形界面須要安裝samba-swat程序,圖形化samba是Web頁面界面,它是瞬時守護進程,由超級守護進程xintetd代爲管理。在圖形界面中能夠對samba的配置文件進行管理操做,圖形界面是經過網頁的形式,此圖形界面功能強大。
(1)安裝samba-swat程序
yum install samba-swat -y
(2)配置/etc/xinetd.d/swat文件
根據須要進行修改
service swat { port = 901 socket_type = stream wait = no only_from = 172.16.0.0/16 #只容許172.16.0.0/16的網絡訪問 user = root server = /usr/sbin/swat log_on_failure += USERID disable = no #開啓服務 }
(3)啓動xinetd服務
[root@stu09 ~]# service xinetd start Starting xinetd:
(4)訪問samba的圖形界面
要訪問samba的圖形界面只須要在瀏覽器輸入http://SERVER_IP:901。
在第一次使用samba的圖形界面時須要輸入操做系統root帳號和密碼,推薦登陸後更改登陸的用戶名和密碼。第一次登陸建議使用本地進行登陸,更改密碼以後在進行遠程登陸配置samba服務。