Как загрузить части псевдонима bash только при входе через ssh

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

2 ответа

Решение

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

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

Насколько я понимаю ваш вопрос, когда вы используете 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
Другие вопросы по тегам