• Opret dig
  • Glemt adgangskode

User account menu

  • Artikler
  • Forside
  • Forum
  • Nyheder
  • Log ind
Hjem
LinuxIN.dk

Breadcrumb

  • Hjem
  • forums
  • SFTP og chroot

Hvad kan du med 100% sikkerhed sige, at du har stemt?

Valgmuligheder

Snak med

Opret dig!

Af mrbrown79 | 07.04.2010 04:09

SFTP og chroot

Hjælp generelt
Jeg har brug for at oprette en SFTP-server, hvor brugerne kun kan fedte rundt blandt deres egne filer. Det skal være så restriktivt at de end ikke kan se navnet på andre oprettede bruger-biblioteker.

Jeg har været vidt omkring på Google og har prøvet lidt af hvert - men intet tilfredsstiller mine behov. Nu er jeg endt med at oprette en bruger 'testuser' og har tilføjet flg. i /etc/ssh/sshd_config:

Subsystem sftp internal-sftp
#Subsystem sftp /usr/libexec/openssh/sftp-server

Match user testuser
ChrootDirectory /ftpusers
ForceCommand internal-sftp
AllowTcpForwarding no
GatewayPorts no
X11Forwarding no


/etc/passwd:

testuser:x:581:581::/home/testuser:/bin/bash


Jeg har oprettet biblioteket /ftpusers/home/testuser.

Udover at dette formentlig kun er en delvis løsning (idet 'testuser' kan browse rundt i de andre home's under /ftpusers), så kan jeg heller ikke få det til at virke ordentligt.

Jeg kan forbinde med:
sftp testuser@host
, men hvis jeg forsøger noget så simpelt som en 'ls'-kommando får jeg beskeden: "Couldn't get handle: Permission denied".

Kort sagt: hjælp! Hvordan får jeg lavet min SFTP-server?

Et eksempel på /var/log/messages når jeg forsøger med en 'ls' efter SFTP-login:

Apr 7 04:14:10 [HOSTNAME] kernel: type=1400 audit(1270606450.634:9887): avc: denied { read } for pid=4549 comm="sshd" name="testuser" dev=sda2 ino=106954 scontext=unconfined_u:system_r:sshd_t:s0-s0:c0.c1023 tcontext=system_u:object_r:default_t:s0 tclass=dir
  • Log ind eller opret dig for at tilføje kommentarer

Kommentarer6

15 år 2 måneder siden

Permalink

Indsendt af kajo den 9. april 2010 kl. 16:34

Permalink

Re: SFTP og chroot

Hvilket system vil lave din sftp/ssh server på? Jeg har det til at køre på en ubuntu 9.04, så her kan jeg måske hjælpe.

/kajo
  • Log ind eller opret dig for at tilføje kommentarer

15 år 2 måneder siden

Permalink

Indsendt af mrbrown79 den 9. april 2010 kl. 18:08

In reply to Re: SFTP og chroot by kajo

Permalink

Tak for svar :)

Det er en Fedora 11, men mon ikke det er sammenligneligt?

Har du eksempler på din sshd_config og /etc/passwd, som jeg må se?
  • Log ind eller opret dig for at tilføje kommentarer

15 år 2 måneder siden

Permalink

Indsendt af kajo den 9. april 2010 kl. 19:40

Permalink

Re: SFTP og chroot

Jeg har lavet mig nogle noter undervejs da jeg selv skulle have det til at virke. For som du selv er inde på så kan man google sig hudløs uden at nå nogen vejne.

Til forskel fra dig, så benytter jeg mig af en gruppe, som jeg tilknytter forskellige brugere til. Jeg fik det aldrig til at virke kun med regler for brugere, da dette virker for mig så er jeg aldrig gået videre.

Her er de direkte "sakset" ind:

Først redigeres /etc/ssh/sshd_config til at benytte internal SFTP subsystem.

§ sudo nano /etc/ssh/sshd_config

Flg linie tilføjes under subsystem:

Subsystem sftp internal-sftp

Derefter oprettes en grupperegel nederst:

Match group (gruppen)
ChrootDirectory /home/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp

Nu er conf-filen færdig. Der gemmes med Ctrl + X

For at reglen virker skal gruppen, som benyttes i sshd_conf oprettes. Dette gøres med:

§ sudo groupadd (gruppe)

Herefter skal der oprettes brugere. Dette gøres med flg kommando, som samtidig opretter en hjemmemappe i /home:

§ sudo useradd -m (brugernavn)

Så skal brugeren have et password:

§ passwd (brugernavn)

Nu skal SSH-chroot sættes op, så brugeren kun har adgang til sin egen mappe, samt tilføj vedkommende til en gruppe.

§ chown root.root /home/(brugernavn)
§ usermod -d / (brugernavn)
§ adduser (brugernavn) (gruppe)

For at brugeren kan bruge sit /home til noget skal man som root oprette mappe(r) i /home/(bruger)/, som brugeren kan benytte

§ sudo mkdir /home/(bruger)/nymappe

Derefter gives de rigtige tilladelser til mappen /home/(bruger)/nymappe så brugeren har rettigheder til at læse, skrive og ændre filer:

§ chmod 777 /home/(bruger)/nymappe

Hvis der er noget jeg ikke har beskrevet godt nok, så spørg endelig (jeg kan have glemt at skrive noget ned, men kan huske det ;-)
  • Log ind eller opret dig for at tilføje kommentarer

15 år 2 måneder siden

Permalink

Indsendt af mrbrown79 den 9. april 2010 kl. 23:53

In reply to Re: SFTP og chroot by kajo

Permalink

Hej Kajo, Tak for indsatsen

Hej Kajo,

Tak for indsatsen :) Det hele ligner noget jeg har prøvet, men ved førstkommende lejlighed vil jeg lige prøve det igen med et frisk sind.

Kan du ikke prøve at gengive en linje fra din /etc/passwd fil? Altså bare for een af de brugere, som kører gennem chroot. At dømme ud fra de kommandoer, du har nævnt, burde der dog ikke være noget specielt i den...

EDIT: Ahh, detalje: du bruger usermod for at rette brugerens hjemmebibliotek. Det burde kunne ses i /etc/passwd - som jeg stadig håber du vil vise et brudstykke af.
  • Log ind eller opret dig for at tilføje kommentarer

15 år 2 måneder siden

Permalink

Indsendt af kajo den 10. april 2010 kl. 09:37

Permalink

Hej igen,
Et uddrag af min

Hej igen,

Et uddrag af min /etc/passwd:

familie:x:1006:1007::/:/bin/sh
test:x:1007:1008::/:/bin/sh
fælles:x:1008:1009::/:/bin/sh

Og de sidste linier i /etc/ssh/sshd_config:

# Allow client to pass locale environment variables
AcceptEnv LANG LC_*

#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp

UsePAM yes

Match group sftp
ChrootDirectory /home/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp



Jeg kan kun sige, at hvis du følger guiden slavisk, så virker chroot af ssh/sftp adgangen. Jeg kæmpede ligesom dig en kamp for at få det til at virke.
  • Log ind eller opret dig for at tilføje kommentarer

15 år 2 måneder siden

Permalink

Indsendt af mrbrown79 den 12. april 2010 kl. 23:00

Permalink

Problem løst

Tak for detaljerne - det er nyttigt at få klarlagt at fremgangsmåden har været rigtig, så man kan lede efter de reelle problemer :) Alt mht. chroot og sftp har åbenbart hele tiden været sat korrekt op, og problemerne skyldes derimod SElinux, som var lige rigeligt restriktiv.

Nu har jeg slået SElinux fra og alt ser ud til at fungere efter hensigten.
  • Log ind eller opret dig for at tilføje kommentarer

Svar søges

llumos Unix-operativsystem, 0
Den er go 0
14. februar = I Love Free Software Day 0
Lokal fil-deling - for de dovne. 0
Linux fra begynder til professionel af O'Reilly 0

Seneste aktivitet

Pepsi Challenge 4
"Intet realistisk alternativ" - mig i r*ven 10
Linuxin er nu migreret til Drupal 11 13
Et Dansk alternativ til Facebook 18
Ingen Mint 3
Ekstern Blu-ray-brænder, der fungerer med PCLinuxOS 3
Københavns og Aarhus Kommune dropper MS 9
Open Source-eksperimentet 1
Microsoft og Google ud af de danske skoler 2
Udfordringer med lydin på Debian 12 1
ExplainingComputers? 2
Nextcloud på mobilen 1
Læsning af databasefil i Firefox 1
Vil du have et sikrere og mere privat internet? Du skal blot installere Vivaldi-browseren med Proton VPN understøttelse! 1
Ny Linuxin på vej :) 43
5G 9
Edit 12
PCLinuxOS 23
Fairphone? 9
2 stk Jolla C2 sælges 2

© 2025 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !