docker搭建vsftpd服務
一、宿主機開通20、21、21100-21110埠
1.主動模式: 21埠為ftp預設的埠,是ftp的控制埠, 而20埠是ftp的資料埠, 21埠用來接收客戶端連線, 20埠用來傳輸資料; 伺服器(主動地)定下規矩,客戶端與服務端建立連線, 那通過21埠, 想傳資料就通過20埠, 20埠和21埠結合到一起就是ftp的主動模式
2.被動模式: 主動模式有一些安全性問題, 如果有人想攻擊你的ftp服務, 就直接到20埠堵你, 為了避免資料出門被人堵, 就出現了被動模式, 被動模式把傳資料的20埠, 改成了範圍, 比如文中的21100-21110, 具體哪個值由客戶端來定(比如21115), 這樣傳出的資料就不容易被人堵,安全性大大提升, 現在大多數ftp客戶端,預設使用被動模式連線伺服器, 也就是由客戶端定傳資料的埠
二、拉取映象
docker pull fauria/vsftpd
三、安裝ftp命令和建立使用者目錄
yum install ftp
mkdir -p /home/vsftpd
chown ftp.ftp -R /home/vsftpd
四、啟動容器
docker run -d --net=host -v /home/vsftpd/:/home/vsftpd -e FTP_USER=ftp -e FTP_PASS=ftp -e PASV_ADDRESS=<宿主機IP> -e PASV_MIN_PORT=21100 -e PASV_MAX_PORT=21110 --name vsftpd fauria/vsftpd
五、新增新使用者和匿名使用者
docker exec -it vsftpd bash
mkdir -p /home/vsftpd/<新增使用者名稱>
vi /etc/vsftpd/virtual_users.txt
注:奇數行為使用者名稱,偶數行為密碼
db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=YES 允許匿名使用者訪問
write_enable=YES 允許登入使用者有寫許可權。屬於全域性設定
anon_root=var/ftp 指定匿名使用者登入的目錄
anon_upload_enable=YES 允許匿名使用者有上傳檔案的許可權
anon_mkdir_write_enable=YES 允許匿名使用者有新增目錄的許可權
chown_uploads=YES 設定是否改變匿名使用者上傳檔案的屬主。預設為NO。chown_uploads=YES的時候不設定chown_users列表,anon_umask是不生效的。
chown_username=username 設定匿名使用者上傳檔案的屬主名
chmod 777 -R /var/ftp/pub
ctrl+D退回宿主機
docker restart vsftpd
六、使用winSCP登入ftp站點進行檔案傳輸
注:協議選擇不加密,埠21
ftp使用者目錄 :/home/vsftpd/ftp
新增使用者目錄:/home/vsftpd/<新增使用者名稱>
匿名使用者目錄:/var/ftp/pub
相關文章
- Docker容器服務搭建(一)Docker
- docker-compose搭建gitlab服務DockerGitlab
- Docker學習之搭建MySql容器服務DockerMySql
- Linux中Vsftpd服務的部署及優化LinuxFTP優化
- Docker 搭建多容器組合服務 (nginx + PHP)DockerNginxPHP
- Docker學習之搭建ActiveMQ訊息服務DockerMQ
- go-zero docker-compose 搭建課件服務(五):完善user服務GoDocker
- 使用Docker搭建自己的Bitwarden密碼管理服務Docker密碼
- 阿里雲+docker搭建簡單node.js服務阿里DockerNode.js
- linux之FTP服務vsftpd和pure-ftpd常用配置LinuxFTP
- go-zero docker-compose 搭建課件服務(二):編寫courseware rpc服務GoDockerRPC
- go-zero docker-compose 搭建課件服務(三):編寫courseware api服務GoDockerAPI
- Docker系列——利用gogs搭建屬於自己的git服務DockerGoGit
- 基於Docker快速搭建Gitlab與Gitlab CI/CD服務DockerGitlab
- FTP伺服器——使用vsftpd搭建FTP伺服器
- go-zero docker-compose 搭建課件服務(七):prometheus+grafana服務監控GoDockerPrometheusGrafana
- go-zero docker-compose 搭建課件服務(一):編寫服務api和protoGoDockerAPI
- docker 中使用原始碼方式搭建 SRS 流媒體服務Docker原始碼
- 使用Docker Swarm快速搭建與部署你的服務叢集DockerSwarm
- WebSocket服務搭建Web
- FTP服務搭建FTP
- 搭建Telnet服務
- NFS服務搭建NFS
- SFTP服務搭建FTP
- docker內服務訪問宿主機服務Docker
- go-zero docker-compose搭建課件服務(四):生成DockerfileGoDocker
- docker快速搭建幾個常用的第三方服務Docker
- Docker_Docker服務編排6Docker
- Linux環境下安裝配置vsftpd服務(三種認證模式)LinuxFTP模式
- OrbStack搭建Mysql服務ORBMySql
- elastic search服務搭建AST
- 搭建 Restful Web 服務RESTWeb
- linux ftp服務搭建LinuxFTP
- 搭建本地 mock 服務Mock
- mac搭建openresty服務MacREST
- docker初體驗:docker部署nginx服務DockerNginx
- Docker:Docker搭建Jenkins並共用宿主機Docker部署服務(五)跨伺服器遠端部署後端微服務多模組DockerJenkins伺服器後端微服務
- 快速安裝Docker服務Docker