Войдите как один пользователь, но аутентифицируйтесь как другой

Это может быть странный вопрос, но мне интересно, есть ли у него возможности.

Когда я настраиваю систему, я предпочитаю быть root, так что мне не нужно sudo все. Однако учетная запись root не является моей личной учетной записью, поэтому другие люди могут получить анонимность, если я изменю настройки в корневой учетной записи (например, bashrc и vimrc). Поэтому я хотел бы вернуться с помощью своей личной учетной записи, чтобы выполнить настройку, но тогда у меня нет разрешений.

  • QStandardPaths: XDG_RUNTIME_DIR не установлен, по умолчанию используется '/ tmp / runtime-root' при запуске sudo-команд
  • Очистить историю bash, за исключением последних n строк
  • Как настроить правильный мониторинг моих услуг автоматическим способом? Так что, если один из них сработает автоматически на лету?
  • Скрипт, который распаковывает initrd, позволяет редактировать файл preseed.cfg, а пакеты его снова будут добавлены в cpio и gzip
  • Что делает «эхо (ls)» в bash?
  • Shell vi mode prints (arg: повторение): Как его удалить?
  • У меня нет проблем с учетной записью root, иногда мне нужно делать вещи в другой учетной записи пользователя.

    Что было бы идеальным, так это то, что я могу аутентифицироваться как другой пользователь (или учетная запись root), но не регистрироваться в нем.

    Я знаю, что я также могу войти в систему как определенный пользователь, а затем вручную выполнить конфигурационные файлы моего личного профиля (например, bashrc и vimrc), но это кажется раздражающей задачей делать каждый раз.

    Кто-нибудь знает способы эффективно делать то, что я описываю здесь? Или вы, ребята, думаете, что это странно и не нужно делать?

  • $ _ vs! $. Последний аргумент предыдущего перенаправления команды и вывода
  • Как убить процесс после отсоединения его от bash?
  • Получение полного имени пути к заданному каталогу
  • автоматизировать процесс повторного интернет-соединения с помощью сценария bash: для Arch Linux
  • Правильный способ добавления учетной записи пользователя через скрипт bash
  • Как прекратить выполнение xvfb-run
  • 2 Solutions collect form web for “Войдите как один пользователь, но аутентифицируйтесь как другой”

    Я не думаю, что существует общий ответ, решающий эту проблему. Вы не можете быть одновременно двумя пользователями. Всякий раз, когда вы запускаете команду, оболочке придется угадать, какой пользователь должен выполнить эту команду. Когда вы создаете файл, он должен угадать, кому он должен принадлежать и т. Д. И т. Д.

    Я делаю ваш пятый параграф. У меня есть сценарий в /usr/local/bin (я назвал его becomeme ), который /home/user/.bashrc мой /home/user/.bashrc и адаптирует PATH, LD_LIBRARY_PATH, MANPATH и PKG_CONFIG_PATH, чтобы включить пути в мой домашний каталог. Я также помещал некоторые обертки, например, чтобы заменить vi с помощью HOME=/home/me vi . Я в основном собираю материал для поиска в домашнем каталоге моего пользователя для конфигурации. Для простых случаев использования bashrc, vi и screen он работает достаточно хорошо.

    Однако это работает только в определенной степени, поскольку доступ к моему домашнему каталогу как другому пользователю обычно означает, что пользователю необходимо иметь права на запись для некоторых файлов и directotires, чего я не хочу. Так что это скорее взлом для большинства распространенных случаев, vi и screen основном.

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

    Еще один подход, который я еще не пробовал, но могу работать для вашего случая использования: создайте другого пользователя с UID 0 и дома вашего пользователя. Вам просто нужно добавить строку в /etc/passwd и /etc/shadow . Например, если ваше имя пользователя root было admin, соответствующая строка в /etc/passwd может выглядеть так:

     admin:x:0:0:My personalized root account:/home/mynormaluser:/bin/bash 

    Затем вы вводите passwd admin для создания записи в /etc/shadow . Если вы входите в систему как admin сейчас, это будет UID 0, то есть root, но ваш обычный домашний каталог и, следовательно, его настройки у вашего обычного пользователя. Он также имеет свой собственный пароль, вам не нужно делиться. Это не работает для NFS-дома (см. Root_squash).

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

    Двойная проверка

    Насколько я знаю, нет способа выполнить то, о чем вы просите.

    альтернативы

    несколько терминалов

    Вы всегда можете открыть несколько окон. У меня часто есть несколько вкладок, идущих в gnome-terminal а некоторые из них регистрируются в других учетных записях в других системах, в то время как другие все еще находятся на моей локальной системе.

    screen & tmux

    Еще один альтернативный способ – узнать, как использовать screen или tmux чтобы вы могли переключаться между окнами. Я часто использую это в дополнение к нескольким вкладкам в gnome-terminal .

    Этот подход имеет дополнительное преимущество: он может отключиться от удаленной системы и снова подключиться, чтобы сеанс сеанса терминала был сохранен.

    альтернативные рабочие процессы sudo

    Вы можете получить доступ к псевдонимам вашей среды с помощью этого трюка. Настройте псевдоним следующим образом:

     $ alias sudo='sudo ' 

    ПРИМЕЧАНИЕ: пробел после команды. С этого момента sudo будет работать нормально, и вы сможете без проблем использовать псевдонимы своего пользователя (как обычно, так и с привилегиями root).

    Более подробную информацию о том, как это работает, можно найти здесь.

    выдержка

    Если последним символом значения псевдонима является пробел или символ табуляции, тогда следующее командное слово, следующее за псевдонимом, также проверяется на расширение псевдонима.

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

     $ alias sudo='sudo su -i ENV=/home/myuser/.profile' 

    Что еще?

    Рабочий процесс, с которым вы сталкиваетесь, – это то, как среда работает в Unix. Поэтому лучше попробовать и приспособиться к нему, а также выполнить повторяющиеся задачи либо с помощью сценариев, либо с псевдонимами, чтобы их не было.

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

    Если вы создаете ярлыки и псевдонимы, то шансы другие либо ARE, либо ДОЛЖНЫ быть такими, чтобы они были такими же производительными, как вы.

    Linux и Unix - лучшая ОС в мире.