Dodałem użytkownika do systemu za pomocą adduser
narzędzia. Następnie, w /etc/passwd
, próbowałem zmieniając /bin/bash
się /sbin/nologin
czy /dev/null
, ale żadna z nich nie pracował.
Chciałbym, aby użytkownik nie miał opcji uzyskania interaktywnej powłoki i po prostu jej używał sftp
. Czy jest jakiś sposób?
Wiem, że już tu o to pytano, ale wydaje się, że nikt nie udzielił zadowalającej odpowiedzi.
Odpowiedzi:
Poleceniem, którego należy użyć do zmiany powłoki, jest chsh . Powłoka nologin może być
/sbin/nologin
lub/usr/sbin/nologin
(sprawdź, które masz, patrząc/etc/shells
), ale/bin/false
prawdopodobnie byłby lepszym wyborem.Powinieneś rozważyć skonfigurowanie czegoś takiego jak scponly, które zrobi dokładnie to, co chcesz.
źródło
/bin/false
i/bin/nologin
są faktycznie dostępne w/etc/shells
!nologin
w/etc/shells
! serverfault.com/a/328424Powinieneś być również w stanie to zrobić z OpenSSH 4.9 i nowszym, za pomocą którego możesz dodatkowo uruchomić użytkownika w celu zwiększenia bezpieczeństwa.
W twoim
/etc/ssh/sshd_config
:Następnie uruchomić:
Użytkownik będzie mógł pisać tylko w / home / user / uploads.
https://debian-administration.org/article/590/OpenSSH_SFTP_chroot_with_ChrootDirectory
źródło
Myślę, że najlepiej jest z mysecureshell
http://mysecureshell.sourceforge.net/en/index.html
Możesz w ten sposób zrootować użytkownika, a nawet w razie potrzeby ograniczyć przepustowość.
źródło
Możesz dodać użytkownika,
-s /bin/false
aby wyłączyć jego powłokę, ale tak naprawdę powinieneś rozważyć konfigurację konta chrootowanego sftp. Spowoduje to „uwięzienie” użytkownika w jego własnym katalogu i uniemożliwi mu dostęp do lub modyfikowanie plików lub katalogów poza katalogiem chroot.źródło