天天看點

Linux Samba伺服器搭建

SMB協定(Server Message Block),之後擴充成CIFS(Common Internet Filesystem)。

CentOS如果把iso檔案設定為安裝源,需要在打開軟體包管理器之前mount iso檔案,打開軟體包管理器之後,再mount iso檔案是無效的。

Samba即Windows 檔案伺服器。

[root@localhost ~]# service smb status // 查詢Samba伺服器狀态

smbd 已停

nmbd 已停

[root@localhost ~]# service smb start // 啟動Samba伺服器

啟動 SMB 服務: [确定]

啟動 NMB 服務: [确定]

[root@localhost ~]# service smb status // Samba伺服器現在正在運作之中

smbd (pid 31914) 正在運作…

nmbd (pid 31917) 正在運作…

Windows網路上的芳鄰隻能看到屬于同一個組中的計算機?在電腦屬性中修改組名之後,還需要重新開機系統才會生效。開始Group名稱是MsHOME(隻有幾台機子),改為WORKGROUP之後,發現了很多的共享目錄,但是大部分是打不開的。

[root@localhost ~]# which mksmbpasswd.sh

/usr/bin/mksmbpasswd.sh // 可以将/etc/passwd資訊轉換成/etc/samba/smbpasswd…

Samba軟體:

已經安裝的Samba軟體包:[root@localhost ~]# rpm -qa | grep samba

samba-client-3.0.33-3.15.el5_4.1

samba-common-3.0.33-3.15.el5_4.1

samba-3.0.33-3.15.el5_4.1

system-config-samba-1.2.41-5.el5

系統中所有和Samba有關的軟體包:

[root@localhost ~]# yum search samba

Loaded plugins: fastestmirror

samba.i386 : Samba SMB 伺服器。

samba-client.i386 : Samba (SMB) 客戶程式。

samba-common.i386 : 用在 Samba 伺服器和客戶機上的檔案。

samba-swat.i386 : Samba SMB 伺服器配置程式。// Samba圖形化配置工具?

sblim-cmpi-dns.i386 : SBLIM WBEM-SMT Dns

sblim-cmpi-samba.i386 : SBLIM WBEM-SMT Samba

sblim-cmpi-samba-devel.i386 : SBLIM WBEM-SMT Samba – Header Development Files

sblim-cmpi-samba-test.i386 : SBLIM WBEM-SMT Samba – Testcase Files

sblim-tools-libra.i386 : SBLIM Common Resource Access Library for WBEM-SMT tasks

sblim-tools-libra-devel.i386 : SBLIM Common Resource Access Library for WBEM-SMT

: tasks Header Development Files

system-config-samba.noarch : Samba 伺服器配置工具

Samba配置:

[root@localhost ~]# testparm /etc/samba/smb.conf

Load smb config files from /etc/samba/smb.conf

Processing section “[homes]”

Processing section “[printers]”

Loaded services file OK.

Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions // 檢查Samba配置的文法

[global] //Samba配置内容

server string = Tomato %v

passdb backend = tdbsam

cups options = raw

[homes]

comment = Home Directories

read only = No

browseable = No

[printers]

comment = All Printers

path = /var/spool/samba

printable = Yes

browseable = No

Samba伺服器狀态:

[root@localhost ~]# smbstatus

Samba version 3.0.33-3.15.el5_4.1

PID Username Group Machine

——————————————————————- // 目前沒有設定共享檔案

Service pid machine Connected at

——————————————————-

No locked files

Samba運作出錯(診斷與分析):

NetBIOS是建立主機名和IP之間的聯系。如果一個子網内有兩台機子的名稱是相同的,運作就會出錯?

開始時本機的名稱居然是:

[root@localhost ~]# hostname

localhost

[root@localhost ~]# cat /etc/sysconfig/network

NETWORKING=yes

NETWORKING_IPV6=no

HOSTNAME=localhost 改為Node1

GATEWAY=10.x.x.x

[root@localhost ~]# hostname -v // 修改HostName為 Node1之後,hostname指令顯示的主機名還未發生變化。

gethostname()=`localhost’

localhost

重新開機後,主機名修改生效:

[root@Tomato ~]# hostname

Node1

開始嘗試連接配接本機了:

[root@Tomato ~]# smbclient -L //SMBServer

Connection to SMBServer failed (Error NT_STATUS_BAD_NETWORK_NAME)

[root@Tomato ~]# smbclient -L //Tomato // 開始有點成功的征兆了:)

Password:

Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.33-3.15.el5_4.1]

Sharename Type Comment

——— —- ——-

dirs Disk share

IPC$ IPC IPC Service (Tomato 3.0.33-3.15.el5_4.1)

Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.33-3.15.el5_4.1]

Server Comment

——— ——-

TOMATO Tomato 3.0.33-3.15.el5_4.1

XOGER

Workgroup Master // 這個Master是自動選擇的嗎?

——— ——-

WORKGROUP XOGER

啟動samba伺服器,XP還需要關閉伺服器,已經可以發現Samba主機了。

可以看到各個工作組的

剛開始說網絡存在同名,Samba主機總是打不開,後來修改了主機名。重新開機Linux,才發現主機名已經更改過來。從XP打開,還總是顯示為localhost,點選圖示馬上出錯。(重新開機XP後,顯示不不再是localhost,已經可以點選進目錄了。。。)

顯示為localhost,即使Samba伺服器已經更新,Xp還是需要重新開機?

Samba伺服器名字怪異的原因找到了。。。(後面使用了Samba的系統變量) #server string = Tomato %v

權限錯誤:

成功添加samba使用者

[root@Tomato ~]# smbpasswd -asamba // 之前samba通過useradd -M已經加到系統中

New SMB password:

Retype new SMB password:

Added user samba.

為什麼一點選,馬上權限報錯的原因找出了。是檔案夾的mode設定的問題。 設定模式開始是 666,改為655就好了。。。

檔案傳送成功:

檔案夾屬性修改後,檔案終于傳送成功。。。。(不過怎麼不用驗證的啊?)

登入權限:

security = share, 登入Samba伺服器不需要輸入賬号密碼。改為security = user之後,登入,需要輸入賬号密碼,但是怎麼顯示錯誤了呢?

修改密碼檔案權限:

-rw-r–r– 1 root root 20 12-08 22:31 lmhosts

-rw——- 1 root root 4096 01-16 06:18 passdb.tdb

-rw——- 1 root root 8192 01-17 00:59 secrets.tdb

-rw-r–r– 1 root root 10068 01-17 17:10 smb.conf

-rw-r–r– 1 root root 0 01-17 17:09 smbpasswd

-rw-r–r– 1 root root 97 12-08 22:31 smbusers

[root@Tomato ~]# chmod 600 /etc/samba/smbpasswd -v

“/etc/samba/smbpasswd” 的權限模式已更改為 0600 (rw——-)

[root@Tomato ~]# cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd

[root@Tomato ~]# cat /etc/samba/smbpasswd

可能是SELinux還有關系,這裡并沒有禁用SELinux。。。

[root@Tomato ~]# cat /etc/selinux/config

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

# enforcing – SELinux security policy is enforced.

# permissive – SELinux prints warnings instead of enforcing.

# disabled – SELinux is fully disabled.

SELINUX=disabled

# SELINUXTYPE= type of policy in use. Possible values are:

# targeted – Only targeted network daemons are protected.

# strict – Full SELinux protection.

SELINUXTYPE=targeted

# SETLOCALDEFS= Check local definition changes

SETLOCALDEFS=0

現在添加使用者成功了嗎?

[root@Tomato ~]# smbpasswd -a xxxeee

New SMB password:

Retype new SMB password:

Failed to modify password entry for user xxxeee

[root@Tomato ~]# smbpasswd -a xxxeeee

New SMB password:

Retype new SMB password:

Failed to modify password entry for user xxxeeee

[root@Tomato ~]# smbpasswd -a samba

New SMB password:

Retype new SMB password:

Added user samba.

[root@Tomato ~]# cat /etc/samba/smbpasswd //這次确實把密碼寫到檔案中了:)

samba:502:CCF9155E3E7DB453AAD3B435B51404EE:3DBDE697D71690A769204BEB12283678:[U ]:LCT-4B52F4C8:

修改檔案夾的所有者:

[root@Tomato ~]# chown samba:samba /share/ -v

“/share/” 的所有者已更改為 samba:samba

原來:drwxrwxrwx 3 root root 4096 01-17 15:27 share

現在:drwxrwxrwx 3 samba samba 4096 01-17 15:27 share

删除Samba使用者:[root@Tomato ~]# smbpasswd -x root

Deleted user root.

[root@Tomato ~]# smbpasswd -x samba

Deleted user samba.

操作記錄:

100130: smb服務啟動,使用 smbd& ,是不行的,需要使用的指令是 service smb start。

釋出者:全棧程式員棧長,轉載請注明出處:https://javaforall.cn/110778.html原文連結:https://javaforall.cn