NFS介紹
NFS服務端安裝配置
準備兩臺虛擬機,一臺做爲服務端,一臺做爲客戶端。shell
服務端IP:192.168.31.137vim
安裝NFS工具:centos
[root@harry-01 ~]# yum install -y nfs-utils rpcbind
配置安全
[root@harry-01 ~]# vim /etc/exports /home/nfstestdir 192.168.31.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000) #指定要進行分享的目錄;指定要共享該目錄的機器 [root@harry-01 ~]# mkdir /home/nfstestdir [root@harry-01 ~]#chmod 777 /home/nfstestdir
啓動NFS服務bash
在yum安裝完成後,系統會自動啓動rpcbind服務,默認監聽的端口時111端口。服務器
[root@harry-01 ~]# systemctl start nfs #將NFS服務加入開機啓動項: [root@harry-01 ~]# systemctl enable nfs
客戶端
IP:192.168.31.138網絡
安裝NFS工具:
[root@harry-01 ~]# yum -y install nfs-utils
客戶端掛載
檢查客戶端是否有權限訪問服務端文件:session
[root@harry-01 ~]# showmount -e 192.168.31.138 clnt_create: RPC: Program not registered
報錯:因爲網絡緣由nfs服務被中斷app
解決辦法:service nfs restart 或 /etc/rc.d/init.d/nfs restartssh
[root@harry-01 ~]# showmount -e 192.168.31.138 Export list for 192.168.31.138: [root@harry-01 ~]#
開始掛載
測試
在客戶機掛載目錄建立文件:
[root@harry-01 mnt]# cd [root@harry-01 ~]# cd /mnt/ [root@harry-01 mnt]# touch skr.txt [root@harry-01 mnt]#
查看服務端共享目錄:
[root@harry-01 ~]# ll /home/nfstestdir/ 總用量 0 -rw-r--r--. 1 user1 user1 0 12月 23 22:40 skr.txt [root@harry-01 ~]#
即,實現了同步共享!
NFS配置選項
[root@harry-01 ~]# vim /etc/exports /home/nfstestdir 192.168.8.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000) #指定要進行分享的目錄;指定要共享該目錄的機器
exportfs命令
-v 顯示共享目錄
經常使用組合: exportfs -arv
服務端更改配置文件後,不重啓服務,直接執行該命令就可使更改後的配置文件生效。
以上操做均在服務端進行!!!
注意: 在重啓nfs服務以前須要先將全部掛載點卸載,不然將發生程序錯誤,嚴重者會拖垮系統。
FTP介紹
使用vsftpd搭建ftp服務
安裝vsftpd工具
[root@harry-01 ~]# yum install -y vsftpd #建立用戶: [root@harry-01 ~]# useradd -s /sbin/nologin virftp
vsftpd可使用系統級別的用戶進行登陸,可是這樣作不安全,因此須要使用vsftpd建立一個虛擬用戶。在此建立一個系統普通用戶的做用是使vsftpd的虛擬用戶來進行映射,而後完成數據的傳輸。
編輯虛擬用戶密碼文件
[root@harry-01 ~]# vim /etc/vsftpd/vsftpd_login testuser1 123123 #更改文件權限: [root@harry-01 ~]# chmod 600 /etc/vsftpd/vsftpd_login
該文件中內容奇數行爲用戶名,偶數行爲用戶密碼。
文件轉換: 將該密碼文件轉換成計算機能識別的二進制文件
[root@harry-01 ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
建立虛擬用戶配置文件
建立指定虛擬用戶配置文件:
[root@harry-01 ~]# mkdir /etc/vsftpd/vsftpd_user_conf [root@harry-01 ~]#cd /etc/vsftpd/vsftpd_user_conf
建立指定虛擬用戶配置文件:
[root@harry-01 vsftpd_user_conf]# vim testuser1 //內容以下: local_root=/home/virftp/testuser1 #定義虛擬用戶家目錄 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_client=10 #客戶端最大鏈接數量
建立虛擬用戶家目錄
[root@harry-01 vsftpd_user_conf]# mkdir /home/virftp/testuser1 #建立一個文件: [root@harry-01 testuser1]# touch tea.txt [root@harry-01 testuser1]# chown -R virftp:virftp /home/virftp
虛擬用戶密碼匹配
在該文件中添加這兩行內容,用於指定用戶密碼文件位置。
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@harry-01 vsftpd_user_conf]# vim /etc/pam.d/vsftpd #%PAM-1.0 session optional pam_keyinit.so force revoke auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed auth required pam_shells.so auth include password-auth account include password-auth session required pam_loginuid.so session include password-auth auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
在centos6中「/lib64/security/pam_userdb.so」該文件區分版本(32位、64位)。!!
編輯vsftpd主配置文件
[root@harry-01 vsftpd_user_conf]# 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
啓動服務:
[root@harry-01 vsftpd_user_conf]# systemctl start vsftpd Job for vsftpd.service failed because the control process exited with error code. See "systemctl status vsftpd.service" and "journalctl -xe" for details.
出現錯誤的緣由是:因爲centos7中vsftp的配置文件默認將 listen_ipv6=YES 這一行沒有註釋掉,而咱們目前的網絡環境還不支持ipv6,從而致使出現錯誤沒法啓動,因此解決方法是將 listen_ipv6=YES更改成:listen_ipv6=NO,或將這一行註釋掉
同時:在配置文件時,不能有多餘的空格(例如:allow_writeable_chroot=YES後跟了一個空格)就會報錯!!!
[root@harry-01 vsftpd_user_conf]# systemctl start vsftpd [root@harry-01 vsftpd_user_conf]# ps aux | grep vsftpd root 10685 0.0 0.0 53176 580 ? Ss 00:03 0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf root 10694 0.0 0.0 112724 984 pts/0 R+ 00:03 0:00 grep --color=auto vsftpd [root@harry-01 vsftpd_user_conf]#
FTP服務監聽21端口;sshd監聽22端口;telnet監聽23端口。