安裝:ftp服務:yum -y instal vsftpd
安裝:ftp客戶端:yum -y instal ftp
啟動ftp服務:systemctl start vsvtpd
使用普通使用者(不是root)登入測試:
[root@localhost vsftpd]# ftp localhost
trying ::1...
connected to localhost (::1).
220 (vsftpd 3.0.3)
name (localhost:root): tomcat
331 please specify the password.
password:
230 login successful.
remote system type is unix.
using binary mode to transfer files.
ftp> ls
229 entering extended passive mode (|||60430|)
150 here comes the directory listing.
-rw-r--r-- 1 1001 50 0 jun 03 15:09 1.txt
drwxr-xr-x 2 1001 50 6 jun 03 16:04 ftp_in
drwxr-xr-x 2 1001 50 6 jun 03 16:04 ftp_in_bak
226 directory send ok.
測試使用ls和cd命令,可以到tomcat使用者下的任何目錄,這不是我們期望的,只能限定使用者在指定的目錄操作。
[root@localhost data]# vi /etc/vsftpd/vsftpd.conf
chroot_local_user=yes#限制ftp登入使用者只能在local_root指定的目錄內操作
local_root=/data/ftp#指定ftp根目錄
allow_writeable_chroot=yes #指定根目錄寫許可權,否則報500 oops: vsftpd: refusing to run with writable root inside chroot()
#指定chroot_list檔案裡的使用者可以操作local_root以外的目錄,需要指定chroot_list_file配置,這裡不啟用
#chroot_list_enable=yes
# (default follows) 這裡要配合chroot_list_enable使用,指定不限制目錄的使用者,這裡不啟用
#chroot_list_file=/etc/vsftpd/chroot_list
修改/data/ftp目錄操作許可權(這裡視情況給許可權,安裝測試時先用777,避免許可權問題):
chmod -r 777 /data/ftp
重啟ftp服務:
systemctl restart vsftpd
重新登入ftp後就只能在指定的目錄: /data/ftp 下操作了
處理因selinux攔截ls命令報錯問題:
先啟用selinux
[root@localhost ~]# setenforce 1
ftp> ls #這裡已經報錯
229 entering extended passive mode (|||34974|)
150 here comes the directory listing.
226 transfer done (but failed to open directory).
關閉 selinux
[root@localhost ~]# setenforce 0
ftp> ls #關閉selinux後正常
229 entering extended passive mode (|||21252|)
150 here comes the directory listing.
-rw-r--r-- 1 1001 50 0 jun 03 15:09 1.txt
drwxr-xr-x 2 1001 50 6 jun 03 16:04 boss_in
drwxr-xr-x 2 1001 50 6 jun 03 16:04 boss_in_bak
226 directory send ok.
檢視selinux有關ftp的規則:
設定啟用ftpd_full_access
setsebool -p ftpd_full_access=on
再登入ftp測試,問題解決。這裡根據實際情況開啟其它規則,如:tftp_home_dir,ftpd_connect_db等。
因配置檔案有寫許可權會導致不能登入:
[root@localhost vsftpd]# ll /etc/vsftpd
total 20
-rw-------. 1 root root 0 jun 3 23:05 chroot_list
-rw-rw-rw-. 1 root root 125 may 14 2019 ftpusers
-rw-------. 1 root root 361 may 14 2019 user_list
-rw-rw-rw-. 1 root root 5154 jun 4 01:24 vsftpd.conf
-rw-rw-rw-. 1 root root 348 may 14 2019 vsftpd_conf_migrate.sh
要保證chroot_list,ftpusers,user_list幾個檔案的其它許可權不能有可寫的許可權2,關於這幾個檔案,檔案頭部有詳細的使用說明。
增加只能ftp登入的使用者,必須要保證/etc/shells裡有/sbin/nologin
如:新增只能ftp登入的使用者:useradd -d /data/ftp -s /sbin/nologin ttm
設定登入密碼:passwd ttm
vi /etc/shells #新增/sbin/nologin,儲存退出即可生效
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
/sbin/nologin
開啟防火牆的情況下,需要開放ftp埠,增加ftp服務,否則遠端機無法連線
firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload
CentOS7安裝FTP服務
centos7下安裝ftp服務參考 1 安裝vsftp 1.1 安裝vsftp,測試安裝的vsftpd的版本是 vsftpd.x86 64 0 3.0.2 11.el7 2 yum y install vsftpd1.2 修改配置檔案 vi etc vsftpd vsftpd.confcp etc ...
CentOS7安裝FTP教程
首先安裝vsftpd yum y install vsftpd 修改配置檔案 vim etc vsftpd vsftpd.conf 是否允許匿名,預設no anonymous enable no 這個設定值必須要為yes 時,在 etc passwd內的賬號才能以實體使用者的方式登入我們的vsftp...
centos7安裝ftp服務
安裝vsftpd root ftp yum install y vsftpd root ftp yum install y epel release安裝db4 utils root ftp yum install y db4 utils1.建立系統賬戶 和虛擬賬戶相關聯的 root ftp user...