exportfs命令,ftp介紹,使用vsftpd搭建ftp
阿新 • • 發佈:2018-06-23
設置 inux IV 目錄 get ks.cfg 不用 多行 add exportfs命令
- 當nfs服務端需要增加共享目錄時,更改配置文件後,需要重啟服務,但是客戶端還在使用共享目錄,正常情況下需要客戶端先卸載共享目錄,再在服務端操作,如果客戶端很多時,就需要用到exportfs命令來快速配置了
- exportfs常用選項
- -a全部掛載或者全部卸載
- -r重新掛載
- -u卸載某一個目錄
- -v顯示共享目錄
- 測試
- 服務端操作
[root@akuilinux01 ~]# vim /etc/exports /home/nfstestdir 192.168.21.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000) /tmp/ 192.168.21.0/24(rw,sync,no_root_squash) [root@akuilinux01 ~]# exportfs -arv exporting 192.168.21.0/24:/tmp exporting 192.168.21.0/24:/home/nfstestdir exportfs -arv //不用重啟nfs服務,配置文件就會生效
- 客戶端操作
[root@akuilinux02 ~]# showmount -e 192.168.21.128 Export list for 192.168.21.128: /tmp 192.168.21.0/24 /home/nfstestdir 192.168.21.0/24 [root@akuilinux02 ~]# mkdir /akui [root@akuilinux02 ~]# mount -t nfs 192.168.21.128:/tmp /akui [root@akuilinux02 ~]# touch /akui/12121.txt [root@akuilinux02 ~]# ll /akui/ 總用量 8 -rw-r--r-- 1 root root 0 6月 22 21:52 12121.txt srw-rw-rw- 1 root root 0 6月 22 21:02 aming.sock srwxrwxrwx 1 1001 1001 0 6月 22 21:02 mysql.sock -rw-r--r-- 1 root root 3108 6月 19 09:34 nginx_access.log -rw-r--r-- 1 root root 92 6月 16 10:10 nginx_access.log-20180615 drwxr-xr-x 3 root root 18 6月 14 17:32 pear drwx------ 3 root root 17 6月 22 21:02 systemd-private-e422dd02155c4b309ecf7d899321d899-chronyd.service-z7tx4P drwx------ 3 root root 17 6月 22 21:02 systemd-private-e422dd02155c4b309ecf7d899321d899-vgauthd.service-QVzTM6 drwx------ 3 root root 17 6月 22 21:02 systemd-private-e422dd02155c4b309ecf7d899321d899-vmtoolsd.service-EPZGUp srw-rw-rw- 1 root root 0 6月 22 21:02 www.sock
nfs客戶端問題
- 服務端操作
- NFS 4版本會有該問題
- 客戶端掛載共享目錄後,不管是root用戶還是普通用戶,創建新文件時屬主、屬組為nobody
- 一種方法是客戶端掛載時加上 -o nfsvers=3
重新掛載 mount -t nfs -oremount,nfsvers=3 192.168.21.128:/tmp /akui
- 另一種是客戶端和服務端都需要
- vim /etc/idmapd.conf //把“#Domain = local.domain.edu” 改為 “Domain = xxx.com” (這裏的xxx.com,隨意定義吧),然後再重啟rpcidmapd服務
FTP介紹
- vim /etc/idmapd.conf //把“#Domain = local.domain.edu” 改為 “Domain = xxx.com” (這裏的xxx.com,隨意定義吧),然後再重啟rpcidmapd服務
- FTP是File Transfer Protocol(文件傳輸協議,簡稱文傳協議)的英文簡稱,用於在Internet上控制文件的雙向傳輸。
- FTP的主要作用就是讓用戶連接一個遠程計算機(這些計算機上運行著FTP服務器程序),並查看遠程計算機中的文件,然後把文件從遠程計算機復制到本地計算機,或把本地計算機的文件傳送到遠程計算機。
- 小公司用的多,大企業不用FTP,因為不安全
- 大企業用的是自動化發布平臺
使用vsftpd搭建ftp服務
- centos上自帶vsftpd
- 安裝vsftpd
[root@akuilinux01 ~]# yum install -y vsftpd
- 創建一個用來普通用戶virftp(映射虛擬用戶用來上傳下載文件)並設置不能登錄
[root@akuilinux01 ~]# useradd -s /sbin/nologin virftp
- 編輯虛擬用戶的密碼文件,格式為奇數行為用戶名,偶數行為密碼,多個用戶就寫多行,並設置權限為600
[root@akuilinux01 ~]# vim /etc/vsftpd/vsftpd_login user1 123456 user2 123456 [root@akuilinux01 ~]# chmod 600 /etc/vsftpd/vsftpd_login
- 把文本密碼文件轉換成二進制文件
[root@akuilinux01 ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db [root@akuilinux01 ~]# ls /etc/vsftpd/ ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh vsftpd_login vsftpd_login.db
- 創建虛擬用戶配置文件目錄
[root@akuilinux01 ~]# mkdir /etc/vsftpd/vsftpd_user_conf
- 創建虛擬用戶的配置文件,名字為虛擬用戶的用戶名
[root@akuilinux01 ~]# cd !$ cd /etc/vsftpd/vsftpd_user_conf [root@akuilinux01 vsftpd_user_conf]# vim user1 local_root=/home/virftp/user1 #定義虛擬用戶的家目錄 anonymous_enable=NO #是否允許匿名用戶 write_enable=YES #是否允許可寫 local_umask=022 #定義創建新文件和目錄的權限 anon_upload_enable=NO #是否允許匿名用戶可上傳 anon_mkdir_write_enable=NO #是否允許匿名用戶可寫和創建目錄 idle_session_timeout=600 #連接ftp的空閑時間 data_connection_timeout=120 #數據傳輸的超時時間 max_clients=10 #最大客戶端
- 創建虛擬用戶的家目錄並創建一個文件
[root@akuilinux01 ~]# mkdir /home/virftp/user1 [root@akuilinux01 ~]# touch /home/virftp/user1/akui.txt
- 設置virftp用戶家目錄的屬主屬組
[root@akuilinux01 ~]# chown -R virftp:virftp /home/virftp/
- 在認證文件裏面定義密碼文件
[root@akuilinux01 ~]# vim /etc/pam.d/vsftpd #%PAM-1.0 auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login [root@akuilinux01 ~]# ls /lib64/security/pam_userdb.so /lib64/security/pam_userdb.so
- 編輯vsftp的主配置文件
- 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 #映射到virftp virtual_use_local_privs=YES #告訴服務現在使用的是虛擬用戶 user_config_dir=/etc/vsftpd/vsftpd_user_conf #定義虛擬用戶的配置文件目錄 allow_writeable_chroot=YES
- systemctl start vsftpd啟動服務
測試
- 可以在windows上安裝filezille client軟件
- 在linux上
[root@akuilinux01 ~]# yum install -y lftp [root@akuilinux01 ~]# lftp [email protected] 口令: lftp [email protected]:~> ls -rw-r--r-- 1 1003 1003 0 Jun 22 14:45 akui.txt lftp [email protected]:/> get akui.txt #下載文件到當前目錄,?回車可以查看可以使用的命令 lftp [email protected]:/> quit [root@akuilinux01 ~]# ls 1.txt akui.txt anaconda-ks.cfg
exportfs命令,ftp介紹,使用vsftpd搭建ftp