Назад | Перейти на главную страницу

Минимальные разрешения пользователя SSH

Я работаю над приложением, которое загружается на серверы и собирает информацию о сервере, такую ​​как использование диска и памяти. Еще одна задача, которую ему необходимо выполнить, - это получить информацию о размере определенных файлов, которые могут находиться где угодно на сервере.

Из-за характера этого приложения я хотел бы ограничить пользователя ssh на сервере, чтобы он мог только читать файлы в / proc / * и получать размеры файлов определенных файлов. Я не могу привести пример, потому что файлы могут меняться от сервера к серверу.

Есть ли способ заблокировать учетную запись ssh, чтобы предотвратить чтение / proc / * и выполнение du в файле, который может быть где угодно?

вы можете использовать параметр команды в authorized_keys (*) целевого пользователя, чтобы ограничить доступ. например ключи выглядят так:

command="/bin/ls -l /foo/bar.txt" ssh-rsa AAB....
command="/bin/df -Ph  " ssh-rsa AAC....

это означает, что каждая команда имеет доступ через свой собственный ключ, но все df могут использовать один и тот же ключ.

(*) видеть man 5 authorized_keys