6月22日任務

14.4 exportfs命令
14.5 NFS客戶端問題
15.1 FTP介紹

15.2/15.3 使用vsftpd搭建ftp


NFS服務不能隨便重啓,在重啓前必須把正在遠程讀寫的目錄掛載卸掉


停止掛載出現busy情況 ①退出/mnt目錄 再umount /mnt/

                                    ②懶漢模式  umount -l /mnt/


如果有幾十臺機器在掛載,可以通過exportfs命令簡化


服務器端上exportfs -arv顯示出共享目錄,再到客戶端上執行showmount命令,發現無需重啓nfs服務,/tmp/文件夾也被共享出去了


在客戶端上把服務器端的/tmp/掛載到/mnt/目錄下mount -t  nfs 192.168.242.128:/tmp/  /mnt/被拒絕


發現是端口號超過1024,man exports定義中發現當端口號高於1024時會被認爲非法,此時需要在服務器端的/etc/exports文件中加入insecure選項,並重啓nfs服務:service nfs restart

參見: https://blog.csdn.net/kelvindream/article/details/53858214


還是拒絕,後面網上搜了加了一個規則no_subtree_check,網段開放到192.168.242.*如下圖所示


無需重啓nfs服務,再次服務器端執行exportfs -arv,客戶端showmount -e 192.168.242.128:/tmp/  /mnt/


把服務器端/tmp/掛載到客戶端/mnt/下:mount -t nfs 192.168.242.128:/tmp/  /mnt/

這時發現兩者是同步的,客戶端也可以讀寫/tmp/目錄了(掛載於客戶端的/mnt/目錄下)


測試:

在客戶端下的/mnt/創建一個新文件,同步成功,服務器端也有test.txt,在/etc/exports文件中加入 no_root_squash不限制root用戶選項時:達到的效果是在客戶端上創建的文件也是root用戶主和組,通常情況下不限制


NFS客戶端問題


如果出現上述問題,(客戶端掛載後,不管是普通用戶還是root用戶,創建新用戶時所屬主和組都爲nobody)解決辦法

①在掛載選項中加入-o nfsvers=3如果已經掛載需要umount 再加上


②編輯 /etc/idmapd.conf找到Domain,把註釋符#去掉,後面可以自定義,重啓rpcidmapd服務,在CentOS7中沒有該服務,重啓rpcbind服務即可

FTP介紹


vsftpd搭建FTP


給ftp設置一個虛擬用戶,映射成系統的一個普通用戶(vsftpd服務支持系統用戶)

①添加一個用戶: useradd -s (指定shell) /sbin/nologin (處於安全,該用戶不讓登錄系統)virftp(可以隨意取)


②給虛擬用戶定義用戶名和密碼:vim /etc/vsftpd/vsftpd_login(其中奇數行是用戶名,偶數行是密碼)


③更改密碼文件權限:chmod 600  /etc/vsftpd/vsftpd_login


④把文本密碼文件vsftpd_login轉換成計算機可識別的二進制文件:

db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db



⑤創建虛擬用戶配置文件所在的目錄(自定義)mkdir /etc/vsftpd/vsftpd_user_conf ,進入目錄並定義配置文件,和之前定義的用戶名保持一致(如testuser1,testuser2)


⑥加入如下配置內容


local_root:定義虛擬用戶的家目錄


⑦創建虛擬用戶的家目錄:mkdir /home/virftp/testuser1; touch liut.txt


⑧修改權限:chown -R virftp:virftp /home/virftp


⑨定義密碼文件位置:vim /etc/pam.d/vsftpd加上兩行 (在登錄ftp時認證用戶名和密碼的存放處)

auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

查看 /lib64/security/pam_userdb.so 是否存在



⑩編輯vsftpd的主配置文件

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


最後啓動vsftpd服務


監聽端口ftp 21, ssh 22 telnet 23

測試:

在windows上安裝filezilla client如下圖,不要安裝filezilla server(搭建服務用的)


輸入Linux主機IP,用戶名,密碼,端口22,如下圖建立連接成功


在linux上使用lftp測試:yum install -y lftp

lftp [email protected]結果報錯


意思是需要到ftp虛擬用戶配置文件中找到帶有vim testuser1字樣的行,刪除(虛擬用戶配置文件路徑爲/etc/vsftpd/vsftpd_user_conf/testuser1)


如上圖所示,測試成功,“?”可查看所支持的命令

如何使用Xshell實現FTP功能

①sftp

如下圖設置,並ssh選項中設置默認本地/遠程傳送路徑



登錄測試:默認root用戶和密碼


get測試成功


②在Xshell頁面Ctrl Alt f 彈出需要安裝xftp,下載安裝,再輸入root用戶名和密碼出現如下界面,連接建立成功


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章