web-dev-qa-db-ja.com

Debianがユーザー同期のログインシェルを/ bin / syncに設定するのはなぜですか?

syncは、Debian自体によって作成されたユーザーアカウントの1つです。 Debianがログインシェルを/bin/syncではなく/bin/falseに設定する理由を知りたいと思います。 Debianはこのユーザーアカウントをどのように使用しますか?

14
Cyker

これは /usr/share/doc/base-passwd/users-and-groups.txt.gz

sync

ユーザーsyncのシェルは/bin/sync。したがって、パスワードが推測しやすいもの( ""など)に設定されている場合、システムにアカウントがない場合でも、コンソールでシステムを同期できます。

これは本当に歴史的なアーティファクトであり、私はsyncユーザーがこのようにこのように設定されることを今日は期待しません。これまでは、コンソールに物理的にアクセスできる人(egをサーバールームやワークステーションでいっぱいのラボに配置できるように、このようなユーザーがいると便利でした。大学で見つける)は、システムをシャットダウンするときのデータ損失のリスクを減らすことができます(不正なプロセスから回復するため、または以前のユーザーによってロックされたままのワークステーションを使用するため)。 Debianより前のUnixシステムには、syncユーザーとshutdownユーザーがいて、実際にrootパスワードを知らなくてもシステムを適切にシャットダウンできる傾向がありました。 (Sun SPARCstationでは、 STOPAboot...)

Peter Cordes が言及しているように、rootとして認証されずにコンソールから安全にシャットダウンまたは再起動できる他のメカニズムが多くのシステムで利用可能であることに注意する価値があります:によってトリガーされるACPIイベント電源スイッチを押す(これにより、正常にシャットダウンします)、または CtrlAltDel (クリーンな再起動につながります)。 AltSysRq 同期、強制終了、マウント解除、再起動の最後の手段として使用できますが、完全な再起動ではありません。 JdeBP で述べたように、syncユーザーを持つことは非常に古いアイデアであり、少なくとも1980年代初頭までさかのぼります。

24
Stephen Kitt