是否可以在不写入文件的情况下创建用户/etc/passwd
,让用户只存在于内存中?adduser
没有执行此操作的选项。我认为这不可能从命令行实现,因此 C 代码中的解决方案就可以了。
我可能应该说我想制作一个应用程序,让用户登录到学校或公司等管理部门。我想我可以通过在显示管理器之前启动应用程序并添加管理已设置的用户来解决这个问题
谢谢。
答案1
是否可以在不写入文件的情况下创建用户
/etc/passwd
...
是的。很可能包含从远程数据库管理的用户帐户,例如 Microsoft 的 Active Directory(或 Samba 等效项)、LDAP,甚至 NIS。我工作的地方管理的一些机器正是具有这种配置,它是通过/etc/nsswitch.conf
和 PAM 的组合进行管理的(文件位于/etc/pam.d
-1,2,3)
…使用户只存在于内存中
由于很可能添加额外的身份验证/授权服务(例如 LDAP),因此应该可以创建临时帐户的数据库。然而,我不相信有任何“开箱即用”的东西可以实现这一目标。
我还是觉得有一点XY问题这里 - 我不清楚为什么您希望用户帐户在计算机重新启动时消失。例如,此类用户拥有的文件会发生什么情况?