Ik ben redelijk nieuw in Linux, dus ik weet er nog niet zo veel van. Nu heb ik een Linux Server (Ubuntu 22.04 LTS). Wat ik wil is volgens mij niet zo moeilijk, maar ik vind alleen pagina's lange instructies om het voor elkaar te krijgen, en volgens mij moet het veel simpeler kunnen.
Wat ik wil is vrij eenvoudig:
- Ik heb een map "/home/Pietje"
- Nu wil ik een gebruiker aanmaken met de naam "Pietje"
- De gebruiker mag alleen in de map "/home/Pietje" kunnen komen met bijvoorbeeld winscp of filezilla
- De gebruiker mag in de map mappen aanmaken en bestanden plaatsen, aanpassen en weer verwijderen
- De gebruiker mag verder niets, dus niet naar de bovenliggende map zoals /home/ of wat dan ook
De gebruiker heeft ook geen toegang nodig tot de CLI.
Wat heb ik al geprobeerd?
De volgende commando's vond ik op internet, waarmee dit eenvoudig zou moeten lukken:
Als ik nu met WinSCP als Pietje inlog dan kan kom ik in de juiste map, maar kan ik wil naar bovenliggende mappen, wat dus niet de bedoeling is. De CLI is wel geblokkeerd, dus dat is in ieder geval mooi.
Toen heb ik het "sshd_config" bestand aangepast.
Ik heb deze regel:
Aangepast naar:
En aan het eind van het bestand heb ik het volgende toegevoegd:
Als ik dit opsla en de commando's "systemctl restart sshd.service" en "systemctl restart ssh.service" uitvoer, dan kom ik niet meer ingelogd als Pietje via WinSCP. Als ik dan "journalctl -xe" bekijk dan zie ik dit staan:
Iemand die weet wat ik fout doe, of die weet hoe ik de gewenste situatie wel voor elkaar krijg?
Wat ik wil is vrij eenvoudig:
- Ik heb een map "/home/Pietje"
- Nu wil ik een gebruiker aanmaken met de naam "Pietje"
- De gebruiker mag alleen in de map "/home/Pietje" kunnen komen met bijvoorbeeld winscp of filezilla
- De gebruiker mag in de map mappen aanmaken en bestanden plaatsen, aanpassen en weer verwijderen
- De gebruiker mag verder niets, dus niet naar de bovenliggende map zoals /home/ of wat dan ook
De gebruiker heeft ook geen toegang nodig tot de CLI.
Wat heb ik al geprobeerd?
De volgende commando's vond ik op internet, waarmee dit eenvoudig zou moeten lukken:
code:
1
2
3
| adduser --home /home/Pietje Pietje chown Pietje:Pietje_user /home/Pietje chmod 755 /home/Pietje |
Als ik nu met WinSCP als Pietje inlog dan kan kom ik in de juiste map, maar kan ik wil naar bovenliggende mappen, wat dus niet de bedoeling is. De CLI is wel geblokkeerd, dus dat is in ieder geval mooi.
Toen heb ik het "sshd_config" bestand aangepast.
Ik heb deze regel:
code:
1
| Subsystem sftp /usr/lib/openssh/sftp-server |
Aangepast naar:
code:
1
| Subsystem sftp internal-sftp |
En aan het eind van het bestand heb ik het volgende toegevoegd:
code:
1
2
3
| Match user Pietje ForceCommand internal-sftp ChrootDirectory /home/Pietje |
Als ik dit opsla en de commando's "systemctl restart sshd.service" en "systemctl restart ssh.service" uitvoer, dan kom ik niet meer ingelogd als Pietje via WinSCP. Als ik dan "journalctl -xe" bekijk dan zie ik dit staan:
code:
1
| fatal: bad ownership or modes for chroot directory "/home/Pietje" |
Iemand die weet wat ik fout doe, of die weet hoe ik de gewenste situatie wel voor elkaar krijg?
I haven’t slept for three days, because that would be too long.