Я не уверен, сталкиваетесь ли Вы все еще с этой проблемой, но я соглашаюсь с @htor на ненужном строгом fmask
(и dmask
?) значения - если Вы не знаете то, что Вы делаете. У меня нет реального ext4 раздела, но следующего /etc/fstab
запись работает просто великолепно для ext3 раздела:
/dev/sda1 /virtual ext3 noatime,users,acl,user_xattr 1 2
Еще одна точка, смотря на точку монтирования (/home/hawk/gentoo
), кажется монтированием раздела, который используется в другом распределении (хинду) на в настоящее время рабочее распределение. Если так, удостоверьтесь, что Вы используете gid=
значение, которое соответствует соответствующему идентификатору группы Вашего пользователя от исходного распределения (хинду).
Лучшим вариантом, чем вводить пароль в командной строке, является создание файла ~ / .my.cnf
с учетными данными в нем:
[client]
password=something
Таким образом, они также защищены от кого-то глядя на вывод ps
или историю вашей оболочки.
Тем не менее, вы можете полностью отключить заголовок watch
с помощью опции -t
или - no-title
, которая:
Отключить заголовок, показывающий интервал, команду и текущий время в верхней части дисплея, а также следующий пробел линия.
Вы действительно теряете немного больше информации, чем хотели, но это не очень важно. В противном случае сценарий оболочки также работает, как вы предложили.
Он появится не только на вашем экране, но и в выводе ps
, в вашем ~/.bash_history
(хотя он должен быть доступен только вам и администраторам) и, возможно, в некоторых журналах аудита или отчетов о производительности.
Пароли не должны использоваться в качестве аргументов в командах. Аргументы к командам должны считаться общеизвестными.
Для mysql используйте ~/.my.cnf
, как Майкл показал или в другом файле (только для чтения сделайте это сами), переданном как --defaults-extra-file=the-file
Вы можете вводить пароль при запуске? Вы можете прочитать его в сценарии bash, не делая его видимым в терминале, сохраняя в истории и т. Д .:
#!/bin/bash
if ! IFS= read -rs -p "Enter password: " password < /dev/tty 2> /dev/tty
then
echo "Password entry failed"
exit 1
fi
somecommand -user me -password $password
Если посмотреть на другой ответ, этот уязвим для проблемы ps
хотя, поскольку там будет процесс для somecommand