天天看點

FTP、NFS及SAMBA

                                                                FTP

常見的FTP伺服器程式:vsftpd,Serv-U,wu-ftpd,Proftpd,IIS

常見的FTP用戶端程式:ftp指令,FlashFXP,LeapFTP,gftp,Filezilla

資料連接配接的建立類型

主動模式:服務端從20端口主動向用戶端發起連接配接

被動模式:服務端在指定範圍内的某個端口被動等待用戶端發起連接配接

FTP傳輸模式

文本模式:ASCII模式,以文本序列傳輸資料

二進制模式:Binary模式,以二進制序列傳輸資料

vsftpd的主配置檔案/etc/vsftpd/vsftpd.conf

local_enable=YES                         #本地使用者登入開啟

anon_enable=YES                        #匿名使用者登入開啟

anon_root=/var/ftp                        #匿名使用者的FTP根目錄

write_enable=YES                        #本地使用者可寫權限開啟

download_enable=YES                #是否允許下載下傳檔案

local_umask=022                          #本地使用者上傳檔案的umask(掩碼)值

anon_other_write_enable=YES     #匿名使用者建立目錄權限開啟

anon_mkdir_write_enable=YES    #匿名使用者其他寫入權限開啟

anon_upload_enable=YES            #匿名使用者允許上傳檔案

chroot_local_user=YES                #鎖定所有使用者家目錄

chroot_list_enable=YES                #對一些使用者鎖定使用者家目錄功能開啟

chroot_list_file=/etc/vsftpd/chroot_list    #鎖定家目錄使用者清單存儲檔案路徑

xferlog_enable=YES                      #開啟傳輸日志功能

xferlog_std_format=YES                #指定傳輸日志的格式

xferlog_file=/var/log/xferlog            #傳輸日志存儲檔案所在位置

anon_max_rate=0                          #匿名使用者的最大傳輸速度(0表示不限制速度,速度機關是位元組)

local_max_rate=0                          #本地使用者的最大傳輸速度

max_clients=100                           #該FTP伺服器的最大并發連接配接數

max_per_ip=2                               #一個IP最多可創的連接配接數

connect_form_port=20                  #允許FTP伺服器使用主動模式

ascii_upload_enable=YES              #ASCII傳輸模式開啟

ftpd_banner=Welcome to FTP              #列印歡迎資訊

listen_address=192.168.0.252               #設定監聽的IP位址

listen_port=21                               #設定監聽FTP服務的端口号

userlist_enable=YES                     #是否啟用user_list清單檔案

userlist_deny=YES                        # 是否禁用user_list中的使用者

ls_recurse_enable=YES                #使用ls指令是可以遞歸

listen=YES                                   #表示是該服務程序獨立守護程序

tcp_wrappers=YES                     #表示該服務支援tcp_wrappers

pam_service_name=vsftpd           #PAM認證所用檔案

ssl_enable=YES                          #應用SSL加密資料傳輸

ssl_tlsv1=YES                             #使用SSL的類型

rsa_cert_file=/etc/vsftpd/ssl/vsftpd.pem                  #授權FTP服務證書的存放路徑

rsa_private_key_file=/etc/vsftpd/ssl/vsftpd.key       #FTP伺服器的私鑰存放路徑

force_anon_login_ssl=YES                                    #匿名使用者登入時使用SSL

force_anon_date_ssl=YES                                    #匿名使用者進行資料傳送時進行SSl加密

若開啟selinux的功能,需要打開allow_ftpd_anon_write功能,同時為共享目錄打上public_content_rw_t的标簽,其指令為:`getbool -a | grep ftp` ;  `setsebool -P allow_ftpd_anon_write on`  ;   `chcon -t public_content_rw_t incoming/`。

FTP使用虛拟使用者

1.建立虛拟FTP使用者的帳号資料庫檔案(單行使使用者賬号,雙行是上一行的密碼)

  vim /etc/vsftpd/vusers.txt

   wendy

   123456

   sandy

   456

  cd /etc/vsftpd/

  db_load -T -t hash -f vusers.txt   vusers.db

  file vusers.db

  vusers.db: Berkeley DB (Hash, version 8, native byte-order)

  chown 600 /etc/vsftpd/vusers.*

2.建立FTP根目錄及虛拟使用者映射的系統使用者

  useradd -d /var/ftproot -s /sbin/nologin vsftp

3.建立支援虛拟使用者的PAM認證檔案

   vim /etc/pam.d/ftp

   auth         required     pam_userdb.so db=/etc/vsftpd/vusers

   account    required     pam_userdb.so db=/etc/vsftpd/vusers

4.在vsftpd.conf檔案中添加支援配置

   vim  /etc/vsftpd/vsftpd.conf

   guest_enable=YES

   guest_username=vsftp

   pam_service_name=ftp

5.為個别虛拟使用者建立獨立的配置檔案

  vim /etc/vsftpd/vsftpd.conf

  user_config_dir=/etc/vsftpd/vusers_dir

  mkdir /etc/vsftpd/users

  cd /etc/vsftpd/users

  vim  wendy

  anon_upload_enable=YES      

  anon_other_write_enable=YES    

  anon_mkdir_write_enable=YES

  cp wendy sandy

  vim sandy

  anon_upload_enable=NO    

  anon_other_write_enable=NO    

  anon_mkdir_write_enable=NO

6.重新加載vsftpd配置

  service vsftpd restart

7.使用虛拟FTP賬戶通路測試wendy使用者可以登入,并可以浏覽、下載下傳檔案,可以上傳jsandy使用者可以登入,并可以浏覽,但不可以下載下傳檔案,也不可以上傳

                                                              NFS

/etc/exports檔案列舉出通過NFS導出的檔案系統,以及可以通路每個檔案系統的客戶機。客戶機清單和檔案系統之間以空白分隔,每個客戶機之後緊跟着用括号括起來,以逗号分隔的一系列選項。

/etc/exports檔案的客戶機說明

1.)主機名       hostname          單個主機

2.)網絡組       @groupname        NIS網絡組

3.)通配符       *和?              具有通配符的FQDN,“*”不比對點号"."

4.)IP網絡       ipaddr/mask       CIDR風格,長格式可作為比對

/etc/exports的常用導出選項

rw,ro                        以讀寫的方式導出(預設方式)以隻讀的方式導出 

sync                         同步寫入,直接寫入硬碟

async                        讓伺服器在實際寫磁盤之前就先回應寫請求

root_squash                  将UID0和GID0映射成anonuid和anongid所指定的值             

no_root_squash             

all_squash                   将所用的UID和GID映射到它們各自的匿名版本上

showmount   -e   hostname    列印出hostname主機的共享檔案系統

exports     -a               導出所有的檔案系統

exports     -r               重新輸出所有檔案系統

exports     -v               列印出檔案系統的詳細資訊

exports     -u               指定解除安裝的檔案系統        

NFS共享時的注意事項

1.)包含伺服器的配置檔案不要導出

2.)導出整個檔案系統,最好不是目錄

3.)不要使用no_root_squash的方式導出檔案系統

4.)使用crossmnt和nohide時要慎用

                                                   Samba  伺服器

/etc/samba/smb.conf

[globe]                        全局設定

workgroup                  工作組的名稱,注意主機群要相同

server string                主機的簡易說明

security                       表示伺服器的安全級别有user,Server,domain,share4個設定值

passdb backend           samba有單獨的檔案存放賬号的密碼

load printers                共享列印機

cups options                列印機選項

[homes]                      使用者家目錄共享設定

comment                    對這個目錄的說明

browseable                 此共享隻能有屬主能看到

writeable                    設定是否可以寫入

[printers]                    列印機共享設定

comment                    對列印機做簡單描述

path                           共享列印機的路徑

browseable                此共享列印機隻能有屬主能看到

guest ok                    設定是否讓所有可以登入的使用者看到此列印機  

valid users                 設定哪些使用者可通路此資源         

printable                    是否為列印資源

[分享名稱]              自定義名稱共享目錄設定

comment                   對此目錄的說明

path                          共享目錄的路徑

public                        設定是否讓所有可以登入的使用者看到此目錄

writeable                   設定是否可以寫入

write list                    定義一定範圍的使用者具有寫權限

printable                    是否是列印資源

定義samba的密碼

useradd redhat

smbpasswd  -a redhat

檢視,上傳,下載下傳共享資源

smbclient -L  192.168.0.29

smbclient //192.168.0.29/shared -U redhat

挂載samba共享資源

mount -t cifs service mountpoint -o option1,option2

若開啟了Selinux服務需要給共享目錄打上smaba_share_t的标簽:`chcon -t smaba_share_t /shared -R`,這樣就可以正常使用smaba伺服器提供的共享服務。

繼續閱讀