2018-3-27 14周2次課 NFS(下)、FTP(上)
·更改nfs配置文件後,重啟nfs服務,那麽此時如果有遠程客戶端正在掛載共享目錄,那麽先停止nfs服務,就會導致遠程客戶端掛起。
exportfs這個命令是和nfs-utils這個包一起安裝的
exportfs:
-a 全部掛載或者全部卸載
-r 重新掛載
-u 卸載某一個目錄
-v 顯示共享目錄
-arv 一般同時使用
·在服務端上更改/etc/exports 目錄,增加一條共享目錄
[root@localhost ~]# vim /etc/exports
[root@localhost ~]# exportfs -arv exporting 192.168.65.129:/tmp exporting 192.168.65.0/24:/home/nfstestdir
·在客戶端上查看共享目錄,並卸載原先目錄,掛載/tmp/:
[root@localhost ~]# showmount -e 192.168.65.128 Export list for 192.168.65.128: /home/nfstestdir 192.168.65.0/24 /tmp 192.168.65.129 [root@localhost ~]# umount /mnt/ [root@localhost ~]# mount -t nfs 192.168.65.128:/tmp/ /mnt [root@localhost ~]# df -h 文件系統 容量 已用 可用 已用% 掛載點 /dev/sda3 18G 3.8G 15G 21% / devtmpfs 479M 0 479M 0% /dev tmpfs 489M 0 489M 0% /dev/shm tmpfs 489M 6.7M 482M 2% /run tmpfs 489M 0 489M 0% /sys/fs/cgroup 192.168.65.128:/tmp 18G 3.8G 15G 21% /mnt /dev/sda1 197M 97M 100M 50% /boot tmpfs 98M 0 98M 0% /run/user/0
(192.168.65.128:/tmp 已掛載完成)
·在客戶端上新建一個文件
[root@localhost ~]# vim /mnt/1212.txt [root@localhost ~]# ll /mnt/1212.txt -rw-r--r-- 1 root root 39 3月 20 21:56 /mnt/1212.txt
·查看服務端上共享過去的該文件信息:
[root@localhost ~]# ll /tmp/1212.txt -rw-r--r-- 1 root root 39 3月 20 21:56 /tmp/1212.txt
(客戶端和服務端上的屬主和屬組都是root,是因為在nfs配置文件中,定義了對/tmp共享目錄下,no_root_squash不限制root)
一般不限制root的情況比較多。
14.5 NFS客戶端問題
NFS 4版本會有該問題(尤其是在CentOS6上)
客戶端掛載共享目錄後,不管是root用戶還是普通用戶,創建新文件時屬主、屬組為nobody
要解決問題有2種方法:
1:
客戶端掛載時加上 -o nfsvers=3 (指定nfs版本為3)
mount -t nfs -o nfsvers=3 192.168.65.128:/tmp/ /mnt
mount -t nfs -oremount,nfsvers=3 192.168.65.128:/tmp/ /mnt (須在重新掛載後才能remount)
2:
客戶端和服務端都需要
vim /etc/idmapd.conf //
把“#Domain = local.domain.edu” 改為 “Domain = xxx.com” (這裏的xxx.com,隨便定義吧),然後再重啟rpcidmapd服務,CentOS7中沒有次服務,直接重啟rpcbind就行
15.1 FTP介紹
·FTP是File Transfer Protocol(文件傳輸協議,簡稱文傳協議)的英文簡稱,用於在Internet上控制文件的雙向傳輸。
·FTP的主要作用就是讓用戶連接一個遠程計算機(這些計算機上運行著FTP服務器程序),並查看遠程計算機中的文件,然後把文件從遠程計算機復制到本地計算機,或把本地計算機的文件傳送到遠程計算機。
·小公司用的多,大企業不用FTP,因為不安全
15.2/15.3 使用vsftpd搭建ftp
CentOS自帶vsftpd包
[root@localhost ~]# yum install -y vsftpd (安裝過程省略) [root@localhost ~]# useradd -s /sbin/nologin virftp ##創建虛擬用戶 編輯虛擬用戶的密碼文件: [root@localhost ~]# vim /etc/vsftpd/vsftpd_login
(內容如下,奇數行為用戶名,偶數行為密碼,多個用戶就寫多行)
[root@localhost ~]# chmod 600 /etc/vsftpd/vsftpd_login
(更改密碼文件的權限)
將以上文本文件轉化成計算機可以識別的二進制文件
[root@localhost ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db [root@localhost ~]# mkdir /etc/vsftpd/vsftpd_user_conf ##創建虛擬用戶配置文件所在目錄 [root@localhost ~]# cd !$ cd /etc/vsftpd/vsftpd_user_conf [root@localhost vsftpd_user_conf]#vim testuser1 ##編輯的虛擬用戶配置文件要和用戶名一致
local_root=/home/virftp/testuser1 定義虛擬用戶家目錄
anonymous_enable=NO 是否允許匿名用戶
write_enable=YES 是否允許可寫
local_umask=022 umask
anon_upload_enable=NO 是否允許匿名用戶上傳
anon_mkdir_write_enable=NO 是否允許匿名用戶創建和上傳
idle_session_timeout=600 超時斷開
data_connection_timeout=120 數據傳輸超時時間
max_clients=10 最大客戶端
[root@localhost vsftpd_user_conf]# mkdir /home/virftp/testuser1 ##創建虛擬用戶家目錄 [root@localhost vsftpd_user_conf]# touch /home/virftp/testuser1/alex.txt [root@localhost vsftpd_user_conf]# chown -R virftp:virftp /home/virftp [root@localhost vsftpd_user_conf]# vim /etc/pam.d/vsftpd ##定義密碼文件位置
[root@localhost vsftpd_user_conf]# vim /etc/vsftpd/vsftpd.conf ##編輯vsftpd主配置文件
將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
[root@localhost vsftpd_user_conf]# systemctl start vsftpd [root@localhost vsftpd_user_conf]# ps aux|grep vsftpd root 1938 0.0 0.0 53212 572 ? Ss 22:08 0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf root 1942 0.0 0.0 112676 984 pts/0 S+ 22:08 0:00 grep --color=auto vsftpd [root@localhost vsftpd_user_conf]# netstat -lntp
·安裝ftp客戶端
[root@localhost vsftpd_user_conf]# yum install -y lftp (過程省略) [root@localhost vsftpd_user_conf]# lftp [email protected] 口令: lftp [email protected]:~> ls -rw-r--r-- 1 1002 1002 0 Mar 26 13:34 alex.txt lftp [email protected]:/> ? ##查看可用的命令
lftp [email protected]:/> quit [root@localhost vsftpd_user_conf]# ls alex.txt testuser1
新建一個會話,ip為本機服務器ip,用SFTP連接
輸入用戶名密碼登錄
sftp:/root> get /tmp/user.sql Fetching /tmp/user.sql to user.sql sftp: received 7.08 KB in 0.01 seconds
定義本地文件夾:(get的文件存放位置)
還有一個方法:
在xshell中,Ctrl + Alt + F ,下載xftp插件
下載插件安裝
可能需要Product key才能使用
2018-3-27 14周2次課 NFS(下)、FTP(上)