Я дозволяю другові локальний акаунт на моїй машині, виключно для SCP. Чи можу я вказати оболонку його акаунта як /bin/true
або будь-яким іншим способом обмежити рахунок, при цьому все ще дозволяючи SCP?
Я дозволяю другові локальний акаунт на моїй машині, виключно для SCP. Чи можу я вказати оболонку його акаунта як /bin/true
або будь-яким іншим способом обмежити рахунок, при цьому все ще дозволяючи SCP?
Відповіді:
Ви можете встановити оболонку цього користувача на rssh
або scponly
, які призначені саме для цієї мети:
rssh - обмежена оболонка для використання з OpenSSH, що дозволяє лише scp та / або sftp. Тепер він також включає підтримку rdist, rsync та cvs.
scponly - це альтернативна «оболонка» (різновиди) для системних адміністраторів, які хочуть забезпечити доступ віддаленим користувачам як для читання, так і для запису локальних файлів, не надаючи привілей віддаленого виконання.
Під час запуску scp демон OpenSSH запускає scp
процес із -f
можливістю. Коли ви запускаєте sftp, демон OpenSSH запускає sftp-server
процес. У будь-якому випадку підпроцес виконується через оболонку користувача, так що оболонка повинна підтримувати принаймні ці команди з синтаксисом, подібним до Bourne. Будь-яка оболонка в стилі Борна буде робити, як і csh (я думаю, що її правила котирування досить сумісні для того, що sshd
використовує). Rssh і scponly дозволяють ці команди і більше нічого. /bin/true
навіть не запускав би ці команди.
/bin/false
іншу програму, яка нічого не робить, ні scp, ні sftp не працюватимуть. Для обох команд демон SSH запускає команду оболонки, яка виконує виділений серверний процес ( scp -f
або sftp-server
). Потрібна оболонка в стилі Борна або, принаймні, досить близьке наближення (наприклад, rssh
яке дозволяє пропустити лише ці кілька команд).
Ні, ви цього не робите. Як зазначив Жилл, rssh дуже добре працює з цією метою, як і scponly . Дивіться також обговорення в цьому пов'язаному питанні .
/bin/false
не спрацюють, а також не будуть chmod 644 кш .