1.1, sargio (??), 22:42, 25/10/2006 [ответить] [﹢﹢﹢] [ · · · ] [к модератору]
| +/– |
Однако, вот что пишет сам MYSQL по поводу ипользования MYSQL_PWD - extremely insecure.
Store your password in the MYSQL_PWD environment variable. This method of specifying your MySQL password must be considered extremely insecure and should not be used. Some versions of ps include an option to display the environment of running processes. If you set MYSQL_PWD, your password is exposed to any other user who runs ps.
http://dev.mysql.com/doc/refman/5.0/en/password-security.html | |
|
2.3, Антон (??), 10:06, 26/10/2006 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
>ps умеет выводить и переменные окружения тоже.
ps выводит переменные окружения только для процессов того же пользователя. Если вы можете запустить ps под тем же uid что и скрипт или под root, то можно обойтись и без просмотра переменных окружения.
Через /proc тоже чужие не смогут посмотреть, права на /proc/<pid>/environ - "-r--------" | |
|
1.6, _Nick_ (ok), 13:53, 08/11/2006 [ответить] [﹢﹢﹢] [ · · · ] [к модератору]
| +/– |
ближе всего к истине по борьбе с ps'ом был Антон
Да, можно руьить пермиссии на ервирон своих процессов, что, однако, накладно (не каждый человек будет это делать для каждого своего процесса).
Следовательно, "проблему" ps'а нужно _решать_, а не костылировать. Нужно использовать патчи/правила безопасности ядра, который просто напросто не показывают процессы других пользователей. | |
1.9, Anton (??), 14:13, 19/11/2008 [ответить] [﹢﹢﹢] [ · · · ] [к модератору]
| +/– |
При выводе из переменной используйте printf вместо echo.
MYSQL_RESULT='mysql -h127.0.0.1 -u USER -pMY_PASS MY_BASE -e "SELECT tables_col FROM table_name"'
printf "$MYSQL_RESULT"
| |
|