1. 程式人生 > >FTP服務搭建與配置

FTP服務搭建與配置

FTP服務搭建與配置

14.4 exportfs命令

exportfs命令用來管理當前NFS共享的文件系統列表。

Options:
-a:全部卸載或全部掛載
-r:重新掛載
-u:卸載某個目錄
-v:顯示共享目錄

常用組合: exportfs -arv
服務端更改配置文件後,不重啟服務,直接執行該命令就可以使更改後的配置文件生效。

註意: 在重啟nfs服務之前需要先將所有掛載點卸載,否則將發生程序錯誤,嚴重者會拖垮系統。

以上操作均在服務端進行!!!

14.5 NFS客戶端問題

針對NFS4版本在centos6中應用存在如下問題:
客戶端掛載共享目錄後,不管是root用戶還是普通用戶,創建新文件時屬主、數組為nobody。

解決方法:

方法1:在客戶端進行掛載時加上選項-o nfsvers=3
[root@centos-01linux ~]# monunt -t nfs -o nfsvers=3 192.168.8.130:/tmp/ /mnt/
如果目錄已經掛載,而又不想卸載,執行如下命令:

[root@centos-01linux ~]# monunt -t nfs -o remount,nfsvers=3 192.168.8.130:/tmp/ /mnt/
方法2:客戶端和服務端都需要
[root@centos-01linux ~]# vim /etc/idmapd.conf
把該配置文件中的“Domain = local.domain.com”改為“Domain = xxx.com”(此處xxx.com自定義),然後重啟rpcidmapd服務(在centos7中直接重啟rpcbind服務)。

第十五章 FTP服務搭建與配置

FTP服務介紹

FTP(file transfer protocol)文件傳輸協議,用於在Internet上控制文件的雙向傳輸。FTP主要作用是讓用戶連接一個遠程計算機(這些計算機上運行著FTP服務器程序)查看遠程計算機有哪些文件,然後把文件從遠程計算機上拷貝到本地計算機,或把本地文件傳送到遠程計算機。
該服務在小公司用的比較多,由於FTP服務的安全性較差,所以大公司不使用該服務。

15.2 使用vsftpd搭建ftp服務(上)

安裝vsftpd工具

centos中默認自帶vsftpd安裝包。

[root@centos-01linux ~]# yum install -y vsftpd

創建用戶:

[root@centos-01linux ~]# useradd -s /sbin/nologin virftp
說明: vsftpd可以使用系統級別的用戶進行登錄,但是這樣做不安全,所以需要使用vsftpd創建一個虛擬用戶。在此創建一個系統普通用戶的作用是使vsftpd的虛擬用戶來進行映射,然後完成數據的傳輸。

編輯虛擬用戶密碼文件

[root@centos-01linux ~]# vim /etc/vsftpd/vsftpd_login
testuser1
123456

更改文件權限:
[root@centos-01linux ~]# chmod 600 /etc/vsftpd/vsftpd_login
註: 該文件中內容奇數行為用戶名,偶數行為用戶密碼。

文件轉換: 將該密碼文件轉換成計算機能識別的二進制文件。

[root@centos-01linux ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
創建虛擬用戶配置文件

創建文件存放目錄:
[root@centos-01linux ~]# mkdir /etc/vsftpd/vsftpd_user_conf

[root@centos-01linux ~]# cd /etc/vsftpd/vsftpd_user_conf

創建指定虛擬用戶配置文件:
[root@centos-01linux 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@centos-01linux vsftpd_user_conf]# mkdir /home/virftp/testuser1

創建一個文件:
[root@centos-01linux vsftpd_user_conf]# touch /home/virftp/testuser1/centos-01.txt
[root@centos-01linux vsftpd_user_conf]# chown -R virftp:virftp /home/virftp
虛擬用戶密碼匹配

[root@centos-01linux vsftpd_user_conf]# 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
說明: 在該文件中添加這兩行內容,用於指定用戶密碼文件位置。
註意: 在centos6中“/lib64/security/pam_userdb.so”該文件區分版本(32位、64位)。

編輯vsftpd主配置文件

[root@centos-01linux vsftpd_user_conf]# vim /etc/vsftpd/vsftpd.conf
……
anonymous_enable=NO
anon_upload_enable=NO
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_user_conf
allow_writeable_chroot=YES
啟動服務:

[root@centos-01linux vsftpd_user_conf]# systemctl start vsftpd

[root@centos-01linux vsftpd_user_conf]# ps aux |grep vsftpd
root 3671 0.0 0.0 52708 564 ? Ss 18:40 0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
[root@centos-01linux 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 3671/vsftpd
說明: FTP服務監聽21端口;sshd監聽22端口;telnet監聽23端口。

15.3 使用vsftpd搭建ftp服務(下)

測試

如果在Windows系統進行測試,可以在Windows安裝filezilla軟件。在Linux中測試,安裝lftp工具。

[root@centos-01linux ~]# yum install -y lftp
用法:

[root@centos-01linux ~]# lftp [email protected]
口令:
#登錄
lftp [email protected]:~> ls
drwxr-xr-x 2 1002 1002 22 Aug 24 10:19 testuser1
lftp [email protected]:/> ?
#查詢在lftp中可執行的命令
#常用命令:put、get
lftp [email protected]:/> get testuser1/centos-01.txt
lftp [email protected]:/> quit

[root@centos-01linux ~]# ls
centos-01.txt anaconda-ks.cfg
說明: 下載(get)的內容會保存到當前目錄下。

FTP服務搭建與配置