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服務器提供的共享服務。
相關文章
相關標籤/搜索