有时我想通过 ftp 登录时会出错。错误是500 OOPS: setuid
。我不明白为什么有时会发生这种情况,但有时不会。我已将每个用户的进程限制设置为无限制,但这种情况仍然发生。我正在运行 Fedora Core 10。
答案1
来自vsftpd 维基:
我得到:500 OOPS:setuid-为什么?
setuid(2)
设置进程的用户身份。如果相关用户已用尽进程 --ulimit(1)
-- 此操作将失败,并且 vsftpd 将返回上述错误。这种行为在嵌入式设备上最为常见,因为用户允许生成的进程数量实际上是有限的。在最常见的 Linux 发行版中,这个数量是无限制的。
您可以通过检查 vsftpd 所用的用户名来验证这一点
ps -ef | grep ftp
。
然后使用命令以该用户身份登录su - [username, for example root]
,并使用检查进程数限制ulimit -u
。
在我的 CentOS 机器上,root 帐户被限制为 2047 个进程。
如果需要,可以使用 增加此数字ulimit -u [number of processes, for example 5000]
,或者使用ulimited -u unlimited
无限数量的进程。