1. 程式人生 > >FTP&samba 服務簡單部署

FTP&samba 服務簡單部署

虛擬用戶 wid redhat 右鍵 軟件 ted 通信 2.0 表示

第1章 FTP服務部署

Linux下,我們應用最廣泛的FTP服務程序是 vsftpd (Very Secure FTP Daemon),從名字我們也可以看出,其提供了非常安全的FTP服務。vsftpd 是一個 UNIX 類操作系統上運行的服務器的名字,它可以運行在諸如 Linux, BSD, Solaris, HP-UX 以及 IRIX 上面。它支持很多其他的 FTP 服務器不支持的特征。例如:

非常高的安全性需求  ②帶寬限制  ③創建虛擬用戶的可能性  ④高速  ...

可以說 vsftpd 給我們提供了一個快速的、穩定的且相當安全的FTP服務

1.1 服務端配置

1.1.1 第一個裏程碑:
檢查是否有這個軟件,(沒有則安裝軟件)

[root@test ~]# rpm -qa vsftpd

CentOS下默認沒有安裝 vsftpd 這個FTP程序

我們通過 yum install vsfptd 來進行安裝

[root@test ~]# yum install vsftpd

說明:

服務的啟動配置文件

/etc/rc.d/init.d/vsftpd

安裝完之後在/etc/vsftpd/路徑下會存在三個配置文件

/etc/vsftpd/vsftpd.conf 主配置文件

/etc/vsftpd/ftpusers 指定哪些用戶不能訪問FTP

服務器,這裏的用戶包括root在內的用戶。

/etc/vsftpd/user_list 指定的用戶是否可以訪問ftp服務器。

通過vsftpd.conf文件中的userlist_deny的配置來決定配置中的用戶是否可以訪問,

userlist_enable=YES userlist_deny=YES userlist_file=/etc/vsftpd/user_list

這三個配置允許文件中的用戶訪問FTP

1.1.2 第二個裏程碑: 編寫配置文件

ftp服務有默認的配置文件,將原配置文件備份,重新編寫配置文件

[root@test ftp]# mv  /etc/vsftpd/vsftpd.conf  /etc/vsftpd/vsftpd.conf.bak

[root@test 
~]# cat /etc/vsftpd/vsftpd.conf #20171014 #HZS anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES listen=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES

默認配置文件說明:

參數

說明

anonymous_enable=YES

允許匿名用戶

local_enable=YES

允許使用本地用戶賬號登陸

write_enable=YES

允許ftp用戶寫數據

connect_from_port_20=YES

通過20端口傳輸數據

#anon_mkdir_write_enable=YES

是否允許匿名賬戶在FTP服務器中創建目錄

xferlog_enable=YES

啟用上傳和下載日誌功能

#ascii_download_enable=YES

是否允許使用ASCII格式來上傳和下載文件

pam_service_name=vsftpd

/設置PAM認證服務的配置文件名稱,該文件存放在/etc/pam.d/目錄下.

userlist_enable=YES

用戶列表中的用戶是否允許登錄FTP服務器,默認是不允許

tcp_wrappers=YES

/使用tcp_wrqppers作為主機訪問控制方式

其他的配置參數說明:

ftpd_banner=welcome to ftp service :設置連接服務器後的歡迎信息

idle_session_timeout=60 :限制遠程的客戶機連接後,所建立的控制連接,在多長時間沒有做任何的操作就會中斷()

data_connection_timeout=120 :設置客戶機在進行數據傳輸時,設置空閑的數據中斷時間

accept_timeout=60 設置在多長時間後自動建立連接

connect_timeout=60 設置數據連接的最大激活時間,多長時間斷開,為別人所使用;

max_clients=200 指明服務器總的客戶並發連接數為200

max_per_ip=3 指明每個客戶機的最大連接數為3

local_max_rate=50000(50kbytes/sec) 本地用戶最大傳輸速率限制

anon_max_rate=30000匿名用戶的最大傳輸速率限制

pasv_min_port=端口

pasv-max-prot=端口號 定義最大與最小端口,為0表示任意端口;為客戶端連接指明端口;

listen_address=IP地址 設置ftp服務來監聽的地址,客戶端可以用哪個地址來連接;

listen_port=端口號 設置FTP工作的端口號,默認的為21

local_root=path 無論哪個用戶都能登錄的用戶,定義登錄帳號的主目錄, 若沒有指定,則每一個用戶則進入到個人用戶主目錄;

chroot_local_user=yes/no 是否鎖定本地系統帳號用戶主目錄(所有);鎖定後,用戶只能訪問用戶的主目錄/home/user;

chroot_list_enable=yes/no 啟用不鎖定用戶在主目錄的名單

chroot_list_file=/etc/vsftpd/chroot_list指定列表文件

userlist_enable=YES/NO 是否加載用戶列表文件;

userlist_deny=YES 表示上面所加載的用戶允許登錄;

userlist_file=/etc/vsftpd/user_list 指定列表文件

註意:

在這裏要禁止匿名登陸anonymous_enable=NO

1.1.3 第三個裏程碑:創建用於FTP連接用戶,設置密碼

[root@test ~]# useradd ftpuser -s /sbin/nologin  -M
[root@test ~]# echo "ftpuser" |passwd --stdin ftpuser
Changing password for user ftpuser.
passwd: all authentication tokens updated successfully

1.1.4 第四個裏程碑: 創建ftp共享目錄,將目錄所有者屬於ftpuser,將 ftpuser用戶家目錄修改為共享目錄。

[root@test ~]# mkdir /ftpshare
[root@test ~]# chown ftpuser.ftpuser /ftpshare
[root@test ~]# usermod ftpuser -d /ftpshare

檢查配置是否正確:

[root@test ~]# ll /ftpshare/ -d
drwxr-xr-x 2 ftpuser ftpuser 4096 Oct 14 10:48 /ftpshare/

[root@test ~]# tail -1 /etc/passwd
ftpuser:x:501:501::/ftpshare:/sbin/nologin

1.1.5 第五個裏程碑: 啟動vsftpd 服務,並設置開機自啟動

[root@test ~]# /etc/init.d/vsftpd start
Starting vsftpd for vsftpd:                                [  OK  ]

[root@test bin]# chkconfig  vsftpd on
[root@test bin]# chkconfig |grep vsftpd
vsftpd         0:off  1:off  2:on   3:on   4:on   5:on   6:off

1.2 客戶端鏈接測試

第一步:打開windows上資源管理器

在地址欄中是輸入服務器地址,註意ftp格式

ftp://10.0.0.250

確定,輸入用戶名,和密碼進行登陸。

技術分享圖片 技術分享圖片

1.2.1 下載文件測試

技術分享圖片

1.2.2 上傳文件測試

技術分享圖片

1.2.3 服務端檢查

[root@test ftpshare]# ll
total 7072
-rw-r--r-- 1 ftpuser ftpuser 7234678 Oct 14 11:13 cwRsync.zip
-rw-r--r-- 1 root    root         60 Oct 14 11:05 訪問正常.txt

1.3 linux系統掛載ftp測試

[root@test ~]# mount -t nfs -o rw 10.0.0.250:/ftpshare/ /opt/
[root@test ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda3              19G  1.7G   17G  10% /
tmpfs                 238M     0  238M   0% /dev/shm
/dev/sda1             190M   40M  141M  22% /boot
10.0.0.250:/ftpshare/ 19G  1.7G   17G  10% /opt

第2章 samba服務配置

2.1 samba服務簡介

  Samba是一個能讓Linux系統應用Microsoft網絡通訊協議的軟件,而SMBServer Message Block的縮寫,即為服務器消息塊SMB主要是作為Microsoft的網絡通訊協議,後來SambaSMB通信協議應用到了Linux系統上,就形成了現在的Samba軟件。後來微軟又把 SMB 改名為 CIFSCommon Internet File System),即公共 Internet 文件系統,並且加入了許多新的功能,這樣一來,使得Samba具有了更強大的功能。

  Samba最大的功能就是可以用於Linuxwindows系統直接的文件共享和打印共享Samba既可以用於windowsLinux之間的文件共享,也可以用於LinuxLinux之間的資源共享,由於NFS(網絡文件系統)可以很好的完成LinuxLinux之間的數據共享,因而 Samba較多的用在了Linuxwindows之間的數據共享上面。

  SMB基於客戶機/服務器型的協議,因而一臺Samba服務器既可以充當文件共享服務器,也可以充當一個Samba的客戶端,例如,一臺在Linux 下已經架設好的Samba服務器,windows客戶端就可以通過SMB協議共享Samba服務器上的資源文件,同時,Samba服務器也可以訪問網絡中 其它windows系統或者Linux系統共享出來的文件。

Sambawindows下使用的是NetBIOS協議,如果你要使用Linux下共享出來的文件,請確認你的windows系統下是否安裝了NetBIOS協議

  組成Samba運行的有兩個服務,一個是SMB,另一個是NMBSMBSamba 的核心啟動服務,主要負責建立 Linux Samba服務器與Samba客戶機之間的對話, 驗證用戶身份並提供對文件和打印系統的訪問,只有SMB服務啟動,才能實現文件的共享,監聽139 TCP端口;而NMB服務是負責解析用的,類似與DNS實現的功能,NMB可以把Linux系統共享的工作組名稱與其IP對應起來,如果NMB服務沒有啟動,就只能通過IP來訪問共享文件,監聽137138 UDP端口。

  例如,某臺Samba服務器的IP地址為10.0.0.163,對應的工作組名稱為davidsamba,那麽在WindowsIE瀏覽器輸入下面兩條指令都可以訪問共享文件。其實這就是Windows下查看Linux Samba服務器共享文件的方法。

  \\10.0.0.163\共享目錄名稱

  \\davidsamba\共享目錄名稱

  Samba服務器可實現如下功能:WINSDNS服務; 網絡瀏覽服務; LinuxWindows域之間的認證和授權; UNICODE字符集和域名映射;滿足CIFS協議的UNIX共享等。

2.2 samba服務端部署

2.2.1 第一個裏程碑: 檢查軟件是否安裝(安裝samba軟件)

[root@test ~]# rpm -qa samba

安裝samba服務

[root@test ~]# yum install  samba -y
Dependency Installed:
  libtalloc.x86_64 0:2.1.5-1.el6_7                                               
  libtdb.x86_64 0:1.3.8-3.el6_8.2                                                
  libtevent.x86_64 0:0.9.26-2.el6_7                                              
  samba-common.x86_64 0:3.6.23-45.el6_9                                          
  samba-winbind.x86_64 0:3.6.23-45.el6_9                                         
  samba-winbind-clients.x86_64 0:3.6.23-45.el6_9      

2.2.2 第二個裏程碑: 編寫配置文件

samba服務默認配置文件位置為/etc/samba/smb.conf 備份該文件,重新寫配置文件

[root@test ~]# mv  /etc/samba/smb.conf /etc/samba/smb.conf.bak

配置文件內容:

[root@test ~]# vim /etc/samba/smb.conf

[global]
workgroup = WORKGROUP
netbios name = Test_samba
server string = Linux Samba Server TestServer
security = share

[test]
path = /share_samba
writeable = yes
browseable = yes
guest ok = yes
~                                                                                
"/etc/samba/smb.conf" 11L, 189C written

配置文件參數說明:

參數

說明

[global]

這段是全局配置,是必段寫的。

workgroup

就是Windows中顯示的工作組

netbios name

就是在Windows中顯示出來的計算機名

server string

就是Samba服務器說明,可以自己來定義;這個不是什麽重要的

security

這是驗證和登錄方式,這裏我們用了share

share,就是不用設置用戶和密碼了

[test]

這個在Windows中顯示出來是共享的目錄

path

可以設置要共享的目錄放在哪裏

writeable

是否可寫,這裏我設置為可寫

browseable

是否可以瀏覽,可以;可以瀏覽意味著,我們在工作組下能看到共享文件夾。如果您不想顯示出來,那就設置為 browseable=no

guest ok

匿名用戶以guest身份是登錄

2.2.3 第三個裏程碑: 創建共享目錄,修改權限

[root@test ~]# mkdir -p /share_samba
[root@test ~]# id nobody
uid=99(nobody) gid=99(nobody) groups=99(nobody)

[root@test ~]# chown nobody.nobody /share_samba -R

說明:

關於授權nobody,我們先用id命令查看了nobody用戶的信息,發現他的用戶組也是nobody,我們要以這個為準。有些系統nobody用戶組並非是nobody

2.2.4 第四個裏程碑: 啟動smbnmb服務,加入開機啟動

[root@test ~]# /etc/init.d/smb start
Starting SMB services:                                     [  OK  ]

[root@test ~]# chkconfig smb on
[root@test ~]# chkconfig |grep smb
smb            0:off  1:off  2:on   3:on   4:on   5:on   6:off

說明:

由於未涉及域名解析,所以不啟動nmb服務也可以訪問

2.3 windows客戶端測試

2.3.1 windows上添加網絡位置(samba共享的文件夾)

打開資源管理器,右鍵單擊,選擇“添加網絡位置”

技術分享圖片

輸入 samba服務器的地址

格式: \\samba服務器地址\共享目錄名稱

說明:共享目錄名稱 為設置的局部變量名,我設置的為[test]

技術分享圖片

點擊下一步,設置顯示的名稱【可以選擇默認】

技術分享圖片

至此samba共享的文件夾在winndows上添加上了

技術分享圖片

2.3.2 對共享文件夾進行測試

上傳測試

技術分享圖片

[root@test share_samba]# pwd
/share_samba
[root@test share_samba]# tree
├── test.zip
└── samba sever.txt

下載文件測試

技術分享圖片

2.4 cento 6.9上測試說明samba共享

安裝samba客戶端

[root@test ftp]# yum install samba-client
[root@test ~]# smbclient //172.16.1.250/test
WARNING: The security=share option is deprecated
Enter roots password:
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.23-45.el6_9]
Server not using user level security and no password supplied.
smb: \> ls
  .                                   D        0  Sat Oct 14 14:38:47 2017
  ..                                 DR        0  Sat Oct 14 13:49:02 2017
  samba sever.txt                     A       60  Sat Oct 14 03:05:00 2017
  redhat-release                              27  Sat Oct 14 14:49:16 2017
  test.zip                            A  7234678  Sat Oct 14 11:08:50 2017
 
    38152 blocks of size 524288. 32854 blocks available

掛載方式

[root@test ~]# mount.tmpfs //10.0.0.250/test/ /mnt/
[root@test ~]# df -h
Filesystem          Size  Used Avail Use% Mounted on
/dev/sda3            19G  1.7G   17G  10% /
tmpfs               238M     0  238M   0% /dev/shm
/dev/sda1           190M   40M  141M  22% /boot
//10.0.0.250/test/  238M     0  238M   0% /mnt

2.5 至此samba服務配置完成。

FTP&samba 服務簡單部署