我自己不是 Unix 管理员,但我经常使用 Unix 服务器,并且相当熟悉它们的工作原理。所以也许这是显而易见的事情,但这不是我能找到答案的事情,而且我的 SA 似乎也同样一无所知。所以我问你们。
在我使用过的每台 HP-UX 和 Solaris 服务器上,都有这个 shell,/usr/lib/uucp/uucico,它似乎是开箱即用的,具有奇怪的文件权限,并且仅由 uucp 用户使用,但它在 /etc/shells 中作为有效 shell 列出。
我试图在网上找到一个好的答案,但据我所知,似乎没有充分的理由让 uucp 拥有自己的特殊 shell 并且可以轻松地使用 sh 或其他东西。所以我想我一定错过了一些东西。这个外壳的目的是什么?它为什么在那里,它有什么作用?
答案1
它的解释是实用 Unix 和网络安全作为一项安全功能:uucp 必须登录才能发出命令,并且uucico
是一个功能有限的 shell,具有与常规帐户不同的登录名/密码。
答案2
它实际上并不是一个 shell,而是一个使用 uucp 协议传输文件的通信程序。如果 uucp 已正确配置,另一台计算机可以以 uucp 身份登录以启动它们之间的文件传输。
作为共享 uucp 帐户的替代方案,远程计算机可以拥有自己的专用 unix 帐户,并将 uucico 作为“shell”。它可能在 /etc/shells 中以方便这样的设置。
有趣的权限(suid 和 sgid)是为了它可以访问串行端口并使其能够操作 uucp 假脱机。