sftp與vsftp使用
sftp簡單配置
sftp是ssh內含協議,也就是說只要sshd服務器啟動了,sftp就可使用,不需要額外安裝,它的默認端口和SSH一樣為22。
sftp如何配置
- sftp版本需要大於4.8
rpm -qa|grep opensshd | ssh -V 都可以查看版本信息
- 創建用戶組與用戶
groupadd sftpgroup |創建用戶組
useradd -g sftpgroup -M -s /sbin/nologin sftpuser |創建sftp用戶,用戶組為sftpgroup。不生成家目錄。
passwd sftpuser |創建密碼
- 修改配置文件,啟用sftp
vim /etc/ssh/sshd_config
#Subsystem sftp internal-sftp -l INFO -f AUTH |打開此行,取消注釋
添加以下配置:
Match user sftpuser |sftp用戶名
ChrootDirectory /home/data/sftp/ |指定sftp遠程共享目錄
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp -l INFO -f AUTH
重啟sshd服務:
systemctl restart sshd
修改sftp目錄權限:
chmod 755 -R /data/sftp
修改屬主屬組:
chown sftpuser:sftpuser -R /data/sftp
現在sftp就配置成功了,可以使用下面命令登錄嘗試:
sftp sftpuser@127.0.0.1
vsfttp安裝配置
安裝vsftp
yum install -y vsftpd pam* db4*
systemctr start vsftpd
配置vsttp
vim /etc/vsftpd/vuser_passwd | 用來報存虛擬用戶賬號密碼文件
user
passwd
注:單行為賬號,雙行為密碼。不需要隔空行,寫完報存退出。
#生成虛擬用戶口令認證文件
db_load -T -t hash -f /etc/vsftpd/vuser_passwd /etc/vsftpd/vuser_passwd.db
#編輯vsftp的PAM認證文件(將文件內所有已存在的注釋掉,新添加下面兩行)
vim /etc/pam.d/vsftpd
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
#建立本地映射用戶並設置宿主目錄權限,所有的FTP虛擬用戶需要使用一個系統用戶,這個系統用戶不需要密碼。
useradd –d /home/vftpsite –s /sbin/nologin vftpuser
編輯主配置文件,並打開虛擬用戶登錄
# cat vsftpd.conf
write_enable=YES
anonymous_enable=NO
local_enable=YES
guest_enable=YES
guest_user_name=ftpuser
virtual_use_local_privs=NO
pam_service_name=vsftpd
user_config_dir=/etc/vsftpd/vuser_conf #虛擬用戶配置文件路徑
ftpd_bammer=Welcome to xxxxxxxx FTP server #xxx表示名字(可以是公司或者個人)
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
ascii_upload_enable=YES
ascii_dowmload_enable=YES
tcp_Lwrappers=NO
setproctitle_enable=YES
1istenport=21
comnect_from_port_20=YES
idle_session_timeout=600
data_comnection_timeout=120
max_clients=0
max_per_ip=3
local_max_rate=512000
allow_writeable_chroot=YES
修改虛擬用戶配置文件,以限制權限
#admin開啟所有權限
# cat admin
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_world_readable_only=NO
#為customer_01只開啟上傳權限
# cat customer 01
anon_world_readable_only=YES
write_enable=YES
anon_upload_enable=YES
virtual_use_local_prius=NO
#為user用戶開啟查看下載權限
# cat user
anon_world_readable_only=NO
重啟服務測試:
systemctl restart vsftpd
#客戶端連接測試:
yum install ftp -y
ftp 0.0.0.0
配置文件權限說明:
注:只開通上傳權限是不能開啟查看權限的。
#設定根目錄
local_root=/var/data/ftp/develop
# 設定權限,不擁有和代理系統用於同樣的權限
virtual_use_local_privs=NO
#設定寫權限
write_enable=YES
#設定權限:可以上傳文件
anon_upload_enable=YES
#設定權限:不能新建目錄
anon_mkdir_write_enable=NO
#設定權限:不能刪除/重命名文件
anon_other_write_enable=NO
#設定權限:可以瀏覽目錄下的文件
anon_world_readable_only=NO
#設定上傳文件權限
anon_umask=022
#理解虛擬用戶設定權限,vsftp差不多就夠用了
“筆記是為了更好的復制--,”