我注意到在Ubuntu 18.04和Ubuntu 20.04之间,用户"nobody"的行为有所不同。
在这两个版本(18.04和20.04)中,用户"nobody"的配置是相同的:
在18.04版本中,对于crontab应用程序,nobody用户的主目录将被定义为
这是另一个例子:
Ubuntu 18.04:
Ubuntu 20.04:
我猜在20.04版本中,没有为没有有效的主目录定义的用户提供默认定义。我们如何修复Ubuntu 20.04,使其像18.04一样运行(没有目录,使用HOME=/登录)。
在这两个版本(18.04和20.04)中,用户"nobody"的配置是相同的:
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
在18.04版本中,对于crontab应用程序,nobody用户的主目录将被定义为
HOME=/
。而在20.04版本中,crontab应用程序将会报告nobody用户的主目录不存在。Failed to create secure directory (/nonexistent/.config/pulse): No such file or directory.
这是另一个例子:
Ubuntu 18.04:
su - nobody
No directory, logging in with HOME=/
This account is currently not available.
Ubuntu 20.04:
su - nobody
su: warning: cannot change directory to /nonexistent: No such file or directory
This account is currently not available.
我猜在20.04版本中,没有为没有有效的主目录定义的用户提供默认定义。我们如何修复Ubuntu 20.04,使其像18.04一样运行(没有目录,使用HOME=/登录)。
nobody
起初是为了解决NFS的问题,它将远程客户端的root
映射为nobody
,以避免远程客户端的root
对服务器拥有root
访问权限。随着功能累加,nobody
逐渐被用作更通用的“无资源”账户。通过使用su
并担心家目录等,来使用nobody
,与nobody
的本意相悖。请不要这样做。 - waltinator