ls -F OR ls -al - 红色突出显示是什么意思?

ls -F OR ls -al - 红色突出显示是什么意思?

所以我在我的目录上运行了ls -For ,我的一些文件显示为红色背景和白色文本。这是什么意思?ls -al/usr/bin

在此输入图像描述

答案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位已翻转。这意味着文件/脚本/程序将以拥有它的用户身份运行,而不是以运行它的用户身份运行。从图中可以看出, 和pingping6第 4 位设置为s,而其他setuid未翻转的位显示为x

在此输入图像描述

更多信息请参见:

https://en.wikipedia.org/wiki/Setuid

相关内容