exportfs命令&NFS客戶端問題&FTP介紹&使用vsftpd搭建ftp

14.4 exportfs命令

nfs服務不能隨便重啓,不然可能致使客戶端的nfs服務被掛起,所以可使用exportfs命令在不重啓服務的前提下更新配置文件。mysql

經常使用選項

• -a 所有掛載或者所有卸載linux

• -r 從新掛載sql

• -u 卸載某一個目錄shell

• -v 顯示共享目錄vim

效果測試

修改服務端配置文件

vim /etc/exports
新增
/tmp/ 192.168.133.0/24(rw,sync,no_root_squash)

更新配置文件(從新掛載)

[root@linux-5 ~]# exportfs -arv
exporting 192.168.133.0/24:/tmp
exporting 192.168.88.0/24:/home/nfstestdir

在客戶端查看權限

[root@linux-10 ~]# showmount -e 192.168.88.5
Export list for 192.168.88.5:
/tmp             192.168.133.0/24
/home/nfstestdir 192.168.88.0/24

注:客戶端重啓後,要從新掛載共享目錄centos

14.5 NFS客戶端問題

NFS 4版本會出現一個問題(centos6較爲常見),客戶端掛載共享目錄後,無論是root用戶仍是普通用戶,建立新文件時屬主、屬組爲nobody安全

針對上述問題,有兩種解決方案服務器

第一種:session

客戶端掛載時加上 -o nfsvers=3(採用3版本的nfs)dom

第二種:

修改配置文件 vim /etc/idmapd.conf

把「#Domain = local.domain.edu」 改成 「Domain = xxx.com」 (這裏的xxx.com能夠隨意定義),而後再重啓rpcidmapd服務(centos7中爲rpcbind)

15.1 FTP介紹

平常使用rz,sz命令進行文件互傳時會有不少限制,好比傳輸大小不能超出4G,不能給雲端主機傳輸文件,針對上述問題,可經過在服務端搭建ftp服務器解決

• FTP是File Transfer Protocol(文件傳輸協議,簡稱文傳協議)的英文簡稱,用於在Internet上控制文件的雙向傳輸。

• FTP的主要做用就是讓用戶鏈接一個遠程計算機(這些計算機上運行着FTP服務器程序),並查看遠程計算機中的文件,而後把文件從遠程計算機複製到本地計算機,或把本地計算機的文件傳送到遠程計算機。

• 小公司用的多,大企業不用FTP,由於不安全

15.2/15.3 使用vsftpd搭建ftp

centos自帶ftp服務的軟件包是vsftpd,直接下載安裝便可。

安裝vsftpd軟件包

yum install -y vsftpd

建立登陸ftp的用戶

useradd -s /sbin/nologin virftp   //不容許登陸系統,用於給虛擬用戶作映射

vsftpd軟件包是可使用系統級別的用戶,假設建立了一個普通用戶lem,設置一個密碼,這時候就能夠用vsftpd啓動這個服務,而後用user1這個用戶去登錄,登陸的形式爲ftp,登陸進去後會進入到lem這個用戶的家目錄下,但這樣操做會存在安全隱患。

爲了解決上述隱患,咱們能夠給ftp設置一個虛擬用戶,虛擬用戶映射成系統中的一個普通用戶(也能夠映射多個虛擬用戶),這個用戶即便給了用戶和密碼你也是沒有辦法去經過ssh登陸到服務器的機器,這樣就相對安全了不少。

編輯虛擬用戶的密碼文件

vim /etc/vsftpd/vsftpd_login //奇數行爲用戶名,偶數行爲密碼,多個用戶就寫多行
ftpuser
123456

密碼文件受權

chmod 600 /etc/vsftpd/vsftpd_login

密碼文件格式轉換

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

建立虛擬用戶配置文件所在目錄

mkdir /etc/vsftpd/vsftpd_user_conf

在目錄下建立虛擬用戶配置文件

vim ftpuser  //虛擬用戶的配置文件的文件名須要與密碼文件中建立的用戶的名字一致

local_root=/home/virftp/ftpuser  //定義虛擬用戶家目錄
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                     //最大客戶端數

建立虛擬用戶家目錄

mkdir /home/virftp/ftpuser

在家目錄下建立測試文件

touch /home/virftp/ftpuser/test.txt

修改用戶權限

chown -R virftp:virftp /home/virftp

將權限作一個修改,由於最後映射成virftp 這個用戶,若virftp這個用戶沒有讀的權力那就是錯誤的,沒法正常的去上傳和下載

定義密碼文件的所在位置

vim /etc/pam.d/vsftpd
增長兩行
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

這是一個用來認證的文件,在登陸FTP須要有一個認證的過程,認證的過程須要告訴它,經過什麼樣的形式去認證,認證的時候去哪裏找這個密碼庫

注:32位的centos系統的文件名應爲lib32

編輯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
  
在文件最下方增長以下內容
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

啓動vsftpd服務

systemctl start vsftpd

查看監聽端口

[root@linux-5 vsftpd_user_conf]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name         
tcp6       0      0 :::21                   :::*                    LISTEN      3713/vsftpd

監聽端口爲21

ftp測試

Windows端

Windows可使用filezilla客戶端開源軟件,十分方便

Linux端

Linux爲了方便測試採用lftp

安裝lftp包

[root@linux-5 ~]# yum -y install lftp

鏈接FTP服務器

[root@linux-5 ~]# lftp ftpuser@127.0.0.1
口令: 
lftp ftpuser@127.0.0.1:~> ls
-rw-r--r--    1 0        0               0 Jul 02 16:20 test.txt

注:使用?可查看ftp可用命令,經常使用命令put、get

下載test文件

lftp ftpuser@127.0.0.1:/> get test.txt
lftp ftpuser@127.0.0.1:/> quit
[root@linux-5 ~]# ls
anaconda-ks.cfg  lianxi         lianxi.tar.bz2  mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz  test.txt.bz2  桌面雲配置過程.txt
fstab            lianxi.tar.bz  lianxi.zip      test.txt

xshell實現ftp功能在下一節記錄

相關文章
相關標籤/搜索