В ls, как я могу удалить фоновый цвет для липкого бита

Как я могу удалить цвет фона для липкого бита. LSCOLORS похож на этот LSCOLORS экспорта = "Gxfxcxdxbxegedabagacad"

Используя oh-my-zsh

Править: Как предложено я протестировал LSCOLORS="" ls но цвета все еще там.

enter image description here

4
задан 19.04.2011, 16:17

1 ответ

Ваш пример не показывает липкий бит, он показывает setgid. (липкий 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 цвета setgid файлы, потому что, если бы файл является также исполняемым файлом, это работало бы с дополнительными полномочиями.

Я думаю, что идея состоит в том, что желто-черное выделение предназначено, чтобы заставить Вас посмотреть тщательно на них, удостовериться, что они - те, Вы ожидаете, и не некоторый новый файл, который был установлен злонамеренным пользователем или руткитом или чем-то.

Выполненный

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 любого пользователя, даже если это не работает как корень.


Если, в конце концов, что, Вы все еще действительно хотите изменить цвета, попробуйте что-то вроде этого:

LS_COLORS=${LS_COLORS/sg=30;43:/sg=00:}

То, куда Вы помещаете его, зависит от Вашей установки, но в конце ~/.zshrc должен сделать это.

По некоторым причинам, удаление sg (setgid) запись заставляет его использовать цвета по умолчанию, а не никакие особые цвета.

2
ответ дан 07.12.2019, 21:26

Теги

Похожие вопросы