Forutsetninger
Trinn 1: Opprett en dedikert sFTP-gruppe og en dedikert sFTP-bruker
Trinn 2: Endre konfigurasjonen av sshd-tjenesten
Trinn 3: Opprett en dedikert katalog for sFTP-brukeren
Trinn 4: Opprett flere sFTP-brukere
Ved visse anledninger kan det hende en systemadministrator må opprette en brukerkonto og begrense tilgangen deres til kun å administrere sine egne filer via sFTP, men ikke kunne logge på systemet på noen annen måte. Løsningen introdusert i denne artikkelen vil vise deg hvordan du kan utføre denne oppgaven.
Forutsetninger
For å få praktisk erfaring, må du distribuere en Vultr CentOS 7 x64-serverforekomst. Vær oppmerksom på at instruksjonene for andre Linux-distribusjoner kan være annerledes.
I tillegg er alle kommandoer i denne artikkelen egnet for root; som sådan, trenger du sudo privilegeshvis du bruker en ikke-rootbruker.
Trinn 1: Opprett en dedikert sFTP-gruppe og en dedikert sFTP-bruker
groupadd sftpusers
useradd -g sftpusers -s /sbin/nologin user1
passwd user1
Her er gruppen sftpusersen dedikert sFTP-gruppe, brukeren user1er en dedikert sFTP-bruker som er forbudt å logge på med SSH.
Trinn 2: Endre konfigurasjonen av sshd-tjenesten
Åpne konfigurasjonsfilen til sshd-tjenesten:
vi /etc/ssh/sshd_config
Finn linjen:
Subsystem sftp /usr/libexec/openssh/sftp-server
Erstatt den med:
Subsystem sftp internal-sftp
Legg til følgende linjer på slutten av filen. Gruppenavnet sftpusersskal være det samme som det du spesifiserte tidligere.
Match Group sftpusers
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory %h
ForceCommand internal-sftp
Lagre og avslutt:
:wq
Start sshd-tjenesten på nytt for å sette endringene i kraft.
systemctl restart sshd.service
Trinn 3: Opprett en dedikert katalog for sFTP-brukeren
Du må spesifisere en katalog for sFTP-brukeren og sørge for at denne brukeren kun kan leke i denne katalogen:
chown -R root /home/user1
chmod -R 755 /home/user1
mkdir /home/user1/files
chown user1. /home/user1/files
Nå kan brukeren user1bare laste opp og/eller laste ned filer i katalogen /home/user1/files, han eller hun kan aldri berøre andre brukeres filer.
Trinn 4: Opprett flere sFTP-brukere
Hvis du trenger flere sFTP-brukere, kan du opprette dem på samme måte:
useradd -g sftpusers -s /sbin/nologin user2
passwd user2
chown -R root /home/user2
chmod -R 755 /home/user2
mkdir /home/user2/files
chown user2. /home/user2/files
Det er det. Hver brukerkonto opprettet på denne måten vil bli nektet hvis du bruker den til å logge på systemet. Disse brukerkontoene kan bare brukes i sFTP-programmer.