歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> RedHat Linux 9.0 下 Samba研究心得

RedHat Linux 9.0 下 Samba研究心得

日期:2017/2/28 16:06:44   编辑:Linux教程

1.安裝samba
首先驗證您的機器中是否已經安裝samba
rpm -qa|grep samba,如果出現
samba-common-2.2.7a-7.9.0
samba-client-2.2.7a-7.9.0
samba-2.2.7a-7.9.0
那麼恭喜你,你已經安裝好了samba,如果沒有以上那些東東,請安裝,安裝方法很簡單,RedHat
linux 9.0第一張光盤裡就有//cdrom/RedHat/RPMS/
以下是我的詳細安裝過程
把第一張光盤放進光驅,他會自動掛接的,省得自己動手mount了
#cd /mnt/cdrom/RedHat/RPMS(主意大小寫字母,否則會出錯的啊)
#rpm -ivh samba-common-2.2.7a-7.9.0 (這個要先安裝,安裝的時候不一定要把後面的samba-common-2.2.7a-7.9.0全部寫完,比如寫到samba-c的時候,多按幾次Tab鍵,很省事的哦)
#rpm -ivh samba-2.2.7a-7.9.0
#rpm -ivh samba-client-2.2.7a-7.9.0(客戶端)
安裝了以上的東西之後,基本上就可以了,但為了配置的方便以及利用REDHAT LINUX9.0新特性,我建議在安裝以下兩個東東redhat-config-samba-1.0.4-1,samba-swat-2.2.7a- 7.9.0光盤裡都有,其中redhat-config-samba-1.0.4-1在第一張光盤裡,samba-swat-2.2.7a-7.9.0在第二張光盤裡,安裝方法和上面的一樣了.
通過上面的簡單介紹,我想你已經安裝好了,試驗一下
#rpm -qa|grep samba(這是什麼含義應該知道吧,如果不知道,建議先學學LINUX的基本命令)
redhat-config-samba-1.0.4-1
samba-common-2.2.7a-7.9.0
samba-client-2.2.7a-7.9.0
samba-swat-2.2.7a-7.9.0
samba-2.2.7a-7.9.0
OK,安裝成功!(建議,以上東西最好自己安裝一次,系統上如果裝的有,還是先卸載,這樣,才能加深印象,如果卸載以後,安裝出問題,可能是你沒有完全卸載,解決方法要不繼續查找卸載,要不強制安裝)
2.配置
(1)方法1
利用我們安裝的redhat-config-samba-1.0.4-1進行配置,方法如下:
開始--->系統設置--->服務器配置--->samba服務器
(我是在LINUX寫這個文章,所以圖形的東西我不會剪切,只好用簡單的說一下了)
首選項-->服務器設置,這裡你可以對samba服務器進行一些基本的設置裡,應該說比較簡單了,我看沒有必要介紹了,配置好之後,記住重新啟動服務.
重新啟動的方法有兩種:
#service smb start或restart
#/etc/rc.d/init.d/smb start
(2)方法2
利用samba-swat-2.2.7a-7.9.0
首先,你要修改swat的配置文件,默認的情況下是關閉的
service swat
{
port = 901 (swat用到的端口是901)
socket_type = stream(類似tcp協議的東西,呵呵這是我自己的理解)
wait = no
only_from = 127.0.0.1(只從這個啟動swat,關鍵!)
user = root(啟動swat用到的名子)
server = /usr/sbin/swat
log_on_failure += USERID
disable = yes (一定要把yes改成no)
}
修改過之後,啟動xinetd就可以了
啟動方法跟剛才我說的一樣
然後在浏覽器裡些上:http://127.0.0.1:901/重重的按回車,你發現你成功了 !(注意,這個IP地址要跟你在SWAT配置文件裡的IP地址一樣才形,切記!)
至於如何使用swat,自己摸索一下應該不成問題了,配置完成以後,記得重新啟動服務就可以了.對了,為了使得samba和swat在每次開機的時候啟動,你可以這樣:
#setup,然後找到system service,在SMB和SWAT前搞個*,也可以#ntsysv,同樣的效果.
(3)方法3
利用samba-2.2.7a-7.9.0,這是最根本的東西,不管用什麼工具,掌握其原理才是最重要的,像網頁制作一樣,雖然工具很多,但一定要熟悉HTML語言,才能編的好的網頁(扯蛋!呵呵)
裝好samba-2.2.7a-7.9.0之後,會在/etc/samba/下形成己個文件
smb.conf smbpasswd smbusers lmhosts,如果沒有其中的一個,你可以touch創建
修改smb.conf文件
我只做簡單的說明:guest ok 和public是一樣的,read only 和writable是相反的,沒什麼區別
workgroup=(工作組名子,填上你目前的LAN的工作組)
netbios=(最好是你的機器名,如果把改句注消,默認的是你LINUX機器名,不過,最好還是自己填上)
client code page=936(默認是850,936是簡體中文的意思,這個要記住,難道不記得你mount你windows系統下的中文名子都是???,就是因為你沒有加-o iocharset=cp936的原因!)
guest account=nobody(guest帳號,這於你定義的共享文件頰有關,其中nobody在smbusers裡有)
security = SHARE(有四個級別,不多說)
encrypt passwords = Yes(加密的密碼, win98/2000傳送的密碼都是加密的,所以這裡要yes)
以上都是[global]的內容,其實,很多呢,水平有限不多說了.
下面就是你要開的共享的東西,要說明的是,文件夾共享的屬性取決於該文件頰在LINUX裡的權限設定
[myxfc]
comment = myxinfc
path = /home/xinfc
read only = No
guest ok = Yes


[tmp]
path = /home
valid users = hehl
write list = @staff
read only = No
guest ok = Yes
共享的設定其實很簡單,主要是路徑和權限的問題,這兩個搞清楚了 ,應該沒問題了

該介紹的我都介紹完了,重新啟動服務!
或許您會發現客戶端無法連接,***,真讓人生氣,忙了這麼久,還是不能訪問,why?
1)客戶端應安裝tcp/ip netbios ipx(這個東東不太懂)
2lmhosts, IP地址和netbios名子對應.
3)iptables(這個東西最壞,就是因為他,我浪費了兩天時間!我得出一個小小的結論,做各種配置前把iptables給關閉!)
由於我對iptables不太懂,我的解決方式有兩種:
1:#setup 然後選擇防火牆,然後關閉
2.修改/etc/sysconfig/iptables
-A INPUT -j RH-Lokkit-0-50-INPUT
-A FORWARD -j RH-Lokkit-0-50-INPUT
-A RH-Lokkit-0-50-INPUT -i lo -j ACCEPT
-A RH-Lokkit-0-50-INPUT -p tcp -m tcp --dport 0:1023 --syn -j ACCEPT
-A RH-Lokkit-0-50-INPUT -p tcp -m tcp --dport 2049 --syn -j REJECT
-A RH-Lokkit-0-50-INPUT -p udp -m udp --dport 0:1023 -j ACCEPT
-A RH-Lokkit-0-50-INPUT -p udp -m udp --dport 2049 -j REJECT
-A RH-Lokkit-0-50-INPUT -p tcp -m tcp --dport 6000:6009 --syn -j REJECT
-A RH-Lokkit-0-50-INPUT -p tcp -m tcp --dport 7100 --syn -j REJECT
COMMIT
把0:1023的兩行的REJECT改成ACCEPT
重新啟動防火牆就可以了
#service iptables start

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

Samba smb.conf 文件配置

workgroup = MYGROUP

//此項表示在Windows操作系統中的“網上鄰居”將會出現的SAMBA服務器所屬群組,默認MYGROUP,不區分大小寫。

server string = Samba Server

//此項表示在Windows客戶端啟動SAMBA服務器的內容窗口後,所顯示的說明。

; hosts allow = 192.168.1. 192.168.2. 127.

//此項在默然情況下的配置下不使用,它可以用來設置局域網中容許訪問SAMBA服務器的主機、子網或者是網域。如果超過一個必須用逗號隔開。

例子:

hosts allow=172.17.2.EXCEPT172.17.2.50

表示容許來自172.17.2.*.*的主機連接,但排除172.17.2.50

hosts allow=172.17.2.0/255.255.0.0

表示容許來自172.17.2.0子網中的所有主機連接

hosts allow=M1,M2

表示容許來自M1和M2兩台計算機連接

hosts allow=@xq

表示容許來自XQ網域的所有計算機連接

printcap name = /etc/printcap

//此項是用來設置開機時自動加載的打印機配置文件名稱和路徑

load printers = yes

//表示是否容許打印機中的所有打印機,在開機時自動加載浏覽列表,以支持客戶端的浏覽功能

printing = cups

//此項用來指定打印系統的類型

; guest account = pcguest

//此項默認不使用,它是用來設置Guest帳號名

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

//此項可為所有連接到SAMBA服務器的計算機建立個別的記錄日志

max log size = 0

//此項可以設置每個記錄日志大小的上限,單位是KB

security = user

//指定SAMBA服務器使用的安全性等級

; password server = <NT-Server-Name>

//此項功能在默認的配置下不使用,而且只有在上個選項設置為“security=server”時才生效,它是用來指定密碼服務的名稱,所以要使用NETBIOS名稱,也可以使用“password server=*”的方式來自動尋找可用的域控制器

; password level = 8

//這個選項是為了避免SAMBA服務器和客戶端之間容許密碼大寫位數不同而產生的錯誤

; username level = 8

//這個選項是為了避免SAMBA服務器和客戶端之間容許帳號大寫位數不同而產生的錯誤

encrypt passwords = yes

//此項表示是否指定用戶密碼以加密的形態發送到SAMBA服務器

smb passwd file = /etc/samba/smbpasswd

//SAMBA服務器使用的密碼文件路徑

; ssl CA certFile = /usr/share/ssl/certs/ca-bundle.crt

//它用來指定包含所有受信任CA名稱的文件

unix password sync = Yes

// 此項是用來把SAMBA密碼文件中的加密內容修改時,可以使用此選項進行同步

passwd program = /usr/bin/passwd %u

//此項用來指定設置UNIX帳號密碼的程序,其中%U表示用戶名稱

passwd chat = *New*password* %n\n *Retype*new*password* %n\n *passwd:*all*authentication*tokens*updated*successfully*

//此項用來設置用戶在進行Linux密碼轉換成SAMBA服務器密碼時,屏幕出現的指示字符串,以及與用戶產生交互窗口

pam password change = yes

//此項表示可以使用PAM來修改SMB客戶端的密碼,而不使用“passwd program”選項中指定的程序

; username map = /etc/samba/smbusers

//此選項指定一個配置文件,在此文件中包含客戶端與服務端上的用戶對應數據

; include = /etc/samba/smb.conf.%m

//此選項容許SAMBA服務器使用其他的配置文件

; obey pam restrictions = yes

//此項可以決定是否采用PAM帳號及會話管理的指令

socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

//這個選項在編寫TCP/IP程序時相當重要,因為可以借此調整SAMBA服務器運行時的效率

; interfaces = 192.168.12.2/24 192.168.13.2/24

//此項可以使SAMBA服務器監視多個往來接口,如果服務器上有多張網卡應該配置此項

在配置時可以寫成:

interfaces =eth0

interfaces =172.17.4.150

; remote announce = 192.168.1.255 192.168.2.44

//此項容許NMBD定期公布SAMBA服務器的IP地址和群組名稱到遠程的網絡或主機

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

[homes] //用戶個日的主目錄設置內容

comment = Home Directories //主目錄注釋

browseable = no //是否容許其他用戶浏覽個人主目錄

writable = yes //是否容許寫入個人目錄

valid users = %S //容許登陸的用戶,%S表示當前登陸的用戶

create mode = 0664 //新建文件的默認權限

directory mode = 0775 //新建目錄的默認權限

; map to guest = bad user

//當用戶輸入不正確的帳號和密碼時,可以利用“map to guest”選項來設置處理的方式,但是必須把前面的“security”選項設為“user”“server”“domain”

設置項

說明

user

拒絕訪問

server

如果帳號正確,但密碼錯誤,容許以Guest登陸

domain

如果帳號和密碼都錯誤,還是容許以Guest登陸

; [netlogon] //登陸網域時的“netlogon”目錄設置內容

; comment = Network Logon Service //主目錄注釋

; path = /usr/local/samba/lib/netlogon //實際訪問資源的本機路徑

; guest ok = yes //連接時是否需要密碼

; writable = no //是否容許寫入此目錄

; share modes = no //是否容許目錄中的文件在不同的用戶之間共享

; [Profiles] //用戶配置文件目錄設置內容

; path = /usr/local/samba/profiles //實際訪問資源的本機路徑

; browseable = no //是否容許浏覽此主目錄

; guest ok = yes //連接時是否需要密碼

[printers] //設置打印機環境內容

comment = All Printers //打印機注解

path = /var/spool/samba //打印隊列路徑

public=yes //是否容許Guest打印

browseable = no //是否容許浏覽打印機內的暫時存盤內容

guest ok = no //連接時是否不需要密碼

writable = no //是否容許寫入此目錄

Copyright © Linux教程網 All Rights Reserved