Как я могу удалить цвет фона для липкого бита. LSCOLORS выглядит следующим образом: LSCOLORS = "Gxfxcxdxbxegedabagacad"
Использование oh-my-zsh
Изменить: Как и предполагалось, я протестировал LSCOLORS="" ls
но цвета все еще там.
Ваш пример не показывает бит закрепления, он показывает setgid. (sticky это chmod +t
, у вас есть chmod g+s
.)
Вы уверены, что вам это нужно? Мне кажется, это неправильно.
Setgid для каталога означает, что файлы, созданные в этом каталоге, будут иметь группу из каталога, а не основную группу пользователя, так что это довольно полезно.
Но setgid для обычного неисполняемого файла не делает ничего полезного.
Я бы предложил удалить setgid из всех файлов (но оставить его в каталогах) следующим образом:
find . -type f -exec chmod g-s {} \;
Или вы можете установить набор известных разрешений для файлов и каталогов, используя:
find . \( -type d -exec chmod g=rwsx {} \; \) -o \( -type f -exec chmod g=rw {} \; \)
И в следующий раз вместо использования chmod -R g+s
или find -exec chmod g+s {} \;
, сделай это:
find . -type d -exec chmod g+s {} \;
так что это влияет только на каталоги.
Фон
ls
colors setgid files, потому что если файл также исполняемый, он будет работать с дополнительными разрешениями.
Я думаю, что идея заключается в том, что желто-черная подсветка предназначена для того, чтобы вы внимательно смотрели на них, чтобы убедиться, что они именно те, которые вы ожидаете, а не какой-то новый файл, который был установлен злонамеренным пользователем, или руткит, или что-то еще.
Бежать
find /usr -perm -2000
чтобы увидеть некоторые примеры программ, которые используют эти разрешения.
В моей системе это списки
/usr/bin/wall
/usr/bin/chage
/usr/bin/expiry
...
Например, r-s
в /usr/bin/wall
$ ls -l /usr/bin/wall
-rwxr-sr-x 1 root tty 9888 2008-04-29 11:57 /usr/bin/wall
означает, что wall
программа может записать вывод в tty любого пользователя, даже если он не работает от имени пользователя root.
Если после всего этого вы все еще действительно хотите изменить цвета, попробуйте что-то вроде этого:
LS_COLORS=${LS_COLORS/sg=30;43:/sg=00:}
То, куда вы положите это, зависит от вашей настройки, но в конце ~/.zshrc должен это сделать.
По какой-то причине удаление записи sg
(setgid) заставляет использовать цвета по умолчанию, а не специальные цвета.