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

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

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

У меня нет проблем с учетной записью root, иногда мне нужно делать вещи в другой учетной записи пользователя.

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

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

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

  • Открытый ключ SSH не работает для конкретного пользователя
  • Копировать / домой без root
  • Разрешения для общего каталога на сервере
  • Amazon EC2: предоставление постоянных разрешений в Sepecific Directory в Amazon Linux AMI
  • Внезапно меняющиеся пользователи
  • Пользователь Linux motion - запускает его как ssh-ключ как pi на удаленный сервер
  • Предотвратить учетную запись unix для SSH
  • Почему несогласованность файлов между двумя системами, устанавливающими один и тот же общий ресурс NFS?
  • 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, либо ДОЛЖНЫ быть такими, чтобы они были такими же производительными, как вы.

    Interesting Posts

    Как быстро конвертировать .bin-файлы в .iso-файлы?

    Резервное копирование файлов, которые были изменены после последней резервной копии

    Блочный порт на boot2docker vm на виртуальной машине

    Как запустить команду в новом окне терминала в том же процессе, что и оригинал?

    Преобразование символа UTF-8 в имя xmodmap

    Ошибка «Только root can mount» – но я root

    Логика соответствия шаблону оболочки

    Внутреннее расширение с помощью команды find и символа подстановки

    Скрипт XRandR корректно работает из командной строки, не работает в качестве задания cron

    Не удается заставить Tiger-Vnc работать на Fedora 21

    Объединение определенных столбцов из 2 файлов на основе совпадения полей

    Является ли компилятор дерева устройств привязан к версии ядра?

    Каков префикс числа в файлах конфигурации из каталога .d

    Как заставить изменение пароля LUKS каждые 90 дней?

    ranger: открыть много файлов с mplayer

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