定制型網(wǎng)站設(shè)計(jì)價格刷僵尸粉網(wǎng)站推廣
1. FTP安裝與配置
1.1 FTP安裝
一般使用yum直接在線安裝
# 在線安裝FTP
yum install -y vsftpd
安裝完成后查看ftp狀態(tài)
# 查看ftp狀態(tài)
systemctl status vsftpd.service
# 啟動ftp狀態(tài) 重啟:restart,停止:stop,開機(jī)自啟:enable,關(guān)閉開機(jī)自啟:disable
systemctl start vsftpd.service
1.2 FTP配置
配置文件路徑:/etc/vsftpd/vsftpd.conf
# 編輯vsftpd.conf
vim /etc/vsftpd/vsftpd.conf
# 顯示行號
:set nu
# 修改配置12行,不允許匿名訪問,默認(rèn)YES允許
anonymous_enable=NO
#修改配置83、84行 允許ascii文件上傳下載
ascii_upload_enable=YES
ascii_download_enable=YES
# 修改配置87行
ftpd_banner=Welcome to blah FTP service.
#修改配置101,102,104行 將用戶限制在為其配置的主目錄
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list#添加下列內(nèi)容到vsftpd.conf末尾# 監(jiān)聽端口
listen_port=21
idle_session_timeout=300
# 允許寫
allow_writeable_chroot=YES
data_connection_timeout=1
virtual_use_local_privs=YES
pasv_min_port=40000
pasv_max_port=40010
accept_timeout=5
connect_timeout=1
# ftp默認(rèn)使用GMT時間與系統(tǒng)時間相差8小時
use_localtime=YES# Esc :wq保存
2?FTP賬號、組、目錄配置
# 新建一個ftpuser組
groupadd ftpuser
# 新建一個ftpuser賬號,并且該賬號不需要登錄服務(wù)器,設(shè)定家目錄在 /home/ftpuser,-d '用戶主目錄'
useradd -g ftpuser -M -d /home/ftpuser -s /sbin/nologin ftpuser
# 設(shè)置用戶 ftpuser 的密碼
passwd ftpuser
# 把 /home/ftpuser 的所有權(quán)給ftpuser
chown -R ftpuser:ftpuser /home/ftpuser
# 在home目錄下先創(chuàng)建文件夾,作為后續(xù)ftp賬號的默認(rèn)目錄
mkdir -p /home/ftpuser
# 設(shè)置目錄權(quán)限為755
chmod 755 -R /home/ftpuser
2.1 FTP登錄用、密碼設(shè)置
# 進(jìn)入/etc/vsftpd/目錄
cd /etc/vsftpd/# 創(chuàng)建用戶密碼信息文件
vim vuser_passwd
#編輯如下內(nèi)容,創(chuàng)建ftp賬戶信息
ftpuser
123456
# Esc :wq保存退出
# 安裝db_load命令
yum install libdb-utils
# 生成ftp用戶數(shù)據(jù)文件
db_load -T -t hash -f /etc/vsftpd/vuser_passwd /etc/vsftpd/vuser_passwd.db
# 將該目錄的權(quán)限改成600
chmod 600 /etc/vsftpd/vuser_passwd.db
2.2 編輯pam認(rèn)證文件
# 查看系統(tǒng)位數(shù)
getconf LONG_BIT
# 備份pam認(rèn)證文件
mv /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
# 新建pam認(rèn)證文件
vim /etc/pam.d/vsftpd
# 根據(jù)自己的操作系統(tǒng)選2行,不要全部都填寫喲
# 注:db=/etc/vsftpd/vuser_passwd 中的vuser_passwd 是你生成的虛擬用戶的db文件,這里不要加擴(kuò)展名。
# 系統(tǒng)為32位:
auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd account
required pam_userdb.so db=/etc/vsftpd/vuser_passwd# 系統(tǒng)為64位:
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
# Esc :wq 保存內(nèi)容
2.3 chroot_list文件
# 進(jìn)入目錄/etc/vsftpd
cd /etc/vsftpd
#創(chuàng)建使當(dāng)前配置的虛擬用戶允許訪問的文件列表
vim chroot_list
#寫入FTP用戶名
ftpuser
# Esc :wq 保存退出
2.4 防火墻、SELinux等配置
# SELINUX不對vsftp不做任何限制
setsebool -P ftpd_full_access on
# 防火墻設(shè)置 IPtables 的設(shè)置方式:
vi /etc/sysconfig/iptables
#編輯iptables文件,添加如下內(nèi)容,開啟21端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 40000:40010 -j ACCEPT#firewall 的設(shè)置方式,以下指令
firewall-cmd --zone=public --add-service=ftp --permanent
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --zone=public --add-port=40000-40010/tcp --permanent
2.6?sftp連接
連接命令:sftp -P 22 用戶名@Ip Address
示例:sftp -P 22 user1@192.168.3.5
2.7? ?配置完成之后,如果連接報(bào)錯:
Received message too long 1416128883
Ensure the remote shell?produces?no output for non-interactive sessions.
解決方法:使用如下命令來放開用戶限制
usermod?-s /bin/bash 用戶名