答え1
GNU 実装の場合、ls
色の意味はLS_COLORS
通常、以下を使用する環境変数の設定によって異なります。dircolors
注文する。
(組み合わせ)数値コードは、特定のファイル形式を表すために使用される色を決定します。
# Attribute codes:
# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
# Text color codes:
# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
# Background color codes:
# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white
赤の背景に白いテキストは、次の組み合わせで定義されます。37;41
echo "$LS_COLORS"
調査と発見のために:
su=37;41
SETUIDファイルは赤い背景に白いテキストです(デフォルト)。
dircolors --print-database
カスタマイズなしでデフォルト設定の詳細と読みやすい出力を提供します。
SETUID 37;41 # file that is setuid (u+s)
STICKY 37;44 # dir with the sticky bit set (+t) and not other-writable
赤の強調表示の唯一の他の基本的な使用法は次のとおりです。青いテキスト固定ビットが設定されたディレクトリは赤の背景にあります。
答え2
ls -al
または を実行すると、ls -F
赤の背景と白のテキストでリストされたファイルは、setuid
ビットが反転したことを示します。これは、ファイル/スクリプト/プログラムがそれを実行したユーザーではなく、それを所有するユーザーとして実行されることを意味します。図に示すように、ping
およびのping6
ビット4はに設定されs
、切り替えられていない他のsetuid
ビットはとして表示されますx
。
詳細については、次を参照してください。