Hva betyr sudo og gjør?

«Kan noen fortelle meg hva sudo betyr?» Jeg lærer Linux. Jeg googlet men kan noen slags gi meg en Windows sammenligning jeg tror dette vil hjelpe meg litt. Jeg vet at su betyr byttebruker. sudo er å være en annen bruker, men hvordan og hvorfor? Hvorfor kan du ikke bare gi deg selv tillatelser under brukernavnet ditt?

Kommentarer

  • I windows, hvis du ikke ‘ for ikke å ha administratorrettigheter, må du oppgi navn og passord for en konto som også gjør det. Du kan selvfølgelig gi deg selv tillatelse under brukernavnet ditt, det er bare ikke smart å gjøre det, som ethvert program som kjøringen din kan deretter endre alt du har tillatelse til. Det er en av grunnene til at Windows har vært utrygt så lenge.
  • @KnowledgeBeyondMe: Hva er det med emnet for spørsmålet? Endre det til noe meningsfylt.
  • ok, så la meg se om jeg forstår dette. I stedet for at folk har administratorkontoer, har alle potensialet til å være administrator ved å bruke sudo-brukernavnet. Men ved å bruke det sudo-brukernavnet ditt handlinger vil bli logget tilbake til deg fordi det er som et helvete utenfor det faktiske brukernavnet ditt. Hvis dette er tilfelle, liker jeg det virkelig. Det sparer mange timer. Du trenger ikke ‘ t må vente på at noen med privatpersoner kommer til deg for å legge til programvare og skrivere og slikt.

Svar

sudo lar deg kjøre et program som root-superbruker . Ved å bruke den i stedet for su,

  1. trenger du ikke å vite rotpassordet fordi det ber om passordet ditt,
  2. du vet eksplisitt hvilke kommandoer som vil kjøre som roten og hvilke andre som deg. Hvis du bruker su, har du et skall og kan utilsiktet kjøre noen (farlige) programmer, og
  3. alle dine handlinger er logget inn i auth.log fil. Handlinger i et skall, for eksempel en som er initiert av su logges vanligvis ikke .

Hvorfor kan du ikke bare gi deg selv tillatelser under brukernavnet ditt?

For sikkerhetsgrunner, rotkontoen brukes sjelden til daglige formål . Vanligvis bruker alle brukerne, inkludert administratorer, en «vanlig» bruker og utfører bare kommandoer som root når det er nødvendig. Dette kan forhindre (1) uautorisert tilgang til filer fra andre brukere, (2) ikke-loggede rothandlinger og (3) problemer forårsaket av å utføre «farlige» programmer.

Der er en analogi i Wikipedia du kan vurdere:

  • Å bruke en rotkonto er som å være Superman; en administrator er vanlig brukeren er mer som Clark Kent. Clark Kent blir Supermann bare så lenge det er nødvendig for å redde folk. Deretter går han tilbake til sin «forkledning». Rottilgang bør brukes på samme måte. Clark Kent-forkledningen begrenser ham imidlertid ikke, siden han fremdeles er i stand til å bruke superkreftene sine. Dette er analogt med bruk av sudo-programmet.

Kommentarer

  • Å bruke sudo er som å være Goofy til du spiser en super peanøtt som gjør deg til Super Goof. Superkreftene dine slites av etter en timeout (standard 15 minutter), og deretter blir du bedt om en ny peanøtt … er, passordet ditt.
  • ok, så la meg se om jeg forstår dette. I stedet for at folk har administratorkontoer, har alle potensialet til å være administrator ved å bruke sudo-brukernavnet. Ved å bruke det sudo-brukernavnet blir handlingene dine logget tilbake til deg fordi det er som et helvete av det faktiske brukernavnet ditt. Hvis dette er slik, liker jeg det. Det sparer tonn Du trenger ikke ‘ ikke å vente på at noen med hemmeligheter kommer til deg for å legge til programvare og skrivere og slikt.
  • @KnowledgeBeyondMe Alle har mektig ial for å være administrator, men du må fortsatt være autorisert ved å være oppført i /etc/sudoers. Det er noen andre fordeler med sudo fremfor su, men hovedpoenget med sudo er at du autentiserer ved hjelp av ditt eget passord. Delte passord er dårlige.
  • Du må autorisere folk, inkludert dem i /etc/sudoers eller ved hjelp av andre teknikker , for å kjøre sudo. Vanligvis autoriserer du ikke alle menneskene, bare systemadministratorer.

Svar

Som standard på de fleste enheter , «administrator» -kontoen, root, skal bare brukes sparsomt. Det er bare to nivåer av administratorrettigheter, eller «superbruker», rettigheter på et normalt Unix-system: Du har enten full kontroll over alt , eller så har du ikke det.

«Full kontroll» inkluderer å omgå de fleste tillatelseskontroller og å ødelegge systemet helt ved å skrive feil. Som vanlig bruker kan du maksimalt bare slette dine egne filer.

Det eldre su verktøyet brukes sammen med rotpassordet for å anta rotidentiteten, men kan også brukes til å anta andre brukeres identiteter, eller til å utføre enkeltkommandoer som dem, gitt at du tilhører riktig brukergruppe og kjenner deres passord.

su brukes ofte av rotbrukeren (på noen Unix-systemer) for å starte demoner (serviceprosesser) som må kjøres under bestemte brukeridentiteter for å beskytte dem mot tilgang til områder som de ikke burde ha tilgang til (vanligvis webservere, SSH-server og lignende). Dette kan gjøres i oppstartsskript når systemet starter.

su brukes sjeldnere interaktivt (på kommandolinjen).

sudo -verktøyet krever litt mer konfigurasjon ettersom det lar brukeren utføre kommandoer som en annen bruker ved å bruke sitt eget passord (som betyr at et rotpassord for eksempel ikke trenger å deles), og det gir også mulighet for finkornet kontroll av hvem som har lov til å gjøre nøyaktig hva. Man kan for eksempel gi en enkelt bruker, eller en hel gruppe brukere, muligheten til å montere en bestemt disk, men ikke å demontere den eller å montere andre disker, eller å installere programvare ved hjelp av spesifikke kommandoer etc. Igjen, sudo verktøy gjør det mulig å anta andre brukeres identiteter (ikke bare rot) for interaktive økter, eller for å utføre enkeltkommandoer (hvis konfigurasjonen er satt opp på denne måten av en annen person med root tillatelser).

Vanligvis vil man kjøre enkeltkommandoer ved hjelp av sudo (derav navnet «superbruker gjør»):

$ sudo apt-get install vim 

eller

$ sudo shutdown -ph now 

Å bruke sudo på denne måten foretrekkes fremfor å bruke sudo -s og arbeid med et interaktivt rotskall, fordi kommandoene du utfører er logget. man kan senere spore handlingene i loggfilen for å se hvor (og hvem) gjorde noe, enten for feilsøking eller for revisjon.

Hvis du finner deg selv typi bort fra en interaktiv rotmelding i lengre tid, bør du revurdere hva du gjør, og hvis det virkelig krever rotprivilegier.

Som eksempel, den eneste gangen I ta opp en interaktiv rotprompt er når jeg legger til en vanlig bruker for meg selv på en nyinstallert maskin, eller når jeg virkelig har noen alvorlige problemer som forhindrer meg i å til og med logge inn som en vanlig bruker.


OpenBSD (siden versjon 5.8) har et verktøy kalt doas som erstatter sudo i standard systeminstallasjon. Den ble utviklet da det ble klart at sudo hadde blitt for komplisert til å passe målene som ble lagt ut av utviklerne av OpenBSD. Bruken av den ligner på sudo, men å konfigurere det er lettere .

Svar

I tidlige versjoner av Unix var det vanligste scenariet å være logget inn via en terminal uten vindussystem. Su-kommandoen (erstatningsbruker) var en praktisk måte å endre dine nåværende tillatelser uten å logge av. Husk at uten et vindusvindu ville det å stoppe det du hadde kjørt, logge ut.

Å bruke su til å bli root har noen irriterende problemer. Folk glemmer av og til å avslutte økten og ved et uhell kjøre kommandoer som rot. Å endre det administrative passordet ble komplisert av at du trengte å distribuere det til alle som trengte det. De fleste systemene logget ikke hver kommando, så det var vanskelig å fortelle hvem som gjorde hva som root. Og så videre.

sudo adresserte disse problemene ved å la folk kjøre en enkelt kommando som rot. Det gir bedre revisjon og kontroll, samtidig som det er litt mer praktisk for engangskommandoer.

Svar

ok, så la meg se om jeg forstår dette. I stedet for at folk har administratorkontoer, har alle potensialet til å være administrator ved å bruke sudo-brukernavnet. Imidlertid, ved å bruke det sudo-brukernavnet, blir handlingene dine logget tilbake til deg fordi det er som et helvete utenfor ditt faktiske brukernavn. Hvis dette er slik, liker jeg virkelig det. Det sparer massevis av tid. Du trenger ikke å vente på at noen med private vil komme til deg for å legge til programvare og skrivere og slikt.

Kommentarer

  • sudo er et verktøy, ikke et brukernavn. Noen må fortsatt gi deg retten til å bruke sudo. Retten kan være begrenset til bruk av bestemte kommandoer, eller for å bruke sudo til å anta spesifikke andre brukeridentiteter. sudo kan brukes til å bytte til andre roller enn bare root.
  • å så det er som Active Directory organisasjonsgrupper? Du har ditt eget brukernavn med privilegier, men hvis du får tillatelse, kan du få tilgang til rettigheter til en spesialisert organisasjon. ORG i denne forstand ville være SUDO-verktøyet?
  • Vet ikke hva en » Active Directory » er, Jeg kan ‘ t si ja eller nei til det med sikkerhet.
  • Kontrollmekanisme for rettigheter og roller i windows.
  • Nei, sudo er ikke en gruppe eller en brukerkonto. – I Windows, Active Directory og LDAP kan du definere brukergrupper. I Linux kan du også definere brukergrupper. For eksempel har Linux vanligvis en admin -gruppe. Hver bruker kan tilhøre en primærgruppe og flere sekundære grupper . – Du kan autorisere sudo til alle medlemmene i en gruppe . Hvis du sjekker /etc/sudoers, har de autoriserte gruppene et % prefiks.

Svar

sudo lar deg kjøre et program som en annen bruker (inkludert root) basert på et konfigurerbart, forhåndsdefinert sett med regler.

På en Unix / POSIX / Linux-systemrot er gud. Rotbrukeren er også entall.

I mange miljøer er det flere administratorer som kan kreve full root-tilgang, men det kan også være personer som trenger tilgang til å gjøre en bestemt funksjon som vanligvis er reservert for root; DBA-er må stoppe og starte DB-tjenester, redigere DB-konfigurasjonsfiler, nettverksadministratorer trenger å konfigurere nettverksenheter og -ruter, sikkerhetsadministratorer må administrere sertifikater og konfigurere brannmurer.

Ved å begrense hvilke kommandoer en person kan kjøre, bruker sudo prinsippet om minst privilegium – brukere får ikke tilgang de ikke trenger. Men det er ikke bare å begrense binærfiler som brukerne kjører. Mange admin-oppgaver utføres fra kommandolinjen – og parametrene som sendes til den kommandoen kan også begrenses av sudo (eller fanges opp i et skallskript med tilgang gitt av sudo), og det er derfor mulig å begrense data / enheter som disse spesialiserte administratorer har tilgang.

Hvorfor kan du ikke bare gi deg selv tillatelser under brukernavnet ditt?

1) dette ville være dårlig.

  • Jeg har ofte hatt tilgang til root-kontoen på systemer – men jeg oppretter alltid en navngitt konto som skal brukes til pålogging , og bare «su» eller «sudo» når jeg vil påberope meg superkreftene mine. I tillegg til å unngå dumme feil, gir den navngitte kontoen min en sandkasse for alle komponenter som ikke oppfører seg.

  • hva om det er 5 personer som trenger privilegert tilgang, gir jeg det til hver og en? Hva med 20? Hva med 200?

2) dette ville være vanskelig

  • det er ikke Unix sikkerhetsmodell. Sikker på at du kan endre tillatelsene til noen kjørbare filer (se tidligere merknad om parametere). Men hvis du er sikkerhetsbevisst, bruker du oppdateringer regelmessig – noe som kan undergrave en tilpasset tillatelsesmodell (sudo OTOH opprettholder tillatelsene uavhengig av kommandoene selv).

Kommentarer

  • ahhh, dette er grunnen til at Linux er litt vanskeligere å angripe. Mindre mennesker med rettigheter. Angriperen måtte finne den rette personen med de rette rettighetene. per se.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *