Как загрузить части псевдонима bash только при входе через ssh
339
jrmo14
Как гласит заголовок, возможно ли иметь псевдоним, загружаемый только при доступе к машине через ssh, или, еще лучше, только через определенный компьютер ssh?
2 ответа на вопрос
7
Jakuje
В .bashrc(или где вы определяете псевдонимы) вы можете сделать его условным на основе переменной SSH_CONNECTION, которая устанавливается только для соединений ssh. Например:
if [[ $SSH_CONNECTION == *"your-IP"* ]]; then alias ll="ls -l" # your other aliases fi
Есть ли способ проверить MAC-адрес, а не IP? Или это плохая практика?
jrmo14 6 лет назад
0
Нет, это невозможно, пока вы не настроите клиентов так, чтобы они тоже отправляли MAC. Идентификация по Mac не является хорошей идеей.,
Jakuje 6 лет назад
1
0
Nagaraj Nookala
Насколько я понимаю ваш вопрос, когда вы используете ssh для Linux с пользователем, отличным от пользователя root, вошедший в систему пользователь должен иметь только ограниченный доступ к командам, и вы также хотите иметь псевдонимы для этих команд. Возможное решение
Создайте ограниченную оболочку, скопировав файл bash в каталог / bin cp / bin / bash / bin / rbash
Измените пользовательский bash на ограниченный bash useradd -s / bin / rbash, в случае существующего пользователя usermod -s / bin / rbash. После этого пользователь сможет получить доступ только к своему домашнему каталогу.
Создайте каталог под / home // командами
Теперь, чтобы ограничить доступ к командам, добавьте следующие строки в файл /home//.bash_profile PATH = $ HOME / команды export PATH
Создайте программные ссылки на команды в / home // папке команд, которые вы хотите предоставить пользователю, например: ln -s / bin / date / home // команды /
Войдя в систему, пользователь может изменить файл /home//.bash_profile, чтобы сделать его неизменяемым, чтобы пользователь не мог получить к нему доступ. chattr + i /home//.bash_profile
Извините, я не хотел ограничивать права пользователя на использование псевдонима. Цель состояла в том, чтобы tmux -CC стал псевдонимом tmux при входе через ssh. Спасибо за ответ, я не знал, что это возможно.
jrmo14 6 лет назад
0