Tim*_*Tim 15 security linux unix
我很好奇是否存在标准的预期行为,以及在具有相同 UID 的 Linux/Unix 上创建多个帐户时是否被认为是不好的做法。我已经用这个在 RHEL5 上做了一些测试,它的表现符合我的预期,但我不知道我是否在使用这个技巧来诱惑命运。
例如,假设我有两个具有相同 ID 的帐户:
a1:$1$4zIl1:5000:5000::/home/a1:/bin/bash
a2:$1$bmh92:5000:5000::/home/a2:/bin/bash
Run Code Online (Sandbox Code Playgroud)
这意味着:
所以我的问题是:
请注意,这里的想法是将其用于系统帐户而不是普通用户帐户。
小智 9
我的看法:
这种能力是被设计出来的还是只是它碰巧起作用的方式?
它是设计的。自从我开始使用 *NIX,您就可以将用户置于公共组中。让 UID 保持相同而没有问题的能力只是一个预期的结果,与所有事情一样,如果管理不当,可能会带来问题。
这是否会在 *nix 变体中保持一致?
我相信是这样。
这是公认的做法吗?
以一种或另一种方式被普遍接受,是的。
这种做法是否有意想不到的后果?
除了登录审核,您别无他物。除非你真的想要那样,否则开始。
它可以在所有 Unix 上运行吗?是的。
这是一个很好的使用技术吗?不,还有其他更好的技术。例如,正确使用 unix 组和严格控制的“sudo”配置可以达到同样的目的。
我已经看到一个地方使用它没有问题。在 FreeBSD 中,传统的做法是创建一个名为“toor”(root 反向拼写)的第二个 root 帐户,该帐户将 /bin/sh 作为默认 shell。这样,如果 root 的 shell 搞砸了,您仍然可以登录。
我无法为您的问题提供规范的答案,但有趣的是,我的公司多年来一直在使用 root 用户执行此操作,并且从未遇到任何问题。我们创建了一个“kroot”用户(UID 0),其存在的唯一原因是将 /bin/ksh 作为 shell 而不是 /bin/sh 或 bin/bash。我知道我们的 Oracle DBA 对他们的用户做了类似的事情,每次安装有 3 或 4 个用户名,都具有相同的用户 ID(我相信这样做是为了让每个用户拥有单独的主目录。我们至少已经这样做了十年,在 Solaris 和 Linux 上。我认为它按设计工作。
我不会使用普通用户帐户执行此操作。正如您所指出的,在初始登录后,一切都会回到日志文件中的名字,所以我认为一个用户的操作可以伪装成日志中另一个用户的操作。对于系统帐户,虽然效果很好。
这种做法是否有意想不到的后果?
我知道一个问题。Cron 不能很好地处理这个 UID 别名。尝试从 Python 脚本运行“crontab -i”以更新 cron 条目。然后在shell中运行“crontab -e”进行修改。
请注意,现在 cron(我认为 vixie)将为 a1 和 a2(在 /var/spool/cron/a1 和 /var/spool/cron/a2 中)更新相同的条目。
归档时间: |
|
查看次数: |
11596 次 |
最近记录: |