Автоматическое завершение для недоступных каталогов

Кажется, что намного лучше использовать sed здесь insted awk:

file -i *tex | sed \ 
's/^\([^:]*\): .*set=\(.*\)/iconv -f \2 -t UTF-8 \1 > tmp \&\& mv tmp \1/e'

Это выполнило бы команды это sed сделает на основе file -i вывод. Если Вы хотите посмотреть на список команд, не выполняясь, просто удаляют e флаг в конце sed сценария как это:

file -i *tex | sed \
's/^\([^:]*\): .*set=\(.*\)/iconv -f \2 -t UTF-8 \1 > tmp \&\& mv tmp \1/'
5
01.04.2013, 04:42
2 ответа

Я рекомендовал бы использовать интерактивную sudo сессию в качестве альтернативы; используйте также

sudo -i

или

sudo -s

получить корневую оболочку.

sudo -s сохранит Вашу текущую среду (так, например. $HOME все еще корневой каталог Вашего обычного пользователя), в то время как sudo -i моделирует начальный вход в систему как корень, так например. $HOME укажет на /root.

Адаптация заполнения клавишей Tab Вашего обычного пользователя для работы с sudo может быть возможной, но это кажется довольно проблематичным: если бы Вы не использовали sudo за прошлые 15 минут, он или предложил бы Вам Ваш пароль, в то время как Вы пытаетесь использовать заполнение клавишей Tab, или он просто не работал бы, и необходимо будет выполнить sudo вручную для обновления учетного кэша, прежде чем он мог работать снова. Кроме того, я не знаю, как сделать это, и это уверенный походит на сложное обходное решение для простой проблемы :)

3
27.01.2020, 20:41

То, что Вы действительно просите, является ограниченной оболочкой, выполненной с поднятыми полномочиями. Проблемой является оболочка удара, которую выполняет пользователь, не имеет разрешения получить те списки каталогов, таким образом, это не может усилить автоматическое заполнение.

Если Вы открываете целые каталоги для определенных людей с sudo доступом, то необходимо создать группу для тех людей и установить rX разрешение соответственно (или использовать facls).

Если Вы только обеспечиваете определенные команды в sudo, то пользователи могут сделать:

sudo-l

получить список. Кто-то умный смог переводить вывод 'sudo-l' во что-то, что может обработать автоматическое заполнение удара, но я еще не видел его. (И снова, это только работало бы при определении команд явно.)

Если Вы буквально делаете, поскольку в Вашем примере (предоставление людей sudo только к ls) затем просто идут вперед и делают все указанные каталоги +rx для тех людей...

0
27.01.2020, 20:41

Теги

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