Benutzer kann per SSH auf den Ordner zugreifen, aber kann Nano auf jeden übergeordneten Ordner zugreifen?

Benutzer kann per SSH auf den Ordner zugreifen, aber kann Nano auf jeden übergeordneten Ordner zugreifen?

Ich tatuseradd -s /bin/rbash -d /var/www/html/directory USRNAME

und bei der SSH-Anmeldung mit USRNAME (einschließlich SSH-Schlüssel) geht es zu directoryund CD geht nicht zurück. Das funktioniert also ... aber

wenn sie verwenden nano /var/www/html/.env(vorVerzeichnis) wird es heißen

Unable to create directory /var/www/html/directory/.local/share/nano/: Permission denied
It is required for saving/loading search history or cursor positions.

Press Enter to continue

Wenn sie drücken enter, können sie lesenbeliebigDatei mit Nano.. überall im System!

Jede Hilfe, um diesem Benutzer nur zu erlauben,dieses spezielle Verzeichnis nur mit Google Cloud?

Antwort1

rbash ist keine sichere Methode, um Shell-Benutzer einzuschränken. Es beschränkt nur Shell-Eingaben und nicht den Dateisystemzugriff für ausführbare Dateien. Auf einem Standard-Linux-System gibt es im $PATH viele Tools, mit denen sich diese Beschränkungen umgehen lassen, nicht nur nano.

Ein ordnungsgemäß eingeschränkter Zugriff wird durch die Erstellung einer Chroot-Umgebung oder eines Jails erreicht, was aber auch die Bereitstellung aller benötigten ausführbaren Dateien und möglicherweise sogar /dev-, /sys- oder /proc-Hardlinks erfordert.

Sie könnten $PATH so ändern, dass nur sichere Befehle eingeschlossen werden, aber das ist ein Minenfeld und erfordert im Wesentlichen auch, dass Sie eine separate Sammlung ausführbarer Dateien erstellen.

Der angezeigte Fehler hängt wahrscheinlich damit zusammen, dass der Benutzer nicht in /var/www/html/directory schreiben darf, hat aber nichts mit dem eigentlichen Problem zu tun.

verwandte Informationen