Подавить пароль в режиме отладки сценария оболочки
273
Kamlesh Gallani
Есть ли способ напечатать произвольную строку (например, «xxxx» или «***») вместо пароля при использовании режима отладки оболочки.
Контекст - у меня есть несколько скриптов, которые подключаются к базе данных PostgreSQL. Мы определили пароль в другом скрытом и защищенном файле и затем используем этот файл для экспорта PGPASSWORD в сценарии, чтобы нам не приходилось передавать пароли в качестве явных аргументов. Немногие пользователи (не DBA) имеют разрешение на выполнение сценариев. Если они запустят скрипт в режиме отладки (sh -x), они смогут видеть пароли в текстовом виде.
Из любопытства, какую операционную систему вы используете, которая поддерживает сценарии, имеющие только разрешение «выполнять», но не «чтение»? Или вы используете какой-то другой способ предотвратить `cat $ (который myscript)`?
grawity 8 лет назад
0
@ Grawity - мне тоже было интересно, как он скрывает файл, к которому он может получить доступ из скрипта: может быть, `setuid` мог бы добиться этого? Любой, кто сможет прочитать сценарий, может увидеть, как пароль извлекается из скрытого файла: вам не нужно работать в режиме отладки.
AFH 8 лет назад
0
@AFH: По крайней мере, Linux не поддерживает сценарии setuid. И даже если сценарий был настроен, его косвенный запуск через `sh -x` будет применять только привилегии` sh`, но не самого сценария.
grawity 8 лет назад
0
@grawity - я только что протестировал запуск скрипта с битом `setuid` и подтвердил, что его нельзя использовать: при нормальном вызове он запускает подоболочку с привилегиями вызывающего; если вызывается с ``, это не меняет пользователя оболочки. Раньше я только догадывался, так что спасибо, что поправил меня.
AFH 8 лет назад
0
0 ответов на вопрос
Похожие вопросы
-
6
Какие функции Zsh вы используете?
-
8
Убийство Windows Shell
-
3
Mac OS X: обычные места, где должны жить бинарные файлы
-
-
2
Mac OS X: нужен простой скрипт
-
2
Как найти, а затем сравнить похожие файлы в папке Dropbox?
-
1
ksh эквивалент perl $! причина ошибки
-
3
Выясните, какой будет путь без символической ссылки?
-
4
Как запустить диалог свойств файла из командной строки?
-
2
Можно ли настроить несколько вкладок при запуске терминала?
-
2
разница между лам и пастой