[10] Ustawienia „sudo”
19 maja 2020Skonfigurujemy teraz SUDO, aby oddzielić możliwość wykonywania poleceń root’a między użytkownikami.
[1] Transfer przywilejów root 'a do użytkownika
[root@lsr01vm ~]# visudo # dopisz na końcu pliku, dajemy użytkownikowi [red] prawa root'a red ALL=(ALL) ALL # składnia => cel host=(właściciel) polecenie # sprawdźmy użytkownika [red] [red@lsr01vm ~]$ /usr/bin/cat /etc/shadow /usr/bin/cat: /etc/shadow: Brak dostępu # standardowy brak dostępu [red@lsr01vm ~]$ sudo /usr/bin/cat /etc/shadow [sudo] hasło użytkownika red: # haslo użytkownika [red] ... ... cockpit-ws:!!:18402:::::: clevis:!!:18402:::::: # dostęp możliwy
[2] Wszystkie prawa root’a dane użytkownikowi [red] w [1] ograniczmy o jakąś komendę.
[root@lsr01vm ~]# visudo # linia 49: dodaj # dla przykładu użyjemy aliasu, który wywołuje komendę shutdown Cmnd_Alias SHUTDOWN = /usr/sbin/halt, /usr/sbin/shutdown, /usr/sbin/poweroff, /usr/sbin/reboot, /usr/sbin/init, /usr/bin/systemctl # dodaj do już istniejącego wpisu zabronione komendy wymienione w aliasie [SHUTDOWN] red ALL=(ALL) ALL, !SHUTDOWN # sprawdźmy użytkownika [red] [red@lsr01vm ~]$ sudo /usr/sbin/reboot [sudo] hasło użytkownika red: Niestety użytkownik red nie ma uprawnień do uruchamiania '/usr/sbin/reboot' jako root na lsr01vm.zicher.lab. # czyli wszystko OK ;-)
[3] Transfer poleceń z prawami root’a do użytkowników w grupach.
[test@lsr01vm ~]$ sudo /usr/sbin/useradd testuser Ufamy, że lokalny administrator udzielił odpowiedniego szkolenia. Zwykle sprowadza się ono do tych trzech rzeczy: 1) należy respektować prywatność innych, 2) należy myśleć przed pisaniem, 3) z dużą władzą wiąże się duża odpowiedzialność. [sudo] hasło użytkownika test: test nie występuje w pliku sudoers. Ten incydent zostanie zgłoszony. # nie można wykonać polecenia [root@lsr01vm ~]# visudo # linia 51: dodaj Cmnd_Alias USERMGR = /usr/sbin/useradd, /usr/sbin/userdel, /usr/sbin/usermod, /usr/bin/passwd # dodaj na końcu pliku %usermgr All=(ALL) USERMGR [root@lsr01vm ~]# groupadd usermgr [root@lsr01vm ~]# usermod -G usermgr test [test@lsr01vm ~]$ sudo /usr/sbin/useradd testuser [sudo] hasło użytkownika test: [test@lsr01vm ~]$ sudo /usr/bin/passwd testuser Zmienianie hasła użytkownika testuser. Nowe hasło : Proszę ponownie wpisać nowe hasło : passwd: zaktualizowanie wszystkich tokenów uwierzytelniania się powiodło. # czyli wszystko OK ;-)
[4] Transfer komendy/komend z przywilejami root’a do użytkownika.
[testuser@lsr01vm ~]$ sudo /usr/sbin/visudo [sudo] hasło użytkownika testuser: Niestety użytkownik testuser nie ma uprawnień do uruchamiania '/usr/sbin/visudo' jako root na lsr01vm.zicher.lab. [root@lsr01vm ~]# visudo # dodaj na końcu pliku testuser ALL=(ALL) /usr/bin/visudo # sprawdźmy czy na [testuser] to działa testuser@lsr01vm ~]$ sudo /usr/sbin/visudo Ufamy, że lokalny administrator udzielił odpowiedniego szkolenia.Zwykle sprowadza się ono do tych trzech rzeczy: 1) należy respektować prywatność innych, 2) należy myśleć przed pisaniem, 3) z dużą władzą wiąże się duża odpowiedzialność. [sudo] hasło użytkownika testuser: Sudoers allows particular users to run various commands as ## the root user, without needing the root password. ## ## Examples are provided at the bottom of the file for collections ## of related commands, which can then be delegated out to particular ## users or groups. ... # czyli wszystko OK ;-)
[5] Logi polecenia sudo są przechowywane w [/var/log/secure], znajduje się tam jednak ogromna ilość informacji. Dlatego, jeśli chcesz przechowywać logi polecenia sudo w innym miejscu to możesz to zrobić.
[root@lsr01vm ~]# visudo # dodaj na końcu pliku # dla przykładu logować będziemy do [local1] Defaults syslog=local1 [root@lsr01vm ~]# vi /etc/rsyslog.conf # linia 46,47: dodaj *.info;mail.none;authpriv.none;cron.none;local1.none /var/log/messages local1.* /var/log/sudo.log [root@lsr01vm ~]# systemctl restart rsyslog
[…] [10] Ustawienia „sudo” […]
[…] [10] Ustawienia „sudo” […]