GNU/Linux >> Znalost Linux >  >> Linux

Jak omezit uživatele na jednu složku a nedovolit mu přesunout jeho složku

Vyřešil jsem svůj problém tímto způsobem:

Vytvořte novou skupinu

$ sudo addgroup exchangefiles

Vytvořte chroot adresář

$ sudo mkdir /var/www/GroupFolder/
$ sudo chmod g+rx /var/www/GroupFolder/

Vytvořte adresář pro zápis skupiny

$ sudo mkdir -p /var/www/GroupFolder/files/
$ sudo chmod g+rwx /var/www/GroupFolder/files/

Dejte je oba do nové skupiny

$ sudo chgrp -R exchangefiles /var/www/GroupFolder/

poté jsem přešel na /etc/ssh/sshd_config a přidán na konec souboru:

Match Group exchangefiles
  # Force the connection to use SFTP and chroot to the required directory.
  ForceCommand internal-sftp
  ChrootDirectory /var/www/GroupFolder/
  # Disable tunneling, authentication agent, TCP and X11 forwarding.
  PermitTunnel no
  AllowAgentForwarding no
  AllowTcpForwarding no
  X11Forwarding no

Nyní přidám nového uživatele se jménem obama do své skupiny:

$ sudo adduser --ingroup exchangefiles obama

Nyní je vše hotovo, takže musíme restartovat službu ssh:

$ sudo service ssh restart

upozornění:uživatel nyní nemůže dělat nic mimo file adresář Chci říct, že všechny jeho soubory musí být ve složce souborů.


Omezení jsou rozumná záležitost a musí být definována důsledně. Co můžete udělat, je definovat omezený shell pro uživatele jako jeho výchozí shell .

Například nastavení /bin/rksh (omezený kornshell) namísto uživatelem předdefinovaného shellu jako výchozího shellu pro daného uživatele v /etc/profile .

POZNÁMKA: pokud spustitelný soubor s tímto názvem ve vašem systému neexistuje, vytvořte pevný odkaz ln /bin/ksh /bin/rksh a ksh podle názvu určí, zda je nebo není omezena.

omezený shell zabrání (například) provedení cd nebo zadáním příkazu / (explicitní cesta) ve vyvolání a zakáže změnu PATH , SHELL nebo ENV proměnné a přesměrování výstupu jsou také zakázána.

Můžete stále poskytují předdefinované shell skripty uživateli, které (pod kontrolou implementátorů skriptů!) umožní uživateli spouštět konkrétní skript(y) v neomezeném prostředí.


Příkaz chroot umožňuje vytvořit omezený kořen pro uživatele, tato otázka vysvětluje koncept chroot a jak jej používat.

Aktualizace:Hledání zařízení chroot jail na digitálním oceánu , přináší další dokumentaci specifickou pro jejich prostředí. Zde je pár, které podle mého názoru souvisí s tím, co byste mohli potřebovat.

Jak nakonfigurovat prostředí Chroot pro testování na Ubuntu 12.04 VPS

Jak povolit omezený přístup SSH chroot uvězněnému uživateli

Zde je jeden, který souvisí s vězeňskou sadou, kterou FloHimself navrhl.


Linux
  1. Jak povolit uživateli používat sudo v Ubuntu Linux

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

  3. Jak přesunout soubory z jednoho uživatelského účtu do druhého na stejném počítači?

  1. Jak nakonfigurovat SSH pro omezení uživatelů/skupin pomocí direktiv povolení a zakázání

  2. jak mohu vyhledat soubory a zazipovat je do jednoho souboru zip

  3. Jak přesunu soubory a adresáře do nadřazené složky v Linuxu?

  1. Jak zálohovat NextCloud a přesunout je na jiný server

  2. Jak používat sudo k tomu, aby uživatel bez oprávnění root mohl spustit konkrétní příkaz

  3. Jak mohu udělat sudo session hodinu a ne pár minut v Ubuntu 10.04?