歡迎您光臨本站 註冊首頁

LINUX-SAMBA服務配置

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

SAMBA服務的配置.

SAMBA簡介

NFS只能實現在linuxunix系統之間實現文件共享,而CIFS(公共網際網路文件系統)只能實現windows系統之間的文件共享.那麼linuxunix系統怎麼和windows系統之間共享文件呢?這就要用到

SAMBA伺服器了,SAMBA伺服器能真正實現在不同主機、不同系統之間的文件共享.

Samba核心有兩守護進程:

smbd:監聽139埠,實現主機之間的文件和印表機的共享.

nmbd:監聽137,138埠,實現主機之間可以利用NetBios名互相訪問.

SAMBA

安裝

配置IP地址:

[root@rhel3 ~]# ifconfig eth0 192.168.100.30 netmask 255.255.255.0

安裝軟體:

[root@rhel3 ~]# rpm -ivh /misc/cd/Server/samba-common-3.0.33-3.7.el5.i386.rpm

提供samba的配置文件和語法檢驗工具,伺服器和客戶端都要安裝.

[root@rhel3 ~]# rpm -ivh /misc/cd/Server/samba-client-3.0.33-3.7.el5.i386.rpm

客戶端軟體.

[root@rhel3 ~]# rpm -ivh /misc/cd/Server/perl-Convert-ASN1-0.20-1.1.noarch.rpm //在安裝

samba伺服器軟體時要先安裝此軟體.

[root@rhel3 ~]# rpm -ivh /misc/cd/Server/perl-Convert-ASN1-0.20-1.1.noarch.rpm //安裝samba前要裝上這個軟體.

[root@rhel3 ~]# rpm -ivh /misc/cd/Server/samba-3.0.33-3.7.el5.i386.rpm

伺服器端軟體.

[root@rhel3 ~]# rpm -ivh /misc/cd/Server/xinetd-2.3.14-10.el5.i386.rpm

安裝下面的網頁配置軟體時要先把xinetd軟體先裝上.

[root@rhel3 ~]# rpm -ivh /misc/cd/Server/samba-swat-3.0.33-3.7.el5.i386.rpm

samba

WEB配置.這個最后安裝.

SAMBA服務配置文件詳解.

[global]

# ----------------------- Network Related Options -------------------------

workgroup = MYGROUP

設置工作組名稱.

server string = Samba Server Version %v

設置伺服器描述.

; netbios name = MYSERVER

設置NetBios名稱.

; interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24

後面可以跟介面或IP地址,如果伺服器不想用默認的IP地址時或想用多個IP地址時設置 此項.

; hosts allow = 127. 192.168.12. 192.168.13.

設置允許訪問主機的IP

地址.默認註釋,表示允許所有主機訪問.

# --------------------------- Logging Options -----------------------------

; log file = /var/log/samba/%m.log

設置日誌文件的存放位置,伺服器會每個用戶保存一個日誌文件,%m表示使用用戶訪問的NetBios名來命令日誌文件.

; max log size = 50

指定日誌文件的大小,單位(KB

# ----------------------- Standalone Server Options ------------------------

security = share

設置Samba共享安全級別:

share: 共享級別,伺服器不對客戶機進行身份驗證.

user: 用戶級別,伺服器對客戶機進行身份驗證.

server: 伺服器級別,Samba伺服器必須通過另一台伺服器對客戶機進行身份驗證.如果設置為此值,需另加一行:password Server = IP才行.

domain: 域級別,Samba伺服器要通過windows server的域控制器對客戶機進行身份驗證,同樣,如果設置為此值,需另加一行:

password Server = IP才行.

passdb backend = tdbsam

指定Samba伺服器對用戶帳戶和密碼的管理方式.一般默認即可.

# ----------------------- Browser Control Options ----------------------------

; local master = no

如果不想Samba伺服器成為區域網內的主瀏覽伺服器,此項選擇no.

; os level = 33

設置刻伺服器在區域網內訪問的優先順序.

; preferred master = yes

使Samba啟動時選擇一個本地瀏覽器,並給它獲得選擇較高的機會.

#----------------------------- Name Resolution -------------------------------

; wins support = yes

是否支持WINS伺服器,Samba可以成為WINS伺服器,也可以成為WINS客戶端,但不能兩者兼得.

; wins server = w.x.y.z

WINS伺服器地址.

; wins proxy = yes

表示一個非WINS用戶通知Samba響應名稱解析,本身不為客戶端提供查詢.

; dns proxy = yes

同上.

# --------------------------- Printing Options -----------------------------

load printers = yes

設置是否允許印表機共享,並加裁印表機.

cups options = raw

指定印表機使用的方式.

; printcap name = /etc/printcap

設置印表機配置文件的位置.

; printcap name = lpstat

; printing = cups

設置列印系統類型,一般默認.只有在列印系統不是標準系統時才指定.

#============================ Share Definitions ================

[homes]

comment = Home Directories

描述信息.

browseable = no

設置其他用戶是否可以瀏覽此共享文件.

writable = yes

設置此用戶是否可寫.

valid users = %S

設置可訪問的用戶和組.多個用戶用逗號分開,指定組時要在組名前加@.

invalid users = 用戶名/組名

設置不能訪問的用戶和組,用法同上.

Samba定義的變數:

%S 當前伺服器名.

%P 當前伺服器的根目錄.

%u 當前伺服器的用戶名.

%g

當前用戶所在的主工作組.

%U 當前對話的用戶名.

%G 當前對話的用戶我主工作組.

%H 當前伺服器用戶的home目錄.

%v Samba伺服器的版本號.

%h 運行Samba伺服器的主機名.

%m 客戶機的

NetBios名.

%L 伺服器的NetBios名.

%M 客戶機的主機名.

%N NIS伺服器名.

%p NIS伺服器的Home目錄.

%R 所採用的伺服器等級.

%d 當前服務進程的

ID.

%a 客戶機和結構.

%I 客戶機的IP.

%T 當前日期和時間.

SAMBA基於共享的簡單配置.

編輯配置文件:

[root@rhel3 ~]# vi /etc/samba/smb.conf

# ----------------------- Standalone Server Options ------------------------

security = share //不需要用戶名和密碼的共享模式.

passdb backend = tdbsam

下面是共享目錄和許可權的設置:(在最后添加)

[share]

comment = linux share

path = /rhel3

public = yes

writable = yes

printable = no

write list = staff

如果共享目錄是複製例子的,別忘了把前面的;去掉哦!如果還不能訪問那就是防火牆在搗亂了.

[root@rhel3 ~]# mkdir /rhel3

[root@rhel3 ~]# touch /rhel3/linux.txt

[root@rhel3 ~]# vi /rhel3/linux.txt

This is linux server!

查看一下文件夾的許可權:

[root@rhel3 ~]# ll /

drwxr-xr-x 2 root root 4096 Jun 8 21:56 rhel3

在共享時設置的是可寫的,而在這裡除了root用戶其他人是沒有許可權寫入,所有還是不能寫入,修改一下:

[root@rhel3 ~]# chmod 777 /rhel3

[root@rhel3 ~]# ll /

drwxrwxrwx

2 root root 4096 Jun 8 21:56 rhel3

許可權已經修改完成.

[root@rhel3 ~]# service smb restart

現在來測試一下:

windows系統在運行里輸入:

linux系統:

[root@rhel2 ~]# mount //192.168.100.30/share /mnt //mount 後面跟主機名或IP地址,後面是共享名.最后跟掛載點.

Password: //這裡不需要輸入密碼.

[root@rhel2 ~]# ls /mnt

liunx.txt

使用smbclient

[root@rhel2 ~]# smbclient //192.168.100.30/share //smbclient後面跟共享主機名或IP地址再加上共享名.

Password:

Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.0.33-3.7.el5]

Server not using user level security and no password supplied.

從這裡也可以看到伺服器是沒有使用身份驗證的.

smb: \> help

? altname archive blocksize cancel

case_sensitive cd chmod chown close

del dir du exit get

getfacl hardlink help history lcd

link lock lowercase ls mask

md mget mkdir more

mput

newer open posix posix_open posix_mkdir

posix_rmdir posix_unlink print prompt put

pwd q queue quit rd

recurse reget rename reput rm

rmdir showacls

setmode stat symlink

tar tarmode translate unlock volume

vuid wdel logon listconnect showconnect

!

這裡顯示的是一些客戶端使用的命令.如:

smb: \> dir

. D 0 Wed Jun

9 14:42:23 2010

.. D 0 Wed Jun 9 14:41:23 2010

liunx.txt 22 Wed Jun 9 14:42:23 2010

61880 blocks of size 65536. 25838 blocks available

有寫的許可權,寫個文件試試:

smb: \> mkdir rhel2

smb: \> dir

. D 0 Wed Jun 9 15:43:18 2010

.. D 0 Wed Jun 9 14:41:23 2010

liunx.txt 22 Wed Jun 9 14:42:23 2010

rhel2 D 0 Wed Jun 9 15:43:18 2010

61880 blocks of size 65536. 25838 blocks available

沒問題,可以寫入.下載文件:

smb: \> get liunx.txt /share.txt //get後面第一個參數是遠程伺服器的文件名,第二個參數是保存到本地的文件名.

getting file \liunx.txt of size 22 as /share.txt (0.2 kb/s) (average 0.2 kb/s)

smb: \> q //退出

[root@rhel2 ~]# ls /

bin dev lib misc opt sbin srv usr

boot

etc lost found mnt proc selinux sys var

chenbin home media net root share.txt tmp

[root@rhel2 ~]# cat /share.txt

This is linux server!

沒問題,關於每個命令的使用這裡就不一一演示,詳細說明可以使用幫助.命令如下:

[root@rhel2 ~]# man smbclient

SAMBA基於用戶的簡單配置.

接著上面的做:

修改配置文件:

# ----------------------- Standalone Server Options ------------------------

security = user

共享目錄也就不改了.是基於用戶的共享,這裡需要建立用戶.

[root@rhel3 ~]# useradd samba //要建立本地用戶.

[root@rhel3 ~]# passwd samba

//為本地用戶創建密碼.(如果只是添加Samba用戶,這步可以省略.)

Changing password for user samba.

New UNIX password:

BAD PASSWORD: it is too short

Retype new UNIX password:

passwd: all authentication tokens updated successfully.

[root@rhel3 ~]# smbpasswd -a samba //創建Samba用戶.創建的用戶必須也存在於本地用戶資料庫中.

New SMB password:

Retype new SMB password:

Added user samba.

[root@rhel3 ~]# service smb restart

可以測試一下samba的配置文件.如下:

測試:

windows系統下:

連接過了,現在連接的話系統不提示輸入用戶名和密碼了,清除一下:在命令提示符下操作:

D:\Users\chenbin>net use //查看遠程連接.

會記錄新的網路連接.

狀態 本地 遠程 網路

-------------------------------------------------------------------------------

OK

\\192.168.100.30\IPC$ Microsoft Windows Network

OK \\RHEL3\IPC$ Microsoft Windows Network

命令成功完成.

D:\Users\chenbin>net use \\192.168.100.30\IPC$ /delete

\\192.168.100.30\IPC$ 已經刪除.

D:\Users\chenbin>net use \\RHEL3\IPC$ /delete

\\RHEL3\IPC$ 已經刪除.

再連接:

打開后如下圖:

出現輸入用戶名和密碼對話框,輸入后確定.

出現了共享文件夾.samba目錄是一個用戶目錄,後面再說明.關於許可權問題這裡這不測試了.

windows下為了方便,可以使用網路映射,在本地映射一個網路磁碟,這樣只要訪問這個磁碟就可以訪問共享文件了,也省去了每次輸入地址,用戶名和密碼.如下:

接下來選擇一個共享目錄:

完成後,在資源管理器里會多出一個Z盤,雙擊這個磁碟就能訪問共享文件了,很方便,如果不想用了,只要在這個磁碟上右擊-屬性-斷開.

接下來在linux系統下測試:

列出共享目錄:

連接:

關於用法就不演示了.


[火星人 ] LINUX-SAMBA服務配置已經有582次圍觀

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