2018-10-09
阿新 • • 發佈:2018-10-11
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