перезаписать $PATH по умолчанию

Я пытаюсь заблокировать обычных пользователей при установке Raspbian. я буду использоватьrbashдля этого.

Я хочу отредактировать файл PATH, чтобы только~/binфайлы могут быть выполнены.

я избавился от/etc/profile/:

      if [ "`id -u`" -eq 0 ]; then
  PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
else
  PATH=""
fi
export PATH

я избавился от/etc/login.defs:

      # cat /etc/login.defs | grep PATH=
ENV_SUPATH      PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ENV_PATH        PATH=""

The /etc/environmentфайл пуст:

      ~ # cat /etc/environment
~ #

Файл локального пользователя содержит только следующее:

      $ cat .profile
# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
    . "$HOME/.bashrc"
    fi
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin"
fi

Это отлично работает при запускеssh user@host:

      $ free
-rbash: free: command not found
$ uname
-rbash: uname: command not found
$ echo $PATH
/home/user/bin

Однако при запускеssh -t user@host bash --noprofile .profileне выполняется, и я все равно получаю доступ к полностью работающему $PATH:

      $ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/games
$ uname
Linux

Что мне здесь не хватает? Где еще находится$PATHфайл определен?

1 ответ

Он устанавливается самим sshd:

      $ strings /usr/sbin/sshd | grep games
/usr/local/bin:/usr/bin:/bin:/usr/games

Вman sshподENVIRONMENTтам написано:

       ssh will normally set the following environment variables:
 (...)
 PATH                  Set to the default PATH, as specified when compiling ssh.

Чтобы запретить sshd устанавливать для PATH значение по умолчанию.

      PermitUserEnvironment yes

в /etc/ssh/sshd_config и установите новое значение PATH, например, в ~/.ssh/environment

      PATH=~/bin

И перезапустите службу SSH:

      sudo service ssh restart

Кстати, вы можете получить всю эту информацию отman sshd_config.

Другие вопросы по тегам