GNU/Linux >> Znalost Linux >  >> Linux

Jaký je nejbezpečnější způsob, jak umožnit uživateli přístup pro čtení k souboru protokolu?

Řešení 1:

Abychom trochu rozšířili výše uvedené odpovědi, zde je skutečný případ použití. Spouštím aplikaci pro analýzu podnikových protokolů Splunk na krabici Redhat. Běží pod splunk user a splunk group. To zabrání splunk v přístupu k protokolům v /var/log, protože jsou přístupné pouze root (nebo sudo admin)

Abych povolil přístup pouze pro čtení pouze pro splunk, použil jsem několik ACL a upravil logrotate, abych to zachoval.

ACL můžete nastavit ručně pomocí

sudo setfacl -m g:splunk:rx /var/log/messages

Toto nebude přetrvávat, protože logrotate znovu nepoužije nastavení ACL, takže pro trvalejší řešení jsem přidal pravidlo pro logrotate pro resetování ACL.Přidal jsem soubor..

/etc/logrotate.d/Splunk_ACLs

s

{
    postrotate
        /usr/bin/setfacl -m g:splunk:rx /var/log/cron
        /usr/bin/setfacl -m g:splunk:rx /var/log/maillog
        /usr/bin/setfacl -m g:splunk:rx /var/log/messages
        /usr/bin/setfacl -m g:splunk:rx /var/log/secure
        /usr/bin/setfacl -m g:splunk:rx /var/log/spooler
    endscript
}

Zkontrolujte stav ACL souboru pomocí

$ getfacl /var/log/messages

Další informace o ACL najdete na https://help.ubuntu.com/community/FilePermissionsACLshttp://bencane.com/2012/05/27/acl-using-access-control-lists-on-linux/

Řešení 2:

Není třeba přidávat root do skupiny, protože stejně bude mít přístup přes uživatelská priv, prostě dejte skupině přečíst kteroukoli skupinu, kterou si vyberete. Nezapomeňte provést změny také pomocí logrotate, jinak budou skupinové změny každou noc vymazány.

Řešení 3:

Váš plán je přijatelný a v "tradičním" unixovém schématu oprávnění je tou nejlepší cestou.
Další možností je nechat syslog přesměrovat zprávy, které vás zajímají, do jiného souboru (což zabrání tomu, aby uživatel aplikace měl přístup k čemukoli citlivému, co může být v /var/log/messages ).

Pokud se nechcete vázat tradičním schématem oprávnění User/Group/Other, můžete také použít POSIX ACL (jiné, možná lepší postupy/informace dostupné přes Google), abyste uživateli své aplikace poskytli přístup pouze pro čtení k /var/log/messages -- toto je o něco jemnější a nehrozí, že by někdo náhodně dostal do skupiny aplikace někoho jiného a poskytl mu přístup k věcem, které by neměly vidět.

Řešení 4:

Ano, použil jsem setfacl tím umožníte přístup k mail.log soubor pro zákazníka, nebudete muset také vložit příkaz do logrotate.conf soubor pro opětovné nastavení ACL poté, co byly protokoly otočeny, např.:

postrotate
         /usr/bin/setfacl -m o::r /var/log/mail.log  
endscript

Všimněte si, že jsem to právě nastavil a netestoval, ale i když by to sem poslal, nevidím důvod, proč by to nefungovalo, opravte mě někdo, pokud se mýlím.


Linux
  1. Jaký je účel souboru .bash_profile pod uživatelským domovským adresářem v Linuxu

  2. Jaký je účel uživatele „mysql.sys@localhost“.

  3. Jaký je účel souboru .bashrc v Linuxu

  1. Co dělá povolení k provedení?

  2. Jaký je rozdíl mezi přidáním uživatele do sudoers a kořenové skupiny?

  3. Nejbezpečnější způsob rozdělení linuxu?

  1. Čte Tail celý soubor?

  2. Správný způsob, jak získat přístup ke konkrétnímu souboru nápovědy ve Vimu?

  3. Jaký je nejrychlejší způsob přidání textu do souboru z příkazového řádku?