Linux: User soll nur einen Ordner per SSH einsehen können

Gast #4532622
Lesenswert?
• ▲
▼
Hallo,

Ich versuche gerade, einen kleinen Embedded Rechner möglichst 
"anwenderfreundlich" im Sinne von "unkaputtbar" einzurichten.
Es wird eine Datenerfassung, die vor allem von Studenten im Labor 
genutzt werden soll.

Ziel ist, dass ein Nutzer sich per SSH bzw. SFTP einloggen kann, eine 
Parameterdatei ändern und später seine Messergebnisse auf dem gleichen 
weg herunterkopieren kann.

Da es immer wieder "Experten" in den Praktika gibt, möchte ich sicher 
ausschließen, dass diese Spezies irgendeinen anderen Zugriff auf diesen 
Rechner bekommt. Also nicht auf andere Home-Verzeichnisse und schon 
garnicht auf sämtliche Systemdateien.

Sein $HOME lesend und schreibend, und sonst nichts sehen, nichts können, 
nicht dürfen.

Unter Debian Linux hatte ich mir das eigentlich ziemlich einfach 
vorgestellt.
Zu meinem großen Erstaunen musste ich nun aber feststellen, dass es da 
kaum einen schnellen Weg zu Ziel gibt?!
Es gibt viele Seiten/ Threads zum Thema, jedoch habe ich noch keine 
schöne Lösung finden können. Zumeist bleibt zumindest eine Lesezugriff 
auf die Systemdateien bestehe, was ich ebenfalls gerne blocken würde.

Hat vielleicht schonmal jemand ein ähnliches Problem erfolgreich lösen 
können?

Wäre für eure Hilfe sehr dankbar!

Julian
#4532632
Lesenswert?
• ▲
▼
Jalian Ass schrieb:

> Unter Debian Linux hatte ich mir das eigentlich ziemlich einfach
> vorgestellt.
> Zu meinem großen Erstaunen musste ich nun aber feststellen, dass es da
> kaum einen schnellen Weg zu Ziel gibt?!

Du hast wahrscheinlich nicht mit den passenden keywords gesucht :)
https://www.linode.com/docs/tools-reference/tools/limiting-access-with-sftp-jails-on-debian-and-ubuntu
das macht, wenn ich dich richtig verstanden habe, genau das was du 
willst, oder?
#4532663
Lesenswert?
• ▲
▼
https://wiki.archlinux.org/index.php/SFTP-chroot

Ich geh über die Gruppe und in gemeinsames Wurzelverzeichnis. Der Rest 
geht dann über die Einzelverzeichnisse der User darin, also Rechte 
rwx------ für diese.

/etc/sshd_config:
1
AllowGroups sftp
2
Subsystem sftp internal-sftp -l VERBOSE
3

4
Match Group sftp
5
        ChrootDirectory /srv/sftp
6
        ForceCommand internal-sftp -l VERBOSE -u 63
7
        #dezimal 63 = oktal 77

/etc/rsyslog.conf:
1
# Create an additional socket for some of the sshd chrooted users.
2
$AddUnixListenSocket /srv/sftp/dev/log
3

4
# Log internal-sftp in a separate file
5
:programname, isequal, "internal-sftp" -/var/log/sftp.log
6
:programname, isequal, "internal-sftp" ~

drwxr-x--x 11 root      root 4096 Jan 21 08:44 /srv/sftp
drwxr-xr-x  2 root      root 4096 Mar 23 16:54 /srv/sftp/dev/
drwx------  2 sftp-test sftp 4096 Sep 19  2012 /srv/sftp/test
Gast #4535978
Lesenswert?
• ▲
▼
>per SSH bzw. SFTP einloggen

Sollen nur Dateien übertragen werden, oder soll der Benutzer sich mit 
einem Ssh-Client anmelden und auf dem Embedded Rechner eine Shell und 
einen Editor bekommen?
Gast #4536669
Lesenswert?
• ▲
▼
Jalian Ass schrieb:
> Ziel ist, dass ein Nutzer sich per SSH bzw. SFTP einloggen kann, eine
> Parameterdatei ändern und später seine Messergebnisse auf dem gleichen
> weg herunterkopieren kann.

...

> Sein $HOME lesend und schreibend, und sonst nichts sehen, nichts können,
> nicht dürfen.

Das widerspricht sich. Wenn er ausser $HOME lesen und schreiben nichts 
darf, kann er auch keine Datei ändern oder kopieren. Denn dafür bräuchte 
er Ausführrechte für die entsprechenden Programme.

Ansonsten nimm ihm einfach alle Rechte für alles, was er nicht darf. Was 
ist daran so schwer?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren