Когда я использую команду sudo -i
и ввожу пароль, а затем ввожу ls
, я обнаружил, что могу видеть только папку и пакеты рабочего стола в терминале.
Но когда я вернулся в нормальный режим, обнаружилась вся папка.
Я не знаю, в чем причина этой проблемы ... Может кто-нибудь мне помочь?
Команда sudo -i
дает вам оболочку от имени пользователя root, и вы будете находиться в домашнем каталоге пользователя root
, а не в своем собственном. Поскольку root
обычно не является пользователем, которого вы должны использовать в обычном режиме, в домашнем каталоге для этого пользователя будет только очень мало файлов, особенно структура скелета для любого нового пользователя.
Это потому, что когда вы находитесь в режиме root, вы находитесь в домашнем каталоге root. Попробуйте это:
pwd
sudo -i
pwd
Вы увидите изменение каталога
меня это тоже очень беспокоило, поэтому я сделал этот сценарий:
params="$@";sudo -i bash -c "cd \"`pwd`\";$params"
pwd
будет запущен с вашим обычным пользователем, прежде чем команда, которую вы хотите
положит его в файле сценария root:root rw-r--r--
в полной иерархии папок, принадлежащей пользователю root, например /MyScripts
(создайте его), чтобы быть более безопасным ..
недостаток в том, что если у вас есть параметр с пробелом между ними, как ls -1 a "b c"
, потребуется ls -1 a "b\ c"
, но это можно решить позже, когда вы улучшите скрипт:)
dd
команда и перезагрузка снова. Спасибо! – Day 2 May 2017 в 00:52