5

Как гласит заголовок, возможно ли иметь псевдоним, загружаемый только при доступе к машине через ssh , или, что еще лучше, только с определенного компьютера через ssh?

2 ответа2

7

В .bashrc (или там, где вы определяете псевдонимы) вы можете сделать его условным на основе переменной SSH_CONNECTION , которая устанавливается только для соединений ssh. Например:

if [[ $SSH_CONNECTION == *"your-IP"* ]]; then
  alias ll="ls -l"
  # your other aliases
fi
0

Насколько я понимаю ваш вопрос, когда вы используете ssh для Linux с пользователем, отличным от пользователя root, вошедший в систему пользователь должен иметь только ограниченный доступ к командам, и вы также хотите иметь псевдонимы для этих команд. Возможное решение

  1. Создайте ограниченную оболочку, скопировав файл bash в каталог /bin cp /bin /bash /bin /rbash
  2. Измените пользовательский bash на ограниченный bash useradd -s /bin /rbash, в случае существующего пользователя usermod -s /bin /rbash. После этого пользователь сможет получить доступ только к своему домашнему каталогу.
  3. Создайте каталог под /home // командами
  4. Теперь, чтобы ограничить доступ к командам, добавьте следующие строки в файл /home//.bash_profile PATH = $ HOME / команды export PATH
  5. Создайте программные ссылки на команды в /home // папке команд, которые вы хотите предоставить пользователю, например: ln -s /bin / date /home // команды /
  6. Войдя в систему, пользователь может изменить файл /home//.bash_profile, чтобы сделать его неизменяемым, чтобы пользователь не мог получить к нему доступ. chattr +i /home//.bash_profile

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .