我想找到最简单的方法从 Gentoo 服务器中删除旧系统管理员的用户和组,并将它们全部放在我的名下。他不再在这里工作,并且似乎有大量应用程序(apache、tomcat、django 等)当前正在与他的用户和组一起运行,因此在我有时间离开之前,我不想冒险中断其中任何一个应用程序通过每一个和修补匠。
理想情况下,其用户和/或组的所有文件都将重新分配给我现有的用户。如果您对如何实现此目标有任何想法,那么您不需要继续阅读,我只是集思广益替代解决方案,因为到目前为止我未能成功合并这两个帐户。
不太理想的是,我可以将他的用户和组重命名为“admin”或我自己的新帐户,更改密码,然后将新用户“admin”放入旧用户所在的所有辅助组中。
usermod -l oldname admin
usermod -g oldname admin
ETC。
我有一种感觉,由于用户和组 uid 在名称更改后将保持不变,因此我不需要更改他拥有的所有文件的所有权/组?如果我这样做了,那么这就是我想到的命令(我还没有测试过它,我不认为它会按原样工作,但我最终会让它工作):
sudo find / -user oldName -exec sudo chown admin:admin \;
你会建议我做什么?我认为我的问题有点不常见,因为我不能只删除旧用户和他的主目录,因为我必须尝试理清以他的权限运行的数十万个文件的网络,而且我一直无法找到答案通过谷歌搜索。您能给我的任何建议将不胜感激!
答案1
在与个人帐户相同的帐户下运行系统服务是非常糟糕的做法。以此为契机结束这种做法。
系统服务应以最小权限运行,以限制安全漏洞的影响。访问管理员的配置文件(以植入权限升级方法),或更糟糕的是,访问管理员的密码存储,是利用的黄金途径。
此外,个人帐户的区域设置、环境变量、限制等配置可能不适合守护程序。
在个人帐户下运行守护程序只有两个借口。一是如果您没有 root 访问权限,那么您别无选择;在廉价虚拟化和廉价托管的时代,这种情况变得越来越罕见。另一个借口,大概是这里适用的因素,是无能。如果前任管理员对其工作了解甚少,以至于无法完成诸如呼叫sudo
和su
适当处理之类的事情,那么该系统可能存在许多其他问题。
首先将此前管理员的个人帐户视为运行所有服务的系统帐户。然后,如果您运行多个服务,请考虑拆分它们。但根据系统的混乱程度和不安全程度,一旦您了解需要提供哪些服务,您可能更愿意从头开始安装新系统。