PowerScale OneFS: Konfigurere SFTP og sette opp chroot
Sammendrag: Dette dokumentet beskriver hvordan du tillater tilgang til PowerScale-klyngen over Secure File Transfer Protocol (SFTP).
Instruksjoner
Dette dokumentet beskriver hvordan du tillater tilgang til PowerScale-klyngen over SFTP. Det er noen begrensninger og hensyn du må huske på når du begynner denne prosessen.
- Brukere/grupper som trenger SFTP-tilgang, må ha
ISI_PRIV_LOGIN_SSHprivilegiet som er knyttet til brukeren. - SSH- og SFTP-tilgang fungerer bare innenfor systemsonen.
- Ikke alle ssh-konfigurasjonsalternativer er tilgjengelige; PowerScale støtter samsvarssetninger og delsystemsetninger over
isi ssh modifykommandosett.
Utenom disse faktorene fungerer PowerScale som en hvilken som helst annen FreeBSD OpenSSH-server. Kontroller OpenSSH-versjonen på en klynge ved hjelp av kommandoen ssh -V.
Hvis du vil ha veiledning om hvordan du konfigurerer roller og rettigheter, kan du se CLI- eller webadministrasjonsveiledningene for utgivelsen under delen "Administrative roller og rettigheter".
Kontrollere om en bruker/gruppe har ISI_PRIV_LOGIN_SSH
Kontroller at den aktuelle brukeren har ISI_PRIV_LOGIN_SSH. Nedenfor er et eksempel med standard admin-bruker.
p930-1# isi auth mapping token admin | grep "LOGIN_SSH"
ISI_PRIV_LOGIN_SSH
Hvis det ikke finnes utdata, må brukeren tilordnes en rolle som inkluderer denne rettigheten. Du finner mer informasjon om hvordan du gjør dette i administrasjonsveiledningene våre for den relevante utgivelsen under «Administrative roller og privilegier»
Grunnleggende SFTP-tilgang for lokale brukere
Når de har bekreftet riktige rettigheter, skal brukerne ha SFTP-tilgang til deler av filsystemet basert på brukertilordningstokenet.
p930-1# sftp admin@localhost
(admin@localhost) Password:
Connected to localhost.
sftp> dir
sftp> cd ..
sftp> dir
admin ftp
Grunnleggende Chroot SFTP-tilgang
For å begrense en bruker til et bestemt delsett av filsystemet, bruk OpenSSHs ChrootDirectory funksjonalitet i en samsvarserklæring. Dette fører til at klienten ser påloggingsbanen som / og gjør det slik at de ikke kan forlate den delmengden av filsystemet. ChrootDirectory har imidlertid strenge krav til katalogtillatelse på hele banen til ChrootDirectory at hver katalog i banen har Posix-tillatelser for root:wheel drwxr-xr-x Hvis du vil ha mer informasjon om dette, kan du se OpenSSH vedlikeholdsmann-siden.
Her er en felles Match-erklæring for implementering ChrootDirectory. De to første linjene er obligatoriske for ChrootDirectory uten støttefiler. De andre to linjene begrenser en brukers mulighet til å dra nytte av TCPForwarding av X11Forwarding-funksjoner i OpenSSH.
Match Group admin
ChrootDirectory /ifs/sftp
ForceCommand internal-sftp"
X11Forwarding no
Nedenfor er et grunnleggende eksempel på å forberede en bane for chroot når noen matchende brukere kan skrive til /ifs/sftp/home Katalogen. root:wheel eier katalogene /ifs og /ifs/sftp, med tillatelser satt til 755 for ChrootDirectory Mens /ifs/sftp/home har tillatelser på 777, slik at brukeren kan skrive tilgang.
p930-1# isi auth settings acls modify --calcmode-group=group_only --calcmode-owner=owner_only
p930-1# mkdir -p /ifs/sftp/home
p930-1# chmod 755 /ifs/
p930-1# chmod 755 /ifs/sftp
p930-1# chmod 777 /ifs/sftp/home
p930-1# isi ssh settings modify --match="Match Group admin
dquote> ChrootDirectory /ifs/sftp
dquote> ForceCommand internal-sftp"
p930-1# sftp admin@localhost
(admin@localhost) Password:
Connected to localhost.
sftp> ls
home
sftp> pwd
Remote working directory: /
Konfigurere flere samsvarsstrenger
Det er lettere å administrere flere treff i en fil og deretter sende dem til vår isi ssh Kommandoer. Ved å bruke denne prosessen sikrer du sshd validerer filen og bruker bare endringen hvis den er gyldig.
Nedenfor er eksempler på suksess og fiasko.
p930-1# cat /ifs/sshMatches
Match Group admin
ChrootDirectory /ifs/sftp
ForceCommand internal-sftp
X11Forwarding no
Match All
X11Forwarding no
p930-1# sshd -t -f /ifs/sshMatches && isi ssh settings modify --match="$(cat /ifs/sshMatches)"
p930-1# sshd -t -f /ifs/sshMatchBad && isi ssh settings modify --match="$(cat /ifs/sshMatchBad)"
Missing Match criteria for Allk
/ifs/sshMatchBad line 6: Bad Match condition
Samsvar med strenghensyn.
Når du konfigurerer samsvarsstrenger, kan alle bruker- eller gruppeidentifikatorer som klyngen kjenner til, brukes. Så referanse til Active Directory-grupper kan gjøres med RFC2307 ved å domain\user.
Hvis en bruker ikke dirigerer til riktig bane eller innstillinger i en Match User-streng, må du kontrollere at brukeren kan slås opp i klyngen med kommandoen isi auth mapping token <username> tar brukernavn fra Match String.
Hvis en bruker ikke dirigerer til riktig bane eller innstillinger i en samsvarsgruppestreng, må du kontrollere at brukeren er medlem av den aktuelle gruppen med kommandoen isi auth mapping token <username> | grep <groupname>.
Oppgi et brukernavn, og hent gruppenavnet fra samsvarsstrengen.
Nedenfor er et eksempel på en bruker som ikke dirigerer riktig til en bane på grunn av en feil i Match Group-setningen. Bruker stateroot fungerer ikke som den skal mens brukeren prodroot er å rette feilen i gruppenavnet som brukes i Match Group-setningen for å rette opp dette.
p930-1# isi auth mapping token stageroot | grep "LOGIN_SSH"
ISI_PRIV_LOGIN_SSH
p930-1# isi auth mapping token prodroot | grep "LOGIN_SSH"
ISI_PRIV_LOGIN_SSH
p930-1# cat /ifs/sshMatches
Match Group Stage-Root-SFTP
ChrootDirectory /ifs/home/Stage-Root
X11Forwarding no
ForceCommand internal-sftp
Match Group Prod-Root
ChrootDirectory /ifs/home/Prod-Root
X11Forwarding no
ForceCommand internal-sftp
p930-1# isi auth mapping token stageroot | grep "Stage-Root-SFTP"
p930-1# isi auth mapping token prodroot | grep "Prod-Root"
Name: Prod-Root
p930-1# isi auth mapping token stageroot | grep "Stage-Root"
Name: Stage-Root
Eldre konfigurasjoner
Før OneFS 8.2 kunne man oppnå den samme funksjonaliteten, men isi ssh Kommandoen fantes ennå ikke. I stedet for å bruke isi ssh settings modify --match="" Redigere filen /etc/mcp/templates/sshd_config med de samme Match Strings trinnene ovenfor ville bruke. Legg dem til på slutten av /etc/mcp/templates/sshd_config.
Instruksjonene som gis, skal fungere for OneFS-versjoner før OneFS 8.2, men alle konfigurasjonsjusteringer som gjøres på denne måten, fjernes etter oppgradering til en OneFS-versjon med API-støtte (Application Programming Interface). Brukere som bruker SFTP-tilgang, krever fortsatt ISI_PRIV_LOGIN_SSH Privilegium.