Из домашнего каталога пользователя, когда я постоянно запускаю «cd ..», он выводит меня на приглашение с / $, а когда я здесь, он перечисляет все корневые папки. Когда я запускаю "sudo -s" или "sudo -i" или "sudo su", он выводит меня на приглашение с / #, а когда я вижу здесь также, он перечисляет все корневые каталоги. Какая разница при доступе к этим корневым папкам как / $ и как / #?
Когда в вашей подсказке написано /$
, вы вошли как пользователь. У вас есть разрешения вашего пользователя.
Когда в вашем приглашении указано /#
, вы вошли как root
и у вас гораздо более высокий набор разрешений, и вы можете вносить в систему больше изменений.
Каталоги все те же.
Другой символ в конце вашего приглашения - подсказка, которая говорит: «Вы работаете как root»
ls
само по себе довольно безобидно.
Есть несколько вещей:
$
в качестве приглашения будет регистрировать события как ваш пользователь. #
в качестве приглашения после выполнения sudo -i
будет регистрировать события как ваш пользователь. #
в качестве приглашения после выполнения sudo -u
будет регистрировать события как «root». Последнего следует избегать в многопользовательских системах, чтобы вы отслеживали действие обратно к пользователю. В однопользовательской системе хорошей практикой является копирование этого поведения: затем вы можете проследить действие обратно до вас или до события, управляемого «корнем» (например, службы регистрируются как root, так что вы можете видеть, что это сделал не вы).
Проблема при использовании sudo -i
и sudo -u
связана с другими командами. Как rm
и dd
и еще пара, где система будет выполнять эти команды, не сообщая вам, что что-то плохое может произойти. плохо как то в чем то не ожидал. Обычный пользователь получит предупреждение о разрешениях, и команда не выполнится.
Действие, выполненное с пользователем root, также выполняется от имени пользователя root. Таким образом, если вы скопируете файл в другое место и забудете установить правильные разрешения, ваша учетная запись не получит доступ. И у нас есть несколько файлов в наших системах, которые требуют определенных разрешений для функционирования системы. Запутайтесь с ними, и вы заперетесь. Эти проблемы могут быть решены с помощью grub rescue или live-сессии, так что это просто раздражает, а не навсегда.