ftp [vsftpd] 在高山下给我“500 OOPS:孩子死了”

问题描述 投票:0回答:1

我在新的

ftp
容器中设置了
alpine
,并安装了
lftp
客户端来测试 ftp,但它似乎不起作用,并出现以下错误:
[500 OOPS: child died]

我的设置和配置似乎没问题,但不确定为什么它不起作用。

这是我的设置:

Dockerfile:

FROM alpine:3.19

RUN apk upgrade && apk update
RUN apk add lftp vsftpd

RUN adduser -D tofaha 
RUN echo tofaha:1337 | chpasswd 

RUN \
        echo "listen=YES" > /etc/vsftpd/vsftpd.conf; \
        echo "local_enable=YES" >> /etc/vsftpd/vsftpd.conf; \
        echo "write_enable=YES" >> /etc/vsftpd/vsftpd.conf; \
        echo "anonymous_enable=NO" >> /etc/vsftpd/vsftpd.conf; \
        echo "chroot_local_user=YES" >> /etc/vsftpd/vsftpd.conf; \
        echo "allow_writeable_chroot=YES" >> /etc/vsftpd/vsftpd.conf;

CMD vsftpd /etc/vsftpd/vsftpd.conf

EXPOSE 21

然后我构建图像并使用以下命令运行它:

docker build . -t my-ftp
docker run -d -p 21:21 --name ftp-cont my-ftp

进入容器外壳:

docker exec -it ftp-cont sh

然后使用

ftp
客户端连接到
lftp

lftp localhost -u tofaha
# Password is 1337
lftp tofaha@localhost:~>

然后当我尝试列出或创建目录时,它给我这个错误:

lftp tofaha@localhost:~> ls
`ls' at 0 [500 OOPS: child died]

有什么想法吗?

docker ftp alpine-linux lftp
1个回答
0
投票

嗯,事实证明我需要在

vsftpd
配置中添加这一行:

seccomp_sandbox=NO

感谢这篇帖子,上面写着:

vsftpd 3.0 版本引入了一项新功能,这似乎给一些人带来了问题。该功能是 seccomp 沙箱,可以通过在 /etc/vsftpd.conf 中添加以下行来关闭它: seccomp_sandbox=否

编辑

vsftpd.conf
文件(在我的例子中可在此路径
/etc/vsftpd/vsftpd.conf
中找到),并将上面的行添加到其中。

不要忘记重新启动

vsftpd
服务以应用新配置。

或将 dockerfile 更新为以下内容:

Dockerfile:

FROM alpine:3.19

RUN apk upgrade && apk update
RUN apk add lftp vsftpd

RUN adduser -D tofaha 
RUN echo tofaha:1337 | chpasswd 

RUN \
        echo "listen=YES" > /etc/vsftpd/vsftpd.conf; \
        echo "local_enable=YES" >> /etc/vsftpd/vsftpd.conf; \
        echo "write_enable=YES" >> /etc/vsftpd/vsftpd.conf; \
        echo "anonymous_enable=NO" >> /etc/vsftpd/vsftpd.conf; \
        echo "chroot_local_user=YES" >> /etc/vsftpd/vsftpd.conf; \
        echo "allow_writeable_chroot=YES" >> /etc/vsftpd/vsftpd.conf; \
        echo "seccomp_sandbox=NO" >> /etc/vsftpd/vsftpd.conf;           # NOTE this new line

CMD vsftpd /etc/vsftpd/vsftpd.conf

EXPOSE 21
© www.soinside.com 2019 - 2024. All rights reserved.