1. 程式人生 > >2018-10-09

2018-10-09

tdi 就會 通用 main vsftp passwd 使用 sftp ase

14.1 NFS介紹
  • NFS是Network File System的縮寫
  • NFS最早由Sun公司開發,分2,3,4三個版本,2和3由Sun起草開發,4.0開始Netapp公司參與並主導開發,最新為4.1版本
  • NFS數據傳輸基於RPC協議,RPC為Remote Procedure Call的簡寫。
  • NFS應用場景是:A,B,C三臺機器上需要保證被訪問到的文件是一樣的,A共享數據出來,B和C分別去掛載A共享的數據目錄,從而B和C訪問到的數據和A上的一致
  • NFS原理圖
    技術分享圖片
14.3 NFS服務端安裝配置

安裝NFS

[root@localhost ~]# yum install -y nfs-utils rpcbind

編輯NFS配置文件

[root@localhost ~]# vim /etc/exports
/home/nfstestdir 192.168.248.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)

保存配置文件後,執行如下準備操作

[root@localhost ~]# mkdir /home/nfstestdir
[root@localhost ~]# chmod 777 /home/nfstestdir
[root@localhost ~]# systemctl start nfs
[root@localhost ~]# systemctl enable nfs
[root@localhost ~]# setenforce 0
[root@localhost ~]# firewall-cmd --add-service=nfs

客戶端
查看服務器共享的文件

[root@localhost ~]# yum install -y nfs-utils
[root@localhost ~]# showmount -e 192.168.248.10 //該ip為NFS服務端ip
[root@localhost ~]# mount -t nfs 192.168.248.10:/home/nfstestdir /mnt
14.3 NFS配置選項
  • rw 讀寫
  • ro 只讀
  • sync 同步模式,內存數據實時寫入磁盤
  • async 非同步模式
  • no_root_squash 客戶端掛載NFS共享目錄後,root用戶不受約束,權限很大
  • root_squash 與上面選項相對,客戶端上的root用戶收到約束,被限定成某個普通用戶
  • all_squash 客戶端上所有用戶在使用NFS共享目錄時都被限定為一個普通用戶
  • anonuid/anongid 和上面幾個選項搭配使用,定義被限定用戶的uid和gid
14.4 exportfs命令
  • -a 全部掛載或者全部卸載
  • -r 重新掛載
  • -u 卸載某一個目錄
  • -v 顯示共享目錄

服務端修改配置

[root@localhost ~]# vim /etc/exports
...
/tmp/ 192.168.248.0/24(rw,sync,no_root_squash)
[root@localhost ~]# exportfs -arv //不用重啟nfs服務,配置文件就會生效
14.5 NFS客戶端問題
  • centos 6 與 NFS 4版本會有該問題
  • 客戶端掛載共享目錄後,不管是root用戶還是普通用戶,創建新文件時屬主、屬組為nobody

方法一:

客戶端掛載時加上 -o nfsvers=3

方法二

客戶端和服務端都需要

vim /etc/idmapd.conf //
把“#Domain = local.domain.edu” 改為 “Domain = xxx.com” (這裏的xxx.com,隨意定義吧),然後再重啟rpcidmapd服務
15.1 FTP介紹
  • FTP是File Transfer Protocol(文件傳輸協議,簡稱文傳協議)的英文簡稱,用於在Internet上控制文件的雙向傳輸。
  • FTP的主要作用就是讓用戶連接一個遠程計算機(這些計算機上運行著FTP服務器程序),並查看遠程計算機中的文件,然後把文件從遠程計算機復制到本地計算機,或把本地計算機的文件傳送到遠程計算機。
  • 小公司用的多,大企業不用FTP,因為不安全
15.2/15.3 使用vsftpd搭建ftp

安裝ftp

[root@localhost ~]# yum install -y vsftpd

虛擬用戶模式
創建用於進行FTP認證的用戶數據庫文件,其中奇數行為賬戶名,偶數行為密碼

[root@localhost ~]# cd /etc/vsftpd/
[root@localhost vsftpd]# vim vuser.list
zhangsan
aaa
lisi
bbb

需要使用db_load命令用哈希(hash)算法將原始的明文信息文件轉換成數據庫文件,並且降低數據庫文件的權限

[root@localhost vsftpd]# db_load -T -t hash -f vuser.list vuser.db
[root@localhost vsftpd]# file vuser.db
vuser.db: Berkeley DB (Hash, version 9, native byte-order)
[root@localhost vsftpd]# chmod 600 vuser.db
[root@localhost vsftpd]# rm -f vuser.list

修改ftp配置文件

[root@localhost ~]# useradd -s /sbin/nologin ftp
[root@localhost ~]# mkdir /etc/vsftpd/vsftpd_user_conf
[root@localhost ~]# cd /etc/vsftpd/vsftpd_user_conf
[root@localhost ~]# vim testuser1
local_root=/home/ftp/testuser1
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
[root@localhost ~]# mkdir /home/ftp/testuser1

修改pam配置文件

[root@localhost ~]# vim /etc/pam.d/vsftpd //在最前面加上
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
將anonymous_enable=YES 改為 anonymous_enable=NO
將#anon_upload_enable=YES 改為 anon_upload_enable=NO 
將#anon_mkdir_write_enable=YES 改為 anon_mkdir_write_enable=NO
再增加如下內容
chroot_local_user=YES
guest_enable=YES
guest_username=virftp
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf
allow_writeable_chroot=YES

windows 可以使用filezilla client
linux 可以使用lftp

[root@localhost ~]# yum install -y lftp
[root@localhost ~]# lftp [email protected]  //然後輸入密碼即可,?可以查詢可用命令
15.4 xshell使用xftp傳輸文件

下載xftp,安裝
使用xshell登錄服務器,按下Ctrl+alt+F即可使用

15.5 使用pure-ftpd搭建ftp服務
[root@localhost ~]# yum install -y epel-release
[root@localhost ~]# yum install -y pure-ftpd
[root@localhost ~]# vim /etc/pure-ftpd/pure-ftpd.conf//找到pureftpd.pdb這行,把行首的#刪除
PureDB                        /etc/pure-ftpd/pureftpd.pdb
[root@localhost ~]# systemctl start pure-ftpd
[root@localhost ~]# mkdir /data/ftp
[root@localhost ~]# useradd -u 1010 pure-ftp
[root@localhost ~]# chown -R pure-ftp:pure-ftp /data/ftp
[root@localhost ~]# pure-pw useradd ftp1 -u pure-ftp  -d /data/ftp
[root@localhost ~]# pure-pw mkdb 生成用戶數據庫
[root@localhost ~]# pure-pw list /userdel/usermod/passwd 查看用戶

擴展
vsftp使用mysql存放虛擬用戶並驗證 http://www.aminglinux.com/bbs/thread-342-1-1.html
ftp的主動和被動模式 http://www.aminglinux.com/bbs/thread-961-1-1.html

2018-10-09