kattava opas Master Sudoers-Tiedoston avaamiseen.
Mikä on Sudoers-Tiedosto?
Sudoers-tiedosto on aivan kuten mikä tahansa muu Linux-käyttöjärjestelmän tiedosto., Mutta sillä on tärkeä rooli sen hallinnassa, mitä ”käyttäjä” tai ”käyttäjät ryhmässä” voivat tehdä järjestelmässä.
miksi nimi Sudoers?
sana Sudo on lyhenne sanasta ”Super User Do”. Kuten se selvästi ehdottaa — se on aivan kuin kertoa ytimen / OS ” sinulla ei ole vaihtoehtoa, vain tehdä se!”. Sudo-luvalla toimivia käyttäjiä kutsutaan Sudo-käyttäjiksi. Kaikkien näiden sudo-käyttäjien hallinta tapahtuu sudoers-tiedostoksi kutsutun tiedoston kautta. Tämä tiedosto elää myös / etc-hakemistossa kuten mikä tahansa muu asetustiedosto.,
Miksi Sudoers-Tiedosto?
normaalilla käyttäjällä Linuxissa on monia rajoituksia järjestelmässä. Esimerkiksi-käyttäjä ei voi käynnistää palvelua, muuttaa config-tiedostoa tai suorittaa skriptiä järjestelmässä oletuksena. Turvallisuusnäkökulmasta tämä näyttää täydelliseltä.,
mutta, ottakaamme esimerkki — sinun on järjestelmän ylläpitäjänä hallittava kaikkia käyttäjiä ja niiden hallintalaitteita. Sinulla on sivusto isännöi Apache yhdellä palvelimistasi. Sinulla on jo Web-Admin hallita sitä. Hänelle pitäisi luoda käyttäjä www-palvelimelle. Tämän käyttäjän on sallittava tehdä kaksi asiaa, joita tavallinen käyttäjä ei voi tehdä :
- Start/Restart Apache Service, Jos se pysähtyy.
- muokkaa Apachen config-tiedostoa.
Sinulla on kaksi käyttäjän asetukset oletuksena :
- Root-Käyttäjä, joka on saanut kaikki oikeudet järjestelmän mukaan lukien Apache.,
- normaali käyttäjä, joka oletusarvoisesti ei pysty käynnistämään palvelua tai muokkaamaan mitään config-tiedostoja järjestelmässä.
tällöin sudoers-tiedosto tulee sinulle näppäräksi. Vuonna Sudoers-tiedoston, emme voi tarkalleen määritellä :
- Web-Admin-käyttäjä voi vain käynnistää Apache-Palvelu &
- Hän voi vain muokata Apache Config-tiedosto.
Pelaa kanssa Sudoers-Tiedosto
Tarpeeksi teoriaa, teemme oikeita juttuja nyt. Selitän jokaisen kohdan Sudoers-tiedostossa muutamilla esimerkeillä., Oletuksena Sudoers-tiedosto näyttää tältä.
Ensisijaisesti voimme nähdä viidestä osasta tiedosto — ensimmäiset kolme osaa tiedosto liittyvät ALIAS, Host, User ja Nicosiassa., Puhumme ALIAS myöhemmin, ensimmäinen puhutaanpa ydin kohta :
#User Privilege Specification
root ALL = (ALL:ALL) ALL
Huomautus: ’#’ tarkoittaa, kommentti-tiedoston, OS ohittaa tämän linjan suoritettaessa.,
Syntax : Käyttäjä <tilaa> OnHost = (Runas-Käyttäjä:Ryhmä) <tilaa> Komennot
Esimerkki: root ALL = (ALL:ALL) KAIKKI
Lue sitä — Käyttäjä Root voi Ajaa mitä Tahansa Komento kuin mikä Tahansa Käyttäjän minkä Tahansa Ryhmän missä Tahansa Host.
→ ensimmäisenä käytetään isäntien määrittelyä. Voimme määritellä Hostname / Ip-osoite sijaan kaikki. Kaikki tarkoittaa mitä tahansa isäntää.
→ Second ALL : Third ALL is User:Group., Sen sijaan kaikki voimme määritellä käyttäjän tai käyttäjän ryhmän kanssa, kuten käyttäjä: ryhmä. Kaikki: kaikki tarkoittaa kaikkia käyttäjiä ja kaikkia ryhmiä.
→ viimeinen kaikki on komento. Sen sijaan, että kaikki, voimme määritellä komennon tai joukon komentoja. Kaikki tarkoittaa kaikkia komentoja.
Voit laittaa sen hyvin yksinkertainen, se on ”kuka, missä = (as_whom) mitä”.
Huomautus: Useimmat ihmiset ymmärtävät, ISÄNNÄT, kuten tietokoneilta. Se on paikallinen nimi/IP-osoite., ISÄNNÄT kenttä on harvoin käytössä, jos haluat tietää enemmän siitä, ISÄNNÄT Sudoers katso → https://www.sudo.ws/man/1.7.10/sudoers.man.html
Pohjimmiltaan emme voi sallia käyttäjän tehdä jotain vain kahdella tavalla —
- Suoraan antaa hänelle luvan suorittaa komennon muuttamalla lupaa tiedosto.
- salli hänen suorittaa komento toisena käyttäjänä, jolla on jo lupa suorittaa tämä komento.
Sudoers-tiedostossa toteutamme jälkimmäisen.,
käytämme toinen esimerkki selvästi ymmärtää kentät syntaksi:
Esimerkki : sysadmin ALL = (root) /usr/bin/cat /etc/shadow
Lue tämä — Käyttäjä ”sysadmin” voi Ajaa komento ”/usr/bin/cat /etc/shadow”, kuten ROOT-käyttäjän kaikki ISÄNNÄT.
Tässä edellä olevassa esimerkissä komento § — olen lisännyt jotain enemmän kuin komento, tämä on osoitettava joustavuutta Sudoers-tiedoston avaamiseen. Osa ”/ usr/bin / cat” on binäärinen suoritustiedosto tai komento, jota käytetään tiedoston sisällön tarkasteluun., Osa ”/etc/shadow” on luottamuksellinen tiedosto, joka tallentaa salasanat, joten se tarkoittaa, että käyttäjä ”sysadmin” voi vain ajaa ”/usr/bin/cat” on ”/etc/shadow” – tiedosto, jos käyttäjä yrittää tarkastella sisältöä tahansa muu tiedosto, jota hän ei ole lukenut käyttöoikeudet, hän ei voi.,
Syntaksin Sudo komento: sudo <komento>
Esimerkki: sudo cat /etc/shadow
Nyt, jos käyttäjä ”sysadmin” käyttää sudo ennen kuin mitään komentoa, KÄYTTÖJÄRJESTELMÄ on ensin kysyä häneltä, Käyttäjät Salasana, tarkastaa salasanan ja sitten menee Sudoers-tiedoston ja tarkistaa, jos hän ei saa antaa tämän komennon koska tahansa käyttäjä. Jos hän on sallittu-menestys, muuten se ilmoittaa takaisin yhden näistä kahdesta asiasta –
→ käyttäjä ei ole Sudoers-tiedostossa. Tapauksesta tiedotetaan.,
Note : You can see this reported incident in /var/log/auth.log
→Sorry, user <username> is not allowed to execute <command> as <User> on <hostname>
Tässä, käyttäjä webadmin on sallittu vain ajaa ”cat /etc/shadow”. Mutta hän kokeili käynnissä ’kissa’ komento ”/ etc / gshadow”, joka ei ole sallittua.
koska olemme saaneet tarpeeksi otetta kentistä sudoers-tiedoston syntaksissa, siirtykäämme eteenpäin ja ymmärtäkäämme muita osioita tiedostossa. Kaikki muut osiot riippuvat jo käsittelemästämme ydinosiosta.,
seuraava kohta on KONSERNIN osa, joka on
#Salli jäsenten ryhmän sudo suorittaa minkä tahansa komennon
%sudo ALL = (ALL:ALL) ALL
Prosenttipiste symbol ’%’ käytetään kuvaamaan ryhmä Sudoers-Tiedoston avaamiseen. Kaikki kentät ja niiden toiminnot tässä osiossa ovat täsmälleen samat kuin edellisessä jaksossa — käyttäjä-osiossa. Voimme antaa samaa Sudo Oikeudet ryhmään sen sijaan, että käyttäjän määrittämällä ryhmän nimi — %<ryhmän nimi>., Niinpä kaikki ryhmän jäsenet perivät samat ryhmälle annetut etuoikeudet.
oletuksena on sudo-ryhmä, joka on määritelty Sudoers-tiedostossa. Voimme nähdä nämä käyttöoikeudet ovat täsmälleen samat kuin pääkäyttäjien käyttöoikeudet tiedostossa. Joten jos käyttäjä on tämän SUDO-ryhmän jäsen, hän voi suorittaa kaikki pääkäyttäjän suorittamat komennot.
määrittelkäämme mukautettu ryhmä ja ymmärtäkäämme syntaksi selkeämmin. Ottakaamme sama vanha järjestelmä Admin esimerkki tehdä niin. Oletetaan ei. työntekijöistä on nyt enemmän, joten järjestelmän ylläpitäjiä on nyt 3., Jokainen näistä tarvitsee samat tarkat käyttöoikeudet, jotka olimme antaneet ensimmäiselle järjestelmänvalvojalle. Yksi asia voimme tehdä tämän saavuttamiseksi on kolme merkinnät kaikki kolme järjestelmän ylläpitäjät Sudoers tiedosto. Jos noudatamme tätä lähestymistapaa, loukkaamme Sudoers-tiedoston ominaisuuksia.
Paras asia tehdä on, että ryhmän kaikki kolme Järjestelmän Ylläpitäjät ryhmään nimetty ’SystemAdminGroup’., Meidän tulee määritellä tarvittavat oikeudet tämän ryhmän kanssa —
%SystemAdminGroup ALL = (root) /usr/bin/cat /etc/shadow
Nyt kaikki kolme ylläpitäjät voivat suorittaa Komennon Etuoikeutettu. Teimme tämän yhdellä kertaa käyttämällä ryhmän määritelmää.
Sudoers-tiedosto pystyy tehostamaan koko prosessia erilaisilla toiminnallisuuksilla. Tämän saavuttamiseksi käytetään kolmea ensimmäistä osaa-peitenimiä., Kuten sana jo viittaa siihen, käytämme ALIAS jotain, jota voimme käyttää koko tiedoston, se on aivan kuin GLOBAALIN MUUTTUJAN Skripti. Miten tämä tekee kokonaisuudesta tehokkaamman? Voimme määritellä komentojen, isäntien ja käyttäjien joukon yhdellä rivillä, osoitamme tämän rivin peitenimellä, tätä peitenimeä käytetään aina ja aina tarvittaessa määrittelemättä kaikkia komentoja/isäntiä/käyttäjiä uudelleen.
haluan lisätä vielä yhden peitenimen, jota ei ole oletusarvoisesti lueteltu sudoers-tiedostossa, joka on ”Run_as ALIAS”., Nyt meillä on neljä ALIASES —
- Käyttäjän ALIAS-kuten User_Alias
- Ajaa-Kuten ALIAS, kuten Runas_Alias
- Isäntä ALIAS kuten Host_Alias
- Komento ALIAS kuten Cmnd_Alias
Huomautus : Alias nimi olisi määriteltävä isoja kirjaimia ja voi olla numero, aakkoset ja alaviiva (_). Peitenimi on aloitettava aakkostosta.,3e”>ALIAS Nimi> = <käyttäjätunnus>,<käyttäjätunnus>, <käyttäjätunnus>…
Esimerkki: User_Alias YLLÄPITÄJILLE = john,tim,tom
Käyttö: YLLÄPITÄJILLE ALL = (root) /usr/bin/cat /etc/shadow
Jos haluan joukko sudo oikeudet määritetty käyttäjille — john, tim ja tom, minun ei tarvitse määritellä sitä kolme kertaa, sen sijaan voin Aliaksen ja käyttää tätä Alias Nimi, kun delegoida sudo käyttää niitä.,
Run As ALIAS Syntax —
Runas_Alias <ALIAS Name> =<username>,<username>,<username>…
Example: Runas_Alias MGRS = root,sradmin
Usage: systemadmin ALL = (MGRS) /usr/bin/cat /etc/shadow
If i want to define the set of users a user can run a command as, i can use Runas_Alias., Älä hämmenny täällä, muista vain mestari mantra – kuka missä = (as_whom) mitä. Käytämme peitenimeä ei. käyttäjien ”as_whom” – kentässä.
Isäntä ALIAS Syntaksi —
Käyttö: systemadmin ISÄNNÄT = (root) /usr/bin/cat /etc/shadow
Jos minun täytyy määritellä joukko isäntänimiä, ip-osoitteet tai ip-osoitealue, josta käyttäjän on voitava antaa Etuoikeutettu/Sudo komentoja, voin saavuttaa tämän käyttämällä Isäntä Alias. Jälleen, tämä osa kuuluu ”missä” – kenttään Mestari Lause.