通常狀況下重啓服務器上nfs服務時,需把客戶端上的掛載先卸載掉,以避免進程後面殺不掉。當客戶端服務器不少時,操做起來就比較麻煩。此時可使用exportfs命令從新加載下。linux
exportfs命令:數據庫
是隨nfs-utils 一塊兒安裝的vim
exportfs 命令用來管理當前NFS共享的文件系統列表。windows
經常使用選項:centos
-a 所有掛載或者所有卸載瀏覽器
-r 從新掛載安全
-u 卸載某一個目錄服務器
-v 顯示共享目錄session
當改變/etc/exports配置文件後,使用exportfs命令掛載不須要重啓nfs服務。dom
如下操做在服務端上
vim /etc/exports //增長
/tmp/ 172.20.6.240(rw,sync,no_root_squash) //把/tmp目錄單獨共享給172.20.6.240這個主機ip
exportfs -arv //不用重啓nfs服務,配置文件就會生效
172.20.6.240客戶端機器上操做:
showmount -e 192.168.89.51 //查看有權限的共享目錄
mount -t nfs 192.168.89.51:/tmp /mnt //把tmp目錄掛載到/mnt下
客戶端文件屬主屬組nobody:
NFS 4版本會有該問題
客戶端掛載共享目錄後,不論是root用戶仍是普通用戶,建立新文件時屬主、屬組爲nobody
1. 客戶端掛載時加上 -o nfsvers=3
mount -t nfs -oremount,nfsvers=3 192.168.89.51:/home/nfstestdir /mnt //已經掛載不想卸載時能夠-oremount 從新掛載。
2. 客戶端和服務端都須要
vim /etc/idmapd.conf //
把「#Domain = local.domain.edu」 改成 「Domain = xxx.com」 (這裏的xxx.com,隨意定義吧),而後再重啓rpcidmapd服務(CentOS 6以上系統重啓rpcbind服務)
ftp應用環境:
ftp介紹:
centos上自帶的vsftpd服務:
yum install -y vsftpd
安裝vsftpd軟件包;
useradd -s /sbin/nologin virftp
建立一個ftp映射的帳戶;
建立虛擬用戶密碼文件:
vim /etc/vsftpd/vsftpd_login
新建一個ftp虛擬用戶文件,內容以下,奇數行爲用戶名,偶數行爲密碼,多個用戶就寫多行
user1
1%6eEHPu9
chmod 600 /etc/vsftpd/vsftpd_login
設置權限600;
db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
保存虛擬賬號和密碼的文件沒法被系統賬號直接調用。咱們須要使用db_load 命令生成db庫文件
-T容許應用程序可以將文本文件轉譯載入進數據庫。
-t hash使用hash碼加密
-f 指定包含用戶名和密碼文本文件。此文件格式要示:奇數行用戶名、偶數行密碼
建立和用戶對應的配置文件:
mkdir /etc/vsftpd/vsftpd_user_conf
建立與虛擬帳號相關的目錄以及配置文件
用戶的配置文件是單獨存在的,每個用戶都有一個本身的配置文件,文件名和用戶名一致
cd /etc/vsftpd/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
data_connection_timeout=120
max_clients=10
其中local_root:爲user1帳號的家目錄;anonymous_enable:用來限制是否容許匿名帳戶登陸(若爲NO,表示不容許匿名帳號登陸);write_enable=YES:表示可寫;local_umask:指定umask值;anon_upload_enable:表示是否容許匿名帳號上傳文件;anon_mkdir_write_enable:表示是否容許匿名帳號可寫;idle_session_timeout:表示空閒多長時間超時;data_connection_timeout=120若是服務器與客戶端的數據聯機已經成功創建 (不論主動仍是被動聯機),可是可能因爲線路問題致使 120 秒內仍是沒法順利的完成數據的傳送,那客戶端的聯機就會被咱們的 vsftpd 強制剔除;max_clients:有多少 client 能夠同時連上 vsftpd;
在virftp家目錄下建立以用戶名命名的家目錄:
mkdir /home/virftp/user1
touch /home/virftp/user1/gavin.txt
chown -R virftp:virftp /home/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
CentOS7爲64位系統,因此庫文件路徑爲/lib64/security/pam_userdb.so(32位系統的庫文件路徑爲/lib/security/pam_userdb.so)
修改全局配置文件/etc/vsftpd/fsftpd.conf:
修改用戶配置文件後還不可用,還須要修改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
systemctl start vsftpd //啓動vsftpd服務
ftp監聽21端口
測試ftp:
linux中ftp客戶端爲lftp;
yum install -y lftp
lftp user1@127.0.0.1
執行命令ls,看是否正常輸出
? 能夠查看支持的命令,通常put和get用的比較多
get會把文件下載到當前目錄
若不正常查看日誌/var/log/messages和/var/log/secure
windows下安裝filezilla客戶端軟件,進行測試
ftp://192.168.89.51 經過瀏覽器訪問