通过docker搭建了sftp,使用后不能登录。
创建脚本
sftp:
image: atmoz/sftp
volumes:
- /opt/docker-common/sftp:/home
#- /opt/docker-common/sftp/users.conf:/etc/sftp/users.conf:ro
environment:
TZ: Asia/Shanghai
ports:
- "4023:22"
command: mysftp:mysftp.1234:::mysftp
container_name: sftp
networks:
- default
使用时不能登录,出现两个问题:
1、连不上
bad ownership or modes for chroot directory "/home/mysftp"
主要是这个目录必须是root用户,权限755
登录进docker,执行后可以登录
docker exec -it sftp /bin/bash
chown root /home/mysftp
chmod 755 -R /home/mysftp
2、连上但不能上传
错误:Permission denied
由于mysftp下面所有目录都是root用户,导致不能写入
docker exec -it sftp /bin/bash
cd /home/mysftp
chown mysftp -R ./
3、修改完使用下面命令确认下结果
ls -a -l
如果权限不对,使用下面命令修改:
chmod 755 -R ./