bin Linuxの寿命全体にわたって、何のためにも適切ではありませんでした。
のレコードによるランレベルやinitスポーンのようgettyに/etc/inittab、binLinuxが発明される前のアカウントはUnixの世界では時代遅れでした。NFS(Network File System)とそのnobodyユーザーの発明と採用によって壊れたのは、1980年代のアイデアでした。商用Unixの世界の人々が1990年代に積極的に使用を中止した2010年代後半にユーザーアカウントデータベースに存在し続けたことは、inertia性の証です。
アイデアはということであったbinユーザが様々なディレクトリを所有など/binと/usr/bin(実際に述べた他のいくつかの/unix//a/448799/5132など/usr/mbinと/usr/5bin)と非セットUID /非それらの中のset-GIDファイル。また、マニュアルページなどのdocoファイルとディレクトリも所有していました。
(いくつかのUnix上のより極端なケースにおいても、所有/し、/etc後者は、SunOSのオペレーティングシステムイメージの作成に認め間違いがあったが、前者は単にdunderheadedました。)
したがって、ユーザーとして実行するソフトウェア更新プログラムを制定するbin許可は、システムに対して何らかのアクションを実行するためのスーパーユーザーとして実行する包括的な許可ではありませんでした。ソフトウェアアップグレードツールは、プライベートユーザーファイルの読み取り/書き込み、メールボックスへのアクセスなどができませんでした。もちろん、スーパーユーザーとしてソフトウェアを更新できます。
/etc/passwdファイル内の他のいくつかの特別なアカウントエントリにはパスワードが必要です。-これらは、管理者アカウントですbin、daemon、sys、uucp、lp、とadm。[…]これらのアカウントが存在する主な理由は、コマンド、スクリプト、ファイル、およびデバイスの安全な所有権です。また、一部の管理者はこれらのアカウントのパスワードをインストールし、実際に使用します。[…]パスワードなしのbinアカウントは、システムブレーカーにとって非常に便利です。
—レベッカ・トーマスとリック・ファロー(1989)。System V用UNIX管理ガイド。プレンティスホール。ISBN9780139428890。p。452。
NFSは1980年代初期に発明され、この考えを完全に打ち破りました。
前述の引用が暗示するように、それはすでに不安定な場所にありました。これは、たとえばスーパーユーザーが当然のこととして実行した基本ユーティリティのプログラムイメージファイルを更新する機能/bin/lsが、たとえばスーパーユーザー権限を取得するための直接的なベクトルであり、binアカウントを使用する際のアクセスの分割が誤って防止されたためです悪人がスーパーユーザーにアクセスするのを防ぐのではなく、間違ったディレクトリを変更します。
NFSの出現はこれを強調しました。NFSにはスーパーユーザーアカウントを通常の非システムユーザーアカウントに再マッピングするメカニズムがありましたが、のような非ルートアカウントには同じものがありませんでしたbin。したがって、誰かがbinNFSクライアントでアクセスできる場合bin、NFSサーバー上のオペレーティングシステムファイルへのアクセスが許可されます。実際、NFSクライアントのスーパーユーザーは、サーバーの通常の非システムユーザーに再マップされ、サーバーのオペレーティングシステムファイルとディレクトリへの所有者アクセスを取得できます。
これは1990年代初頭の常識であり、当時は、スーパーユーザーが所有することchownによって所有さbinれていたものに、Unixセキュリティ監査ツールの標準レポート項目になり、警告されたこの穴を塞ぐことが知られていましたSendmailのインストールドコのようなもの。
限りM.ヘスの質問が懸念しているとして、このアイデアは確かにLinuxの前に、それは悪い考えであることを知っていたそれはUnixの世界に悪い考えであることが知られた後にのみ存在年に入って来たのDebian、に採択されなかった自分自身発明されました。歴史が 1980年代にまでさかのぼるBSDオペレーティングシステムは、実際の所有権を長い間廃止しましたが、それでもアカウントデータベースにユーザーアカウントを保持しています。 FreeBSDは変換bin:binへの所有権root:wheel所有権の背中を1998年に、例えば。
参考文献