搭建服務FTP&samba

第1章 FTP服務部署

在Linux下,咱們應用最普遍的FTP服務程序是 vsftpd (Very Secure FTP Daemon),從名字咱們也能夠看出,其提供了很是安全的FTP服務。vsftpd 是一個UNIX 類操做系統上運行的服務器的名字,它能夠運行在諸如 Linux, BSD, Solaris, HP-UX 以及 IRIX 上面。它支持不少其餘的 FTP 服務器不支持的特徵。例如:linux

① 很是高的安全性需求  ios

②帶寬限制  vim

③建立虛擬用戶的可能性  windows

④高速  瀏覽器

...安全

能夠說 vsftpd 給咱們提供了一個快速的、穩定的且至關安全的FTP服務服務器

1.1 服務端配置

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

[root@test ~]# rpm -qa vsftpd # 在CentOS下默認沒有安裝 vsftpd 這個FTP程序

咱們經過 yum install vsfptd 來進行安裝網絡

[root@test ~]# yum install vsftpd

說明:session

服務的啓動配置文件併發

/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網絡通信協議的軟件,而SMB是Server Message Block的縮寫,即爲服務器消息塊,SMB主要是做爲Microsoft的網絡通信協議,後來Samba將SMB通訊協議應用到了Linux系統上,就造成了如今的Samba軟件。後來微軟又把 SMB 更名爲 CIFS(Common Internet File System),即公共 Internet 文件系統,而且加入了許多新的功能,這樣一來,使得Samba具備了更強大的功能。

  Samba最大的功能就是能夠用於Linux與windows系統直接的文件共享和打印共享,Samba既能夠用於windows與Linux之間的文件共享,也能夠用於Linux與Linux之間的資源共享,因爲NFS(網絡文件系統)能夠很好的完成Linux與Linux之間的數據共享,於是 Samba較多的用在了Linux與windows之間的數據共享上面。

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

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

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

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

 

  \\10.0.0.163\共享目錄名稱

 

  \\davidsamba\共享目錄名稱

 

  Samba服務器可實現以下功能:WINS和DNS服務; 網絡瀏覽服務; Linux和Windows域之間的認證和受權; 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 第四個里程碑: 啓動smb和nmb服務,加入開機啓動

[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 root's 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

至此samba服務配置完成。

 做者:慘綠少年 
出處:http://clsn.io 本文版權歸做者全部,歡迎轉載,但未經做者贊成必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接,不然保留追究法律責任的權利。 

相關文章
相關標籤/搜索