Samba伺服器搭建的心得
Ⅰ 如何配置samba伺服器
1、 下載及安裝Samba
推薦用yum來安裝,這樣它可以自己解決包的依賴關系,省時、省事又方便。一條命令搞定:
yum -y install samba
2、 配置Samba
關於Samba的配置網上資料一大堆,可照著很多教程一步一步做下去發現最後就是用不了,郁悶至極啊。
我的目的不是多仔細,多深入的教你Samba的好,而是教會你如何快速的可以將Samba用起來,因此安全性方面的東西考慮的不是很多。但為了照顧到大家不同檔次的水平和口味,我還是盡可能的多寫一些東西。
首先,我強烈的建議大家在修改系統原有任何文件的時候一定要養成「先備份,後修改」的好習慣,相信我,這個習慣會為儂節約很多不必要浪費的時間。接下來我要做的是將/home/目錄下的用戶「koorey」的主目錄給挖出來,供我在windows下訪問。步驟如下:
1). 備份Samba的配置文件:cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
2). 網上很多教程說針對/etc/samba/smb.conf文滲帶件要在[global]欄位中加入下配置項:
dos charset = GB2312←將Windows 客戶端的文字編碼設置為簡體中文 GB2312
unix charset =GB2312←指定Samba所在的CentOS服務端新建文件或目錄時的編碼為 GB2312
display charset= GB2312←指定使用SWAT(一種通過瀏覽器控尺喚制Samba的工具)時頁面的默認文字編碼
directory mask =0777←指定新建目錄的屬性(以下4行)
force directorymode = 0777
directorysecurity mask = 0777
force directorysecurity mode = 0777
create mask =0777←指定新建文件的屬性(以下4行)
force createmode = 0777
security mask =0777
force securitymode = 0777
聲明:我沒有加這些配置,而且在我在共享出來的目錄里添加,修改刪除文件都沒任何問題,還沒有亂碼現象。
我在/etc/samba/smb.conf文件的末尾之添加如下欄位:
[koorey]
comment = koorey
path = /home/koorey
writable = yes
3). linux中/etc/passwd里的用戶和Samba里的用戶幾乎沒啥關系,硬說有的話,那就是:Samba的所有用戶都必須是系統里已存在的用戶。我們要授權系統用戶訪問Samba的話,通過命令:
smbpasswd -a koorey #添加用戶koorey到Samba用戶資料庫中
這條命令輸入完後,會提示為新建的用戶koorey設陵喊凱置訪問密碼。最後再執行一下service smb restart命令就OK了。至此,Samba伺服器就架設好了。不信?為啥?因為後面還有章節,哈哈,說的沒錯。理論上說確實已經架設好了,可千萬不要忽略了Linux的安全機制的存在:iptables和selinux。其中本人就吃了selinux不少苦頭。因為只弄了iptables,卻忘記了selinux這個牛叉叉的傢伙。關於iptables本人會在後面的博客從頭到腳,從里到外,循序漸進的以此和大家交待它的來龍去脈。當然,如果你感興趣的話。
3、 在對待iptables的問題上:
普通青年:直接在命令行敲…
service iptables stop。
文藝青年:依次在命令行敲…
iptables -I RH-Firewall-1-INPUT 5 -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
iptables -I RH-Firewall-1-INPUT 5 -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
iptables -I RH-Firewall-1-INPUT 5 -p udp -m udp --dport 137 -j ACCEPT
iptables -I RH-Firewall-1-INPUT 5 -p udp -m udp --dport 138-j ACCEPT
iptables-save
service iptables restart
4、 同樣,在對在selinux的問題上:(這丫的把我坑慘了呀)
普通青年:直接在命令行敲…
setenforce 0
vi /etc/selinux/config
將SELINUX=enforcing改為SELINUX=disabled為開機重啟後不再執行setenfore節約光陰。
文藝青年:依次在命令行敲…
setsebool -Psamba_enable_home_dirs on
setsebool -Psamba_export_all_rw on
完事兒之後再:getsebool -a | grep samba一把,你懂得…
5、最後在Windows系統里,訪問結果如下:
6、打完收工。
不管你是普通青年還是文藝青年,如果你是一步一步照著做下來的,結果最後Samba還不通,請留言告訴我。
Ⅱ Linux下如何搭建SAMBA伺服器
1、相關的文件
samba-common samba伺服器的主文件
samba 伺服器端的軟體
samba-client 客戶端的軟體
redhat-config-samba 圖形界面的配置文件
samba-swat web配置工具
2、步驟
1)安裝SAMBA伺服器
(1)檢測是否安裝samba
#rpm -qa | grep samba
(2)安裝:將第一張光碟放入光碟機
#mount /mnt/cdrom
#cd /mnt/cdrom/RedHat/RPMS
#ls samba*.*
#rpm -ivh samba-common-2.2.7a-7.9.0.i386.rpm
#rpm -ivh samba-2.2.7a-7.9.0.i386.rpm
#rpm -ivh samba-client-2.2.7a-7.9.0.i386.rpm
#cd /
#umount /mnt/cdrom
#eject
2)設置samba的密碼文件
(1)成批用戶密碼文件的生成
#cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd
(2)刪除一些無用的shell帳戶
#vi /etc/samba/smbpasswd
從1到9。
(3)設置目錄和文件的許可權
#chown root.root /etc/samba/smbpasswd
#chmod 500 /etc/samba
#chmod 600 /etc/samba/smbpasswd
#ll -d /etc/samba
(4)單個用戶設置samba密碼
#useradd wujianan
#passwd wujianan
#smbpasswd -a wujianan
3)啟動samba伺服器
#service smb start
#pstree | grep mbd
#smbclient -L localhost或者IP地址
4)配置samba的共享
#vi /etc/samba/smb.conf
[global]
workgroup = workgroup
server string = samba server
;hosts allow = 192.168.1. 192.168.2. 127.
printcap = /etc/printcap
load prints = yes
printing = cups
;guest account = pcguest
log file = /var/log/samba/%m.log
max log size = 0
安全選項
security = user(share)
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
;interfaces = 192.168.12.2/24 192.168.13.2/24
dns proxy = no
設置每個用戶主目錄共享
[homes]
comment = Home Directries
browseable = no 不允許瀏覽共享文件夾
writeable = yes 允許寫入
valid users = %s
create mode = 0664
directry mode = 0775
[printers]
comment = All prints
path = /var/spool/samba
browseable = no
printable = yes
[doc]
comment = doc
path = /home/doc
browseable = no
writeable = no或 read only = yes
guest ok = yes
示例:
要求:創建一個共享目錄,所有用戶都可訪問,許可權為只讀。
#vi /etc/samba/smb.conf
workgroup = workgroup
server string = samba server
netbios name = RH9
dos charset = cp936
unix charset = cp936
secrity = share
[read]
comment = read
path = /home/read
public = yes
guest ok = yes
read only = yes
保存退出
#mkdir /home/read
#service iptables stop
#service smb start
#testparm
\\ip地址
創建一個可寫的目錄,允許所有用戶可寫入。
[write]
comment = write
path = /home/write
public = yes
guest ok = yes
writeable = yes
保存退出
#mkdir /home/write
#chmod 777 /home/write
#service iptables stop
#service smb restart
為指定的用戶和組訪問samba伺服器
#useradd mehost
#passwd wujianan
#smbpasswd -a wujianan
#mkdir /var/samba/wujianan
#chown stu1.stu1 /var/samba/wujianan
#vi /etc/samba/smb.conf
security = user
[wujianan]
comment = wujianan
path = /var/samba/wujianan
valid users = wujianan
public = yes
writeable = yes
保存退出
#service smb restart
最簡單的電影伺服器的配置
#vi /etc/samba/smb.conf
workgroup = workgroup
server string = movies server
guest account = nobody
security = share
client code page = cp936
wins support = yes
[movies]
comment = movies
browseable = yes
writeable = no
path = /movies
guest ok = yes
read only = yes
保存退出
#mkdir /movies
#useradd admin -d movies
#passwd admin
#vi /etc/passwd
admin:x:0:500::/movies:/bin/bash
保存退出
#ntsysv
選擇smb和vsftp項
#service smb start
#service vsftpd start
#service iptables stop
Ⅲ 談談samba伺服器的工作原理及基本步驟
Samba 的工作原理是,讓NETBIOS(Windows95網路鄰居的通訊協議)和SMA Server Message Block)這兩個協議運行於TCP/IP通信協議之上,並且使用Windows 95的NETBEUI協議讓LINUX 可以在網路鄰居上被Windows 95看到。 其中最重要的就是SMB協議(Server Message Block),這是一個用於不同計算機之間共享列印機、串列口和通訊抽象(如命名管道、郵件插槽等)的協議。SMB協議是一個非常重要的協議,在所有 的Microsoft Windows系列操作系統中廣為應用。 Samba是SMB伺服器在類UNIX系統上的實現。它是開放源代碼的GPL自由軟體。目前Samba可以在幾乎所有的UNIX變種上運行。
Ⅳ samba安裝、配置、排錯
零:場景:
| 共享名 | 路徑 | 許可權 |
| SHAREDOC | /smb/docs | 所有人員包括來賓均可以訪問 |
| RDDOCS | /smb/tech | 僅允許特定組的用戶進行讀寫訪問 |
特定組的組名為RD,目前的Alice、Jack、Tom三個人
一、 安裝Samba
//或者使用rpm安裝
//查看安裝版本信息
Tips:也之前的SAMBA 3有一個重大的變化是:security不再支持share
WARNING: Ignoring invalid value 'share' forparameter 'security'.
二、 配置Samba伺服器
1.創建共享目錄(假設共享/smb目錄下的文件)
2.配置內核參數
3.配置smb.conf文件
1)備份原配置文件:
2)刪除原有所有內容,添加如下內容:
[global]
workgroup=BIGCLOUD
netbios name=ZZSRV2
server string=Samba Server
security=user
map to guest = Bad User
[SHAREDOCS]
path=/smb/docs
readonly=yes
browseable=yes
guest ok=yes
[RDDOCS]
path = /smb/tech/
public = no
writable = yes
write list = @RD
valisers = @RD
三、 創建用戶並分配許可權
1.創建操作系統用戶
2.修改用戶的組
uid=1000(alice) gid=1000(alice)groups=1000(alice),1003(RD)
3.創建SAMBA用戶
4.修改目錄許可權
5.查看服務狀態
drwxrwx--- 2 RD RD 4096 Aug 11 17:08 /smb/tech/
smb.service - Samba SMB Daemon
Loaded: loaded(/usr/lib/systemd/system/smb.service; enabled)
Active: active (running) since Tue2014-08-12 11:38:29 CST; 14s ago
Main PID: 16807 (smbd)
Status: "smbd: ready to serveconnections..."
CGroup: /system.slice/smb.service
16807 /usr/sbin/smbd
16808 /usr/sbin/smbd
systemd[1]:Starting Samba SMB Daemon...
smbd[16807]:[2014/08/12 11:38:29.255341, 0]../lib/util/become_daemon.c:136(daemon_ready)
systemd[1]:Started Samba SMB Daemon.
smbd[16808]:STATUS=daemon 'smbd' finished starting up and ready to serve connectionsfailedto retrieve print...CCESSFUL
Hint:Some lines were ellipsized, use -l to show in full.
四、 測試連通性
1.Linux上測試
Domain=[BIGCLOUD] OS=[Unix] Server=[Samba 4.1.1]
Domain=[BIGCLOUD] OS=[Unix] Server=[Samba 4.1.1]
2.Windows上測試
1)使用虛擬機(如VMware)安裝Linux(如Ubuntu)系統時,為方便Windows和Linux文件互通方便(主要是Windows下訪問Linux文件了),一般都會在LINUX下安裝Samba伺服器。
在XP下,可以通過[//192.168.3.104](file://192.168.3.104/)(Linux系統IP)進行訪問其共享文件,但在WIN7或VISTA下卻不行,因為Samba只支持NTLM認證,而WIN7或VISTA則採用NTLMv2認證,因此必須經過一些設置才行,具體設置如下:
開始->運行->secpol.msc->本地策略->安全選項->網路安全:LAN管理器身份驗證級別->發送 LM 和 NTLMv2 ,如果已協商,則使用NTLMv2 (會話安全 &)->完成設置。(如下圖所示)
這時,再使用[//192.168.3.104](file://192.168.3.104/)(Linux系統IP)就可以訪問Linux共享文件了 _
2)C:>netuse * /del
您有以下的遠程連接:
繼續運行會取消連接。
您想繼續此操作嗎? (Y/N) [N]: y
命令成功完成。
C:>netuse 192.168.188.12 P@ssw0rd /U:alice
命令成功完成。
3)打開資源管理器進行寫入測試
4)如果windows下登錄samba伺服器後無法訪問linux下共享目錄,提示沒有許可權。則檢查:
a、確保linux下防火牆關閉或者是開放共享目錄許可權;
b、確保samba伺服器配置文件smb.conf設置沒有問題,可網上查閱資料看配置辦法 ;
c、確保setlinux關閉,可以用setenforce 0命令執行。 默認的,SELinux禁止網路上對Samba伺服器上的共享目錄進行寫操作,即使你在smb.conf中允許了這項操作。
Ⅳ 濡備綍鎼寤轟笌Windows瀹㈡埛鏈虹粨鍚堜嬌鐢ㄧ殑Samba鏂囦歡鏈嶅姟鍣
鎹甋amba欏圭洰緗戠珯澹扮О錛孲amba鏄涓緇勫紑婧/鍏嶈垂杞浠跺椾歡錛屽畠涓篠MB/CIFS瀹㈡埛鏈烘彁渚涗簡鏃犵紳欏虹晠鐨勬枃浠跺拰鎵撳嵃鏈嶅姟銆備笉鍍忓疄鐜癝MB/CIFS緗戠粶鍗忚鐨勫叾浠栫郴緇燂紙姣斿傞潰鍚慔P-UX鐨凩M Server銆侀潰鍚慜S/2鐨凩AN Server鎴朧isionFS錛夛紝Samba錛堝強鍏舵簮浠g爜錛夊彲浠ュ厤璐硅幏鍙栵紙鏈緇堢敤鎴蜂笉闇瑕佹敮浠樹換浣曡垂鐢錛夛紝騫朵笖鍏佽窵inux/Unix鏈嶅姟鍣ㄥ拰Windows/Unix/Linux瀹㈡埛鏈轟箣闂村疄鐜板崗鍚岃繍琛屻
姝f槸鐢變簬榪欎簺鍘熷洜錛屽湪涓嶅悓鐨勬搷浣滅郴緇燂紙騫墮潪浠呬粎鍙鏈塋inux錛夊叡瀛樼殑緗戠粶鐜澧冧笅錛孲amba鏄鏂囦歡鏈嶅姟鍣ㄧ殑浼橀夎В鍐蟲柟妗堚曗曡屾渶甯歌佺殑緗戠粶鏋舵瀯灝辨槸澶氫釜寰杞疻indows瀹㈡埛鏈鴻塊棶涓鍙板畨瑁呮湁Samba鐨凩inux鏈嶅姟鍣錛屾垜浠灝嗗湪鏈鏂囦腑鎺㈣ㄨ繖縐嶆儏褰銆
瑕佹敞鎰忥細鍙︿竴鏂歸潰錛屽傛灉鎴戜滑鐨勭綉緇滃畬鍏ㄧ敱鍩轟簬Unix鐨勫㈡埛鏈猴紙姣斿侺inux銆丄IX鎴朣olaris絳夌瓑錛夌粍鎴愶紝鍙浠ヨ冭檻浣跨敤NFS錛堜笉榪囧湪榪欑嶆儏鍐典笅Samba浠嶆槸涓縐嶉夋嫨錛夛紝榪欐椂NFS鐨勯熷害鏇村揩銆
灝哠amba瀹夎呭湪Debian鍜孋entOS涓
鍦ㄦ垜浠寮濮嬬潃鎵嬪畨瑁呬箣鍓嶏紝鍙浠ヤ嬌鐢ㄦ搷浣滅郴緇熺殑杞浠跺寘綆$悊緋葷粺錛屽繪壘鍏充簬Samba鐨勪俊鎮錛
鍦―ebian涓婏細
#aptitudeshowsamba
鍦–entOS涓婏細
#yuminfosamba
鍦ㄤ笅闈㈣繖涓灞忓箷鎴鍥句腑錛屾垜浠鍙浠ョ湅鍒扳渁ptitude show samba鈥濈殑杈撳嚭緇撴灉錛堚測um info samba鈥濅細寰楀埌綾諱技鐨勭粨鏋滐級錛
Ⅵ linux訪問windows的samba配置,如何配置詳細教程
1,首先我們要知道samba的作用是做什麼的?
其實在我看來samba有三點好處
a:是一個文件共享伺服器,是linux與windows的溝通管道
b:可以作為列印print server提供windows遠程聯機列印,(有人會說windows也可以啊,但個人認為還是linux穩定些)
c:samba也可以作為wins server伺服器,配合dhcp伺服器可以管理NT網域。
2,samba每次啟動至少有兩個服務進程smbd,nmbd,它們分別的作用是?
smbd 用來管理samba主機分享什麼什麼目錄,列印服務等
nmbd 用來管理群組,netbios name的解析
3,當samba啟動的時候會用到那些埠呢?
samba啟動的時候會用到137,138,139,三個埠所以我們在配置防火牆的時候會用到這三個埠的
4,samba的安裝?
首先我們需要檢測自己到底安裝了samba服務沒有,因為我們裝系統的時候默認是裝了samba服務的(我這里裝的是fedora4)
[root@www ~]# rpm -qa |grep samba
samba-3.0.14a-2
system-config-samba-1.2.31-1
samba-common-3.0.14a-2
samba-client-3.0.14a-2
本機已經安裝了 ,其實我真的挺建議大家裝的時候用rpm包裝,而不用tar.gz,我給大家推薦個網站可以下載所有的rpm包,只需要安裝4個rpm包就可以了,以後缺少什麼rpm包就直接來這里下載了,這里提醒下samba的最新版本為3.0.28版本,下載地址為
5,確認samba服務是否啟動
[root@www ~]# ps aux |grep samba
root 32713 0.0 0.0 280 16 pts/0 R+ 15:46 0:00 grep samba
6.啟動samba服務
[root@www samba]# service smb start
啟動 SMB 服務: [ 確定 ]
啟動 NMB 服務: [ 確定 ]
想要開機就啟動samba服務,有兩種方法a. [root@www samba]# ntsysv b.[root@www samba]# chkconfig --level 345 smb on
7,samba是裝在默認是裝在etc目錄下的,而samba文件夾下有那些文件以及文件的含義?
[root@www ~]# cd /etc/samba/
[root@www samba]# ls
lmhosts 區域網內相關的netbios name對應的ip信息
secrets.tdb 這是加密庫
smb.conf samba的主配置文件
smbpasswd samba伺服器的使用者密碼對應表
smbusers user模式下的Samba 服務,在登錄的時候所使用的用戶名必需是在/etc/samba/smbusers中定意過。只有提供smbusers中定義過的用戶SAMBA才能允許登錄。
8.smb.conf配置
a,首先挑幾個比較重要的解釋下
workgroup = MYGROUP 工作組群:同一個區域網內,要有相同的workgroup
server string = Samba Server 主機的說明,可以隨便起名字
log file = /var/log/samba/%m.log 日誌登錄文件存放的位置
max log size = 50 最大日誌大小這里的50指的是50kB
security = user 需要用戶名和密碼才能登錄,與smbpasswd有關
= share 不需要用戶名和密碼進行登錄
= domin 就是讓你的samba作為主域控制器
[myshare] 共享目錄
comment = 對這個共享目錄的說明
path = /var/www/html 共享的路徑
public = no 是否讓所有登錄者都看到這個目錄
read only = no 不光可讀還可執行存取
writable = yes 是否可以寫入
printable = no 是否可以列印
valid users = zy 允許的登陸者
create mask = 0765 許可權是目錄所有者是可讀可寫可執行 同一個組的用戶可讀可寫 其他用戶只有讀和執行的權利
9,以security = share 寫一個實例
[root@www samba]# vi smb.conf
workgroup = MYGROUP
server string = 趙勇 Server
client code page = 950 想讓你的samba可以在windows上顯示中文就需要加入這句,沒設定默認的值是850
security = share 安全級別是share
log file = /var/log/samba/%m.log 日誌登錄文件存放的位置
max log size = 0 表示登錄檔案大小不限制
下面的是自己添加的
[zy]
comment = zy samba server
path = /tmp
read only = no
public = yes
然後測試samba伺服器
[root@www samba]# testparm
然後再按enter鍵 就會出現你的所有配置
從新啟動samba
[root@www samba]# service smb restart
客戶端的測試
打開網上鄰居 然後查看所有網路 然後找到mygroup 找到你的samba主機
10.接下來我們要設定需要密碼認證才能登陸的samba伺服器
workgroup = MYGROUP
server string = zy Server
hosts allow = 192.168.1.102 127. 需要說明我windows主機地址為192.168.1.102 這里是為了安全期間 只允許192.168.1.102這個地址才能訪問我的samba伺服器
client code page = 950 想讓你的samba可以在windows上顯示中文就需要加入這句,沒設定默認的值是850
security = user 安全級別是user
encrypt passwords = yes 使用加密密碼對samba訪問
smb passwd file = /etc/samba/smbpasswd 密碼保存文件路徑
log file = /var/log/samba/%m.log 日誌登錄文件存放的位置
max log size = 0 表示登錄檔案大小不限制
底下設定每個使用者的家目錄,這里我有兩個用戶zy,yy
[homes]
comment = zy yy homes
browseable = no browseable是yes/否no在瀏覽資源中顯示共享目錄,若為否則必須指定共享路徑才能存取
valid users = %s %s指的是任何可以登錄者都可以登錄的意思,比如是zy登錄則[homes]變為[zy],而yy登錄[homes]變為[yy]
writable = yes 可寫
create mask = 0755 創建檔案的權利是755
directory mask = 0755 創建目錄的權力是755
[public]
comment = zy yy
path = /home/public 指定路徑
public = yes 允許公開共享
writable = yes 可以寫入
11,創建public目錄,創建用戶,並測試從新啟動samba伺服器
[root@www home]# mkdir public
[root@www ~]# chmod 777 public 給這個目錄的許可權
[root@www ~]# useradd yy 創建系統用戶yy
[root@www ~]# smbpasswd -a yy 把yy用戶加入smbpasswd中
New SMB password:
Retype new SMB password:
Added user yy.
[root@www ~]# useradd zy
[root@www samba]# smbpasswd -a zy
New SMB password:
Retype new SMB password:
Added user zy.
[root@www samba]# service smb restart
我可以幫助你,你先設置我最佳答案後,我網路Hii教你。
Ⅶ Linux系統怎麼搭建Samba共享伺服器
方法/步驟
1
需要檢查linux是否已安裝samba;
檢查命令為:rpm –qa |grep samba;
如果沒有輸出什麼信息,表明沒有安裝,需要到網路下載安裝,下載如下:
2
以下可以看到我的linux系統有安裝samba,可以進行下一步;
建立共享文件夾,命令如下:
Mkdir /home/fileshare;
如下圖:
如下圖,已建立好文件夾;
設置好文件夾許可權,命令如下:
Chmod 755 fileshare;
建立samba用戶;
Groupadd fileshare
Useradd –s /sbin/nologin file
Smbpasswd –a file
注意:訪問共享的用戶必須為samba用戶,不能使用其他用戶;
修改sambe配置文件;命令如下:
Vim /etc/samba/smb.conf;
修改samba配置文件全局設置;
#==============================Global settings===============
[global] workgroup = WORKGROUP server string = Samba Server security = share
設置文件夾共享,如下:
[sharefile] path = /home/sharefile public = yes read only = yes
重啟smb服務;
Service smb restart;
Windows 訪問共享成功。如下:
linux共享伺服器完美架設,下次會繼續和大家分享linux其他經驗。