Я установил mysql-сервер. Когда я запускаю User Administration Tool, он показывает только мое имя пользователя (myname) и root. Когда я хочу добавить пользователя mysql, он говорит, что пользователь mysql уже существует, но он не отображается в списке пользователей User Administration Tool, почему? Я проверил список пользователей
cat /etc/passwd
и я вижу пользователя mysql. После этого я установил домашний каталог для пользователя mysql
sudo usermod -d /home/mysql mysql
затем я меняю пользователя на mysql
sudo -s -u mysql
после этого я хочу перейти в домашний каталог пользователя mysql.
cd ~
pwd
он показывает / home / myname, а не / home / mysql, я проверил / etc / passwd, и он показывает / home / mysql как домашний каталог для пользователя mysql. Почему это так?
Прежде всего, вы, вероятно, обнаружите, что ваш инструмент администрирования пользователей не отображает системные учетные записи (обычно идентификатор пользователя менее 1000 в Ubuntu), поэтому вы видите только себя и root, и почему вы не можете добавить пользователь mysql, но вы можете увидеть его в / etc / passwd.
Во-вторых, вы, вероятно, обнаружите, что пользователь mysql имеет что-то вроде / bin / false в качестве оболочки, поэтому вы перейдете к его учетной записи, запустите / bin / false, который сразу же выйдет и, следовательно, снова выйдет из системы. Это оставит вас в качестве вашей учетной записи, что объяснит, почему вы видите свой домашний каталог.
В качестве альтернативы это может быть потому, что вы использовали sudo -s вместо sudo -i для получения оболочки. Вы не должны использовать sudo -s, если вам нужна оболочка, поскольку -s не заменит всю среду. Некоторые переменные по-прежнему будут относиться к предыдущему пользователю. Я считаю, что $ HOME - одна из таких переменных.