Как переключиться на root и использовать те же точечные файлы, что и мой обычный пользователь?

ss использует уровень сокетов AF_NETLINK для взаимодействия с ядром. Это протокол более низкого уровня, но он позволяет передавать данные очень быстро и большими порциями. Быстрый strace в CentOS 7 показывает, что он устанавливает окно передачи равным 1 Мб.

3
16.02.2016, 15:01
2 ответа

Чтобы получить обычные точечные файлы, убедитесь, что sudo не изменяет переменную среды HOME . Произойдет ли это, зависит от конфигурации времени компиляции и времени выполнения sudo. Чтобы сохранить HOME , отредактируйте файл sudoers (запустите visudo , никогда не редактируйте этот файл напрямую!) И убедитесь, что он содержит

Defaults !always_set_home, !set_home
Defaults env_keep+=HOME

(некоторые из них может быть ненужным в зависимости от параметров компиляции.) И, конечно, не запускайте sudo -i .

Однако избегайте слишком многого в качестве root. Например, вместо запуска редактора от имени пользователя root используйте sudoedit .

3
27.01.2020, 21:13

Вы почти наверняка не захотите этого делать.

Если ваш пользователь root был направлен на точечные файлы обычных пользователей, тогда права на эти точечные файлы могут измениться, что усложняет работу обычного пользователя.

Вместо этого вы могли бы копировать файлы в домашний каталог корневого пользователя при каждом входе в систему.

Где-нибудь в ~ / .zshenv (для root) скопируйте файлы и настройте их разрешения. Таким образом вы сохраните свою среду в здравом уме и сможете использовать свои настройки.

Лично, если я хочу запустить несколько команд root, я sudo su - , но вы можете попробовать sudo -E su -p , чтобы сохранить среду пользователя.

Обязательное предупреждение!

Нет веских причин для запуска sudo su . Намного лучше запускать sudo перед каждой командой. Тем не менее, я иногда использую sudo su . Но общее правило - не sudo su .

3
27.01.2020, 21:13

Теги

Похожие вопросы