Linux(四)- Samba、NFS、FTP搭建

搭建Samba服務器

  1. 什麼時Samba服務器? Samba實在Linux和UNIX系統上實現SMB協議的一個免費軟件,由服務器及客戶端程序構成,SMB(Server Messages Block,信息服務塊)是一種在局域網上共享文件和打印機的通信協議,它爲局域網內的不一樣計算機之間提供文件及打印機等資源的共享服務。
  2. SMB協議是什麼? SMB協議是客戶機/服務器型協議,客戶機經過該協議能夠訪問服務器上的共享文件系統、打印機及其它資源。經過設置「NetBIOS over TCP/IP」使得Samba不但能與局域網絡主機分享資源,還能與全世界的電腦分享資源。
  3. 搭建Samba服務器步驟以下: 3.1. 安裝Samba服務器:yum install samba -y 3.2. 安裝成功事後,修改配置文件/etc/samba/smb.conf,修改以下
[global]
  workgroup = MYGROUP
  server string = Samba Server Version %v
  security = share
  passdb backend = tdbsam
  load printers = yes
  cups options = raw
[temp] 
  comment = Temporay file space
  path = /temp
  read only = no
  public = yes
[data]
  comment = Temporay file space
  path = /data
  read only = no
  public = yes
複製代碼

3.3. 保存配置文件,重啓Samba服務:/etc/init.d/smb restartlinux

注意:在訪問時要關閉防火牆和Selinux,不然不能訪問。若是不能對文件夾作操做,要將該文件夾的權限改成777,及chmod 777 文件夾名數據庫

  1. Samba配置文件詳解,如圖所示
    1.1
    1.2
    1.3

搭建NFS服務器

  1. 什麼NFS服務器? NFS時Network File System 的縮寫,及網絡文件系統,一種使用分散式文件系統的協定,由SUN公司開發,於1984年向外公佈,功能是經過網絡向不一樣的機器、操做系統能過彼此分享個別的數據,讓應用程序在客戶端經過網絡訪問位於服務器磁盤中數據。 NFS在文件傳輸或信息傳送過程當中依賴於RPC協議,RPC,遠程過程調用是能使客戶端執行其餘系統中程序的一種機制,NFS自己是沒有提供信息傳輸的協議和功能的。 NFS應用場景,經常使用於高可用文件共享,多臺服務器共享一樣的數據。缺點,可擴展性比較差,自己高可用方案不完善,取而代之的數據量比較大的能夠採用MFS、TFS、HDFS等等分佈式文件系統。
  2. 搭建NFS服務器步驟以下: 2.1. 安裝NFS服務器:yum install nfs* protmap -y ,參數protmap指的是RPC協議 2.2. 安裝成功後重啓服務:/etc/init.d/nfs restart 2.3. 修改/etc/exports配置來設置共享目錄,配置以下:
# 格式爲:共享目錄 ip地址(若是爲*就是全部) 其餘參數
/data/ *(rw,sync,no_all_squash)
複製代碼

括號內的參數說明如圖所示: vim

2.4. 保存修改,重啓服務:/etc/init.d/nfs restart 3. 在客戶端如何使用NFS服務器 3.1. linux系統 若是要在Linux客戶端獲得服務器共享的數據,那麼客戶端就須要掛載操做,掛載命令爲:mount -t nfs 服務器IP地址:/共享文件夾路徑 客戶機將要掛載的目錄 ,例如,我要將服務器文件掛載到本地的mnt目錄下,那麼命令就是:mout -t nfs 192.168.31.21:/data /mnt 。 注意:若是客戶機沒有安裝RCP協議會掛載失敗,安裝協議命令:yum install -y nfs-utils 3.2 windows系統,本身百度

搭建FTP服務器

  1. 什麼是FTP服務器? FTP是文件傳輸協議,正是這種協議使得主機間能夠共享文件。FTP使用TCP生成一個虛擬鏈接用於控制信息,而後再單獨生成一個TCP鏈接用於數據傳輸。 vsftpd是一款再Linux發行版本中最主流的FTP服務器,特色是小巧輕快,安全易用。 目前在開源系統中經常使用的FTP服務器程序主要有,vsftpd、proFTPD、PrueFTPD和wuftpd等。windows

  2. vsftpd的安裝步驟以下: 2.1. 安裝:yum install vsftpd* -y 2.2. 安裝成功後重啓服務:/etc/init.d/vsftpd restart 2.3. 修改配置文件/etc/vsftpd/vsftpd.conf 配置文件詳解如圖所示: 安全

    1.1

  3. 以上步驟FTP服務器已經搭建成功,若是要訪問也能夠輸入ftp://服務器ip地址訪問,可是這種訪問方式並不安全也不提倡,因此,如下就介紹一種安全的方式,利用vsftpd虛擬用戶登錄FTP服務器,步驟以下:bash

    3.1. 安裝FTP虛擬用戶須要用到的軟件及認證模塊:yum install pam* db4* --skip-broken-y服務器

    3.2. 建立並生成vsftpd數據庫文件:vim /etc/vsftpd/ftpusers.txt ,文件的內容以下網絡

    zgy # FTP虛擬用戶名
    123456 # FTP虛擬用戶的密碼
    複製代碼

    注意:該內容能夠寫多個,及能夠填多個用戶併發

    3.3. 生成數據庫文件:db_load -T -t hash -f /etc/vsftpd/ftpusers.txt /etc/vsftpd/vsftpd_login.db ,而後對「vsftpd_login.db」文件進行受權:chmod 777 /etc/vsftpd/vsftpd_login.db 。分佈式

    3.4. 配置PAM驗證文件,在配置文件/etc/pam.d/vsftpd 的行首中添加以下兩行認證語句(若是是32位,lib64要改成lib,若是是redhat,加入的語句不同,須要注意)

    auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
    account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
    複製代碼

    3.5. 建立vsftpd映射本地用戶,由於全部的ftp虛擬用戶,須要使用一個系統用戶,這個系統用戶不須要密碼,也不須要登陸,主要用來作虛擬用戶映射使用。建立用戶:useradd -d /home/ftpuser -s /sbin/nologin ftpuser 。

    3.6. 修改vsftpd的配置文件,vim /etc/vsftpd/vsftpd.conf,修改以下:

    anonymous_enable=NO
    local_enable=YES
    write_enable=YES
    local_umask=022
    dirmessage_enable=YES
    xferlog_enable=YES
    connect_from_port_20=YES
    xferlog_file=/var/log/vsftpd.log
    xferlog_std_format=YES
    ascii_upload_enable=YES
    ascii_download_enable=YES
    listen=YES
    
    guest_enable=YES 
    guest_username=ftpuser
    pam_service_name=vsftpd
    user_config_dir=/etc/vsftpd/vsftp_user_conf
    virtual_use_local_privs=YES
    複製代碼

    保存後重啓服務,/etc/init.d/vsftpd restart 。便可使用虛擬用戶登錄,這時候全部的虛擬用戶共同使用/home/ftpuser 目錄上傳下載,若是想使用本身獨立的目錄,能夠在/etc/vsftpd/vsftpd_user_conf 目錄建立各自的配置文件。如給zgy用戶建立獨立的配置文件,vim /etc/vsftpd/vsftpd_user_conf/zgy ,內容以下:

    local_root=/home/ftpsite/zgy
    write_enable=YES
    anon_world_readable=YES
    anon_upload_enable=YES
    anon_mkdir_write_enable=YES
    anon_other_write_enable=YES
    複製代碼
  4. 擴展命令:

    4.1. 檢查服務器日誌:tail -fn 100 /var/log/messages

    4.2. 永久關閉防火牆:chkconfig iptables off

  5. FTP主被動模式什麼?

    5.1. 主動模式:客戶端從一個任意的非特權端口N(N>1024)鏈接到FTP服務器的port21命令端口。而後客戶端開始監聽端口N+1,併發送FTP命令「port N+1」到FTP服務器。接着服務器會從它本身的數據端口(20)鏈接到客戶端指定的數據端口(N+1)。

    5.2. 被動模式:客戶端從一個任意的非特權端口N(N>1024)鏈接到FTP服務器的port21命令端口。而後客戶端開始監聽端口N+1,同時客戶端提交PASV命令。服務器位開啓一個任意的非特權端口(P>1024),併發送「PORT P」命令給客戶端。而後客戶端發起從本地端口N+1到服務器的端口P的鏈接用來傳輸數據。

相關文章
相關標籤/搜索