使用Docker实现vsftpd配置——用户访问上传修改篇
生活随笔
收集整理的這篇文章主要介紹了
使用Docker实现vsftpd配置——用户访问上传修改篇
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言:
匿名及基礎搭建部分請參考:使用Docker實現vsftpd配置——匿名訪問只讀篇
本文不對搭建部分做相關說明
1、配置
首先關閉匿名訪問:
sed -i 's/anonymous_enable=.*/anonymous_enable=NO/g' /etc/vsftpd.conf關閉匿名訪問路徑配置
sed -i 's/anon_root/#anon_root/g' /etc/vsftpd.conf1.1、創建用戶
創建用戶目錄
mkdir -p /home/ftpname創建用戶并指定目錄
useradd -d /home/ftpname -s /sbin/nologin -m ftpname執行結果:
root@zabbix-server:~# mkdir -p /home/ftpname root@zabbix-server:~# useradd -d /home/ftpname -s /sbin/nologin -m ftpname useradd: warning: the home directory already exists. Not copying any file from skel directory into it.然后查看用戶列表
cat /etc/passwd | awk -F ":" '{print $1}'執行結果:
root@zabbix-server:~# cat /etc/passwd | awk -F ":" '{print $1}' root daemon bin sys sync games man lp mail news uucp proxy www-data backup list irc gnats nobody _apt Debian-exim ftp ftpuser ftpname可以看到,此時用戶已經創建成功了。
然后開始設置密碼:
PS:密碼輸入不會顯示任何內容,輸入完成回車即可
執行結果:
root@zabbix-server:~# passwd ftpname New password: Retype new password: passwd: password updated successfully root@zabbix-server:~#1.2、修改配置文件
配置文件:
/etc/vsftpd.conf
1.2.1、 chroot_list_file
首先看第一個參數:
chroot_list_file
含義:該文件下的用戶將被限制在自己的主目錄下
首先查看當前配置
grep list_file /etc/vsftpd.conf查看結果:
root@zabbix-server:~# grep list_file /etc/vsftpd.conf #chroot_list_file=/etc/vsftpd.chroot_list修改:
sed -i 's/#chroot_list_file/chroot_list_file/g' /etc/vsftpd.conf修改效果:
root@zabbix-server:~# sed -i 's/#chroot_list_file/chroot_list_file/g' /etc/vs root@zabbix-server:~# grep list_file /etc/vsftpd.conf chroot_list_file=/etc/vsftpd.chroot_list1.2.2、pam_service_name
PS:在Debian系中,需要修改該參數為ftp
查看默認參數
grep service_name /etc/vsftpd.conf修改參數:
sed -i 's/pam_service_name=.*/pam_service_name=ftp/g' /etc/vsftpd.conf配置過程:
root@zabbix-server:~# grep service_name /etc/vsftpd.conf pam_service_name=vsftpd root@zabbix-server:~# sed -i 's/pam_service_name=.*/pam_service_name=ftp/g' /etc/vsftpd.conf root@zabbix-server:~# grep service_name /etc/vsftpd.conf pam_service_name=ftp1.2.3、創建vsftpd.chroot_list文件
在chroot_list_file參數中,指定了文件路徑為:
/etc/vsftpd.chroot_list
然后把前面新建的用戶寫入進去,命令如下:
echo -e "ftpuser\nftpname" > /etc/vsftpd.chroot_list執行結果:
root@zabbix-server:~# echo -e "ftpuser\nftpname" > /etc/vsftpd.chroot_list root@zabbix-server:~# cat /etc/vsftpd.chroot_list ftpuser ftpname root@zabbix-server:~#1.3、權限配置
設置屬主
chown -R ftpname:ftpname /home/ftpname/查看寫權限配置
grep write_en /etc/vsftpd.conf執行結果
root@zabbix-server:~# grep write_en /etc/vsftpd.conf #write_enable=YES #anon_mkdir_write_enable=YES此時,ftp未開啟寫權限,使用下面的命令進行開啟:
sed -i 's/#write_enable=.*/write_enable=YES/g' /etc/vsftpd.conf執行結果:
root@zabbix-server:~# sed -i 's/#write_enable=.*/write_enable=YES/g' /etc/vsftpd.conf root@zabbix-server:~# grep write_en /etc/vsftpd.conf write_enable=YES #anon_mkdir_write_enable=YES然后執行最后一條配置命令
sed -i 's/pam_shells.so/pam_nologin.so/g' /etc/pam.d/vsftpd2、訪問驗證
2.1、重啟服務
修改完配置之后,重啟進行生效:
cd /etc/init.d/ ./vsftpd restart ./vsftpd status執行結果:
root@zabbix-server:~# cd /etc/init.d/ root@zabbix-server:/etc/init.d# ./vsftpd restart [ ok ] Stopping FTP server: vsftpd. [ ok ] Starting FTP server: vsftpd. root@zabbix-server:/etc/init.d# ./vsftpd status [ ok ] FTP server is running. root@zabbix-server:/etc/init.d#2.2、訪問
此時。要求輸入用戶名密碼輸入完成之后,訪問成功,但是出現了文件名異常的問題
切換至Windows的資源管理器進行訪問
錯誤依然存在,解決方案:
待發布
總結
以上是生活随笔為你收集整理的使用Docker实现vsftpd配置——用户访问上传修改篇的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hive编程指南电子版_2020浙江省太
- 下一篇: 如何把HTML背景图片变透明,photo