GNU/Linux >> Znalost Linux >  >> Cent OS

Centos – Jak vytvořit Sftp uživatele v Centos?

Chtěl bych poskytnout dočasný přístup SFTP pracovníkovi podpory. Jak vytvořím uživatele SFTP? A jak jej mohu po dokončení úlohy smazat?

Jak pro ně také určím domovský adresář? Mohu jim zabránit v přístupu k určitým podadresářům v jejich domovském adresáři?

Používáme CentOS 6.3 a fzSftp

Přijatá odpověď:

Nechrootový přístup

Pokud nemáte nastavený FTP server a důvěřujete uživateli, který se bude přihlašovat, že se ve vašem serveru příliš nehrabe, byl bych nakloněn dát mu místo toho účet k SFTP do systému.

Wiki CentOS udržuje jednoduchý návod s názvem:Jednoduché nastavení SFTP, díky kterému je to docela bezbolestné.

Říkám, že je to bezbolestné, protože si doslova musíte vytvořit účet a ujistit se, že firewall povoluje provoz SSH, ujistěte se, že služba SSH běží, a máte hotovo.

Pokud sshd již neběží:

$ /etc/init.d/sshd start

Chcete-li přidat uživatele:

$ sudo useradd userX
$ sudo passwd userX
... set the password ...

Až účet dokončíte:

$ sudo userdel -r userX

Přístup chroot

Pokud na druhou stranu chcete omezit tohoto uživatele na určený adresář, server SFTP, který je součástí SSH (openssh), poskytuje konfiguraci, díky které je také snadné povolit. Je to trochu pracnější, ale ne moc. Kroky jsou popsány zde v tomto tutoriálu s názvem:Jak nastavit Chroot SFTP v Linuxu (povolit pouze SFTP, ne SSH).

Proveďte tyto změny v /etc/ssh/sshd_config soubor.

Subsystem       sftp    internal-sftp

## You want to put only certain users (i.e users who belongs to sftpusers group) in the chroot jail environment. Add the following lines at the end of /etc/ssh/sshd_config

Match Group sftpusers
  ChrootDirectory /sftp/%u
  ForceCommand internal-sftp

Nyní budete muset vytvořit chrootovaný strom adresářů, do kterého bude tento uživatel uzamčen.

$ sudo mkdir -p /sftp/userX/{incoming,outgoing}
$ sudo chown guestuser:sftpusers /sftp/guestuser/{incoming,outgoing}

Oprávnění by měla vypadat takto:

$ ls -ld /sftp/guestuser/{incoming,outgoing}
drwxr-xr-x 2 guestuser sftpusers 4096 Dec 28 23:49 /sftp/guestuser/incoming
drwxr-xr-x 2 guestuser sftpusers 4096 Dec 28 23:49 /sftp/guestuser/outgoing

Adresáře nejvyšší úrovně jako tento:

$ ls -ld /sftp /sftp/guestuser
drwxr-xr-x 3 root root 4096 Dec 28 23:49 /sftp
drwxr-xr-x 3 root root 4096 Dec 28 23:49 /sftp/guestuser

Nezapomeňte restartovat sshd server:

$ sudo service sshd restart

Nyní vytvořte účet userX:

$ sudo useradd -g sftpusers -d /incoming -s /sbin/nologin userX
$ sudo passwd userX
... set password ...

Správnost vytvoření účtu můžete zkontrolovat:

$ grep userX /etc/passwd
userX:x:500:500::/incoming:/sbin/nologin

Až účet dokončíte, smažte jej stejným způsobem jako výše:

$ sudo userdel -r userX

…a nezapomeňte odstranit změny konfiguračního souboru, které jsme provedli výše, a poté restartujte sshd aby byly znovu aktivní.

Související:Invertovat výsledky pro „for in * do“-loops?
Cent OS
  1. Jak nastavit SFTP server na CentOS

  2. Jak vytvořit uživatele Sudo na CentOS, Ubuntu a Debianu

  3. Jak vytvořit uživatele Sudo v Debianu

  1. Jak vytvořit uživatele Sudo na Rocky Linux a CentOS

  2. Centos – Jak vytvořit neprivilegovaného uživatele v Centos?

  3. Jak vytvořit uživatele sudo na CentOS 7

  1. Jak vytvořit uživatele SFTP bez Shell Access na CentOS 8

  2. Jak vytvořit uživatele Sudo v Rocky Linux 8

  3. Vytvořte uživatele sudo v CentOS