次の2行を比較してください。
-rws---r-x 1 root root 21872 2009-10-13 21:06 prg1
-rwx---r-x 1 root root 21872 2009-10-13 21:06 prg2
prg1
のsetuidビット、および「その他」の読み取りビットと実行ビットは、すべてのユーザーがルート権限で実行できることを意味しますか? prg2
も 'other'の読み取りと実行を行っていますが、setuidビットが設定されていません。つまり、どのユーザーでもroot権限なしで実行できるということですか。
まったく逆です。Sudoを使用したり、rootに切り替えたりする必要はありません。実行可能ファイルがそれを行います。
これは「setuid」ビットで、OSにその所有者のユーザーIDでそのプログラムを実行するように指示します。これは通常、rootが所有するファイルで使用され、通常のユーザーが外部ツール(Sudo
など)なしでrootとして実行できるようにします。
chmod
を使用してsuidビットを設定できます。たとえば、chmod 4755
を使用すると、755が行う通常のアクセス許可がファイルに付与され(rwxr-xr-x
)、sidビットを追加してrwsr-xr-x
を付与できます。
先頭に0を付けて通常のchmodコマンドを発行すると、setuidビットをクリアできます。たとえば、権限をrwxr-xr-x
に戻すには、chmod 0755
を使用します。