Linux-brukergrupper. Brukere og grupper i Linux. Legger til slette redigerende brukere Kontobekreftelse

Grunnlaget for fordeling av adgangsrettigheter på operasjonsstuen Linux system ligger på begrepet bruker. Brukeren som eier filen får visse tillatelser til å jobbe med den, nemlig å lese, skrive og kjøre. Lese-, skrive- og utføringstillatelser angis også separat for alle andre brukere. Siden alt i Linux er en fil, lar et slikt system deg regulere tilgangen til enhver handling i dette operativsystemet ved å angi filtilgangsrettigheter. Men selv da de lagde Linux, innså utviklerne at dette tydeligvis ikke var nok.

Det er derfor brukergrupper ble oppfunnet. Brukere kan slå seg sammen i grupper for å gi gruppene de nødvendige tillatelsene til å få tilgang til visse filer, og følgelig handlinger. I denne artikkelen skal vi se på brukergrupper i Linux, se på hvorfor de trengs, hvordan legge til en bruker i en gruppe og administrere grupper.

Som jeg allerede sa, dukket det opp grupper i Linux helt i begynnelsen av utviklingen av dette operativsystemet. De ble designet for å forbedre rettighetsadministrasjonsevnene. La oss se på et lite eksempel, la oss ta en organisasjon der det bare er én datamaskin, vi har administratorer og brukere. Hver person har sin egen konto på datamaskinen vår. Administratorer kan tilpasse systemet, men det er bedre å ikke gi brukerne frie tøyler for ikke å ødelegge noe. Derfor slår administratorer seg sammen admin gruppe, og hun får tilgang til alt utstyret, faktisk til alle filene i dev-katalogen, og brukere samlet i brukergruppen, og denne gruppen får muligheten til å lese og skrive filer til en felles katalog, der de kan utveksle resultatene av arbeidet sitt. Vi kan tildele rettigheter for hver bruker separat, slik at han får tilgang til en bestemt fil, men dette er for upraktisk. Det er derfor grupper ble oppfunnet. Du sier, det er greit, kan jeg utnevne deg? Vel, se for deg at brukerne våre er prosesser. Det er her skjønnheten med grupper kommer frem; grupper brukes ikke så mye for å gi brukere tilgang, men for å administrere programrettigheter, spesielt deres tilgang til maskinvare. Det opprettes separate grupper for tjenester og brukeren på hvis vegne den er lansert; en tjeneste kan være medlem av flere grupper, som gir den tilgang til visse ressurser.

La oss nå se på hvordan du ser på Linux-grupper.

Grupper i Linux

Alle grupper som er opprettet på systemet er plassert i filen /etc/group. Ved å se på innholdet i denne filen, kan du finne ut listen over Linux-grupper som allerede er på systemet ditt. Og du vil bli overrasket.

I tillegg til standardroten og brukere, er det et par dusin flere grupper her. Dette er grupper opprettet av programmer for å kontrollere disse programmenes tilgang til delte ressurser. Hver gruppe lar lese eller skrive spesifikk fil eller systemkatalog, og regulerer dermed tillatelsene til brukeren, og derfor prosessen som ble startet fra denne brukeren. Her kan vi vurdere at en bruker er det samme som en prosess, fordi prosessen har alle rettighetene til brukeren som den startes fra.

La oss se nærmere på hver av gruppene for bedre å forstå hvorfor de trengs:

  • demon- Tjenester som trenger muligheten til å skrive filer til disk, lanseres på vegne av denne gruppen og daemon-brukeren.
  • sys- gruppen gir tilgang til kjernekilder og inkluderer filer som er lagret i systemet
  • synkronisere- lar deg utføre /bin/sync-kommandoen
  • spill- Lar spill skrive innstillingsfiler og historikk til en bestemt mappe
  • Mann- lar deg legge til sider i /var/cache/man-katalogen
  • lp- tillater bruk av parallellportenheter
  • post- lar deg skrive data til postkasser/var/mail/
  • proxy- brukes av proxy-servere, ingen tilgang til å skrive filer til disk
  • www-data- webserveren starter med denne gruppen, den gir tilgang til /var/www-oppføringen, hvor webdokumentfilene er plassert
  • liste- lar deg se meldinger i /var/mail
  • noggruppe- brukes til prosesser som ikke kan lage filer på harddisken, men bare lese dem, vanligvis brukt sammen med nobody-brukeren.
  • adm- lar deg lese logger fra /var/log-katalogen
  • tty- alle enheter /dev/vca tillater lese- og skrivetilgang til brukere fra denne gruppen
  • disk- åpner tilgang til harddisker /dev/sd* /dev/hd*, vi kan si at dette er en analog av root-tilgang.
  • oppringing - full tilgang til seriell port
  • CD ROM- tilgang til CD-ROM
  • hjul- lar deg kjøre sudo-verktøyet for å eskalere privilegier
  • lyd- lyddriverstyring
  • src- full tilgang til kildene i katalogen /usr/src/
  • skygge- lar deg lese filen /etc/shadow
  • utmp- tillater skriving til filer /var/log/utmp /var/log/wtmp
  • video- lar deg jobbe med videodriveren
  • plugdev- lar deg montere eksterne enheter USB, CD osv
  • personale- tillater skriving til /usr/local-mappen

Nå som du vet hvorfor du bruker grupper i Linux og hva de er som standard, la oss se på administrasjon av LInux-grupper.

Linux Group Management

Du kan også administrere grupper ved hjelp av det grafiske grensesnittet. KDE har et program kalt Kuser spesielt utviklet for dette, og i Gnome gjøres det ved å bruke systeminnstillingene. I tillegg har populære distribusjoner separate verktøy som YaST i OpenSUSE eller Ubuntu-innstillinger. Nese grafisk grensesnitt Jeg tror du finner ut av det. Og vi vil se på å administrere Linux-grupper gjennom terminalen. Først, la oss håndtere filene, og først da med brukerne.

Når en fil opprettes, tildeles den primærgruppen til brukeren som opprettet den. Det er akkurat slik:

Her kan du se at eieren av alle mappene er sergiy og gruppen er også sergiy. Riktig, siden disse brukerne ble opprettet av meg. Men la oss gå videre:

Her ser vi at sd*-diskenhetene er tilordnet diskgruppen, som alt betyr at en bruker som tilhører denne gruppen kan få tilgang til dem. Eller et annet eksempel:

Alt er som vi diskuterte i forrige avsnitt. Men disse gruppene kan ikke bare settes av systemet, men du kan selv endre filgrupper manuelt; for dette er det chgrp-kommandoen:

chgrp gruppenavn filnavn

La oss for eksempel lage en filtest:

Og la oss endre gruppen for det:

Hvis du vil opprette en linux-gruppe, kan du gjøre dette med newgrp-kommandoen:

sudo groupadd test

Situasjonen med brukere er litt mer komplisert. Brukeren har en hovedgruppe, som spesifiseres under opprettelsen, samt flere ekstra. Hovedgruppen skiller seg fra de vanlige ved at alle filer i brukerens hjemmekatalog har denne gruppen, og når den endres vil også gruppen av disse katalogene endres. Alle filer opprettet av brukeren mottar også denne gruppen. Ytterligere grupper er nødvendig slik at vi kan gi brukere tilgang til forskjellige ressurser ved å legge dem til disse gruppene i Linux.

Administrering av Linux-grupper for en bruker gjøres ved å bruke usermod-kommandoen. La oss se på syntaksen og alternativene:

$usermod alternativer Brukernavn

  • -G- flere grupper som du må legge til brukeren i
  • -g endre primærgruppe for bruker
  • -R fjerne en bruker fra en gruppe.

Du kan legge til en bruker i en gruppe ved å bruke kommandoen usermod:

sudo usermod -G -a gruppenavn brukernavn

Du kan legge til en bruker i linux-gruppen midlertidig ved å bruke newgrp-kommandoen. Et nytt skall åpnes, og i det vil brukeren ha de nødvendige tillatelsene, men etter lukking vil alt gå tilbake som det var:

sudo newgrp gruppenavn

Som et eksempel, la oss legge til brukeren vår i diskgruppen slik at vi kan få direkte tilgang til harddiskene uten sudo-kommandoen:

sudo usermod -G -a disk sergiy

Nå kan du montere disker uten sudo-kommandoen:

monter /dev/sda1 /mnt

Du kan se linux-gruppene der brukeren er medlem med kommandoen:

Du kan også bruke id-kommandoen. I det første tilfellet ser vi ganske enkelt en liste over Linux-grupper; i det andre er gruppen og bruker-IDen angitt i tillegg. For å legge til en bruker i en Linux-gruppe, bruk -g-alternativet for primærgruppen.

La oss opprette brukeren vivek og legge ham til i utviklergruppen. Logg inn som root-bruker:

La oss for eksempel legge til en bruker vivek:

brukeradd -g brukere -G-administratorer,ftp,www,utviklere -s/bin/bash -sxxxx-d/hjem/spøkelse -m vivek

  • -d hjemmekatalog
  • -s angi startskallet (/bin/sh) - du kan deretter endre det i filen /etc/passwd
  • -s passord
  • -g primær gruppe som brukeren er tildelt (gruppen må eksistere)
  • -G andre grupper som brukeren er tildelt
  • -m opprette en hjemmekatalog for brukeren
  • xxxx tegn brukerpassord

La oss sørge for at utviklergruppen eksisterer:

# grep utviklere /etc/group

Hvis det ikke er noen gruppe, bruk kommandoen gruppeadd for å opprette en ny utviklergruppe:

Bruker nå kommandoen brukermod legg til brukeren vivek til utviklergruppen:

# adduser vivek utviklere && newgrp utviklere

La oss sørge for at brukeren legges til i utviklergruppen:

#id vivek
Produksjon:
uid=1122(vivek) gid=1125(vivek) grupper=1125(vivek),1124(utviklere)

Angi/endre passordet for vivek-brukeren:

La oss leke med grupper

La oss fortelle brukeren vivek å bare delta i utviklergruppen

brukermod-G utviklere vivek

La oss fortelle brukeren vivek å delta kun i admins, ftp, www, utviklere-gruppene ved å skrive inn:

# usermod -G admins,ftp,www,utviklere vivek

La oss fjerne brukeren vivek fra noen grupper (tilordne gruppene til ham på nytt):

# usermod -G ftp,www vivek

nå er ikke vivek inkludert i administrator- og utviklergruppene.

Merk: team brukermod vil ikke endre brukernavnet hvis den brukeren er inne dette øyeblikket fungerer i systemet.

brukerdel— slett bruker

Slett for eksempel brukeren vivek:

  • -r slett brukeren sammen med hjemmekatalogen

Detaljert SYNTAKS

brukeradd [-u identifikator[-o] [-i]] [-g gruppe] [-G gruppe[[,gruppe] . . .]] [-d katalog] [-s skall] [-c en kommentar] [-m [-k skel_dir]] [-f inaktiv] [-e utløpe] [-s passgen] [-a begivenhet[, . . .]] reg_navn

Detaljert beskrivelse

Anrop brukeradd legger vanligvis til en ny brukeroppføring i systemdatafilene identifikasjon og identitetsverifisering(Identifisering og autentisering - I&A). Unntaket er brukere nettverksinformasjonstjeneste(Nettverksinformasjonstjeneste eller forkortet NIS). Den lar deg også spesifisere medlemskap i flere grupper for brukeren (alternativ -G) og lag en startkatalog for den (alternativ -m). Den nye påloggingen er blokkert til kommandoen utføres passwd.

Umiddelbart etter installasjonen er standardverdiene for ulike parametere angitt i filen /etc/default/useradd. Standardverdiene for de alternativene som er oppført nedenfor som krever standardverdier kan endres ved hjelp av kommandoen defadm.

Innlegg systemfil, opprettet med denne kommandoen, har en lengdegrense på 512 tegn per linje. Hvis flere alternativer gis lange argumenter, kan denne begrensningen bli brutt.

Følgende alternativer støttes:

-u identifikator Brukeridentifikasjonsnummer (UID). Dette tallet må være et ikke-negativt heltall som ikke er større enn MAXUID, definert i sys/param.h. Standard er den neste tilgjengelige (unike) ikke-legacy UID større enn 99. Dette alternativet ignoreres hvis den nye påloggingen vil bli administrert av Network Information Service (NIS). For mer informasjon om dette, se delen "Registreringsnavn for nettverksinformasjonstjenester" nedenfor.
-o Dette alternativet lar deg duplisere UID (gjør det uunikt). Siden beskyttelsen av systemet som helhet, så vel som integriteten revisjonsspor(revisjonsspor) og regnskaps informasjon(regnskapsinformasjon) avhenger spesielt av den unike korrespondansen til hver UID til en spesifikk person, bruk av dette alternativet anbefales ikke (for å sikre at brukerhandlinger blir tatt hensyn til).
-Jeg Tillater bruk av en eldre UID.
-g gruppe Heltallsidentifikatoren eller symbolnavnet til en eksisterende gruppe. Dette alternativet spesifiserer kjernegruppe(primærgruppe) for en ny bruker. Som standard brukes standardgruppen angitt i filen /etc/default/useradd
-G-gruppe[[,gruppe] . . .] Ett eller flere elementer i en kommadelt liste, som hver representerer en heltallsidentifikator eller symbolsk navn på en eksisterende gruppe. Denne listen definerer medlemskap i tilleggsgrupper(tilleggsgruppemedlemskap) for brukeren. Repetisjoner ignoreres. Antall elementer i listen bør ikke overstige NGROUPS_MAX- 1, siden det totale antallet ekstra grupper for en bruker pluss hovedgruppen ikke bør overstige NGROUPS_MAX. Dette alternativet ignoreres hvis den nye påloggingen vil bli administrert av Network Information Service (NIS). Se "Registreringsnavn for nettverksinformasjonstjenester" nedenfor.
-d katalog Start katalogen(hjemmekatalog) til den nye brukeren. Lengden på dette feltet må ikke overstige 256 tegn. Standard er HOMEDIR/reg_name, Hvor HOMEDIR- basiskatalogen for de første katalogene til nye brukere, og reg_navn- registreringsnavnet til den nye brukeren.
-s skall Den fullstendige banen til programmet brukes som det første skallet for brukeren umiddelbart etter registrering. Lengden på dette feltet må ikke overstige 256 tegn. Som standard er dette feltet tomt, noe som tvinger systemet til å bruke standard kommandotolk /usr/bin/sh. Som en verdi skall en eksisterende kjørbar fil må spesifiseres.
-c kommentar En hvilken som helst tekststreng. Vanligvis dette Kort beskrivelse registreringsnavn og brukes nå til å angi etternavnet og fornavnet til den virkelige brukeren. Denne informasjonen lagres i brukerposten i en fil /etc/passwd. Lengden på dette feltet må ikke overstige 128 tegn.
-m Oppretter en ny brukers hjemmekatalog hvis den ikke allerede eksisterer. Hvis katalogen allerede eksisterer, må brukeren som legges til ha tillatelse til å få tilgang til den angitte katalogen.
-k skel_dir Kopierer innholdet i en katalog skel_dir til den nye brukerens hjemmekatalog, i stedet for innholdet i standard "skjelett"-katalogen, /etc/skel. Katalog skel_dir må eksistere. Standard "skjelett"-katalogen inneholder standardfiler som definerer brukerens arbeidsmiljø. Administrator-spesifisert katalog skel_dir kan inneholde lignende filer og kataloger opprettet for et bestemt formål.
-f inaktiv Maksimalt antall dager tillatt mellom bruk av et registreringsnavn før navnet allerede er erklært ugyldig. Vanligvis er verdiene positive heltall.
-e utløper Datoen da registreringsnavnet ikke lenger kan brukes; Etter denne datoen vil ingen bruker kunne få tilgang under dette påloggingsnavnet. (Dette alternativet er nyttig når du oppretter midlertidige pålogginger.) Skriv inn en argumentverdi utløpe(som representerer en dato) kan være i et hvilket som helst format (unntatt juliansk dato). Du kan for eksempel skrive inn 6.10.99 eller 6. oktober 1999.
-p passgen Indikerer at FLAG-feltet i filen /etc/shadow må settes til den angitte verdien. Dette feltet åpnes av kommandoen passwd for å finne ut om passordgeneratoren er gyldig for en gitt bruker. Hvis alternativet -s ikke eksplisitt spesifisert, oppføringen er sjekket FORCED_PASS i fil /etc/default/useradd for å bestemme verdien for det tilsvarende feltet i /etc/shadow. Hvis poster FORCED_PASS nei inn /etc/default/useradd, i det tilsvarende feltet for oppføringen i /etc/shadow det spiller ingen rolle. Hvis verdien FORCED_PASS tilsvarer 1, inngang i /etc/shadow får verdien 1. Hvis verdien passgen ikke er tom og ikke er et utskrivbart ASCII-tegn, sendes det en diagnosemelding.
-et arrangement Liste over hendelsestyper eller klasser, atskilt med kommaer, dannes revisjonsmaske(revisjonsmaske) for brukeren. Umiddelbart etter installasjon av systemet er det ingen standard revisjonsmaske for brukeren, men den kan settes i filen /etc/default/useradd ved å bruke kommandoen defadm. Dette alternativet kan bare brukes hvis revisjonsverktøy er installert. (For å finne ut hvilke pakker som er installert på systemet, kjør kommandoen pkginfo.)
reg_navn En utskrivbar streng som spesifiserer påloggingsnavnet for den nye brukeren. Den skal ikke inneholde kolon ( : ) og linjeskifttegn ( \n). Det bør heller ikke starte med stor bokstav.

Merk at mange av standardverdiene for parameterne diskutert ovenfor kan endres ved hjelp av kommandoen defadm, designet for å fungere med en fil /etc/default/useradd. Disse standardverdiene gjelder kun for lokale brukere. For NIS-brukere er standardverdier satt i Network Information Service-databasen. For å endre NIS-standarder må du spesifisere alternativer på kommandolinjen.

Registreringsnavn for nettverksinformasjonstjenester

Hvis påloggingsnavnet begynner med tegnet + , (For eksempel, +chris), vil brukerdefinisjonen bli administrert av Network Information Service (NIS). Standardverdier vil bli bestemt basert på NIS-databasen i stedet for filen /etc/defaults/useradd. Argumentverdier for alternativer -u, -g Og -G ignoreres stille hvis disse alternativene er spesifisert. I stedet vil bruker-ID-en og gruppe-ID-verdiene bli hentet fra NIS-databasen. Se hjelpesiden for detaljer. passwd. Vær oppmerksom på at når du legger til en NIS-bruker, må påloggingen allerede eksistere i NIS-databasen. For eksempel for å legge til et påloggingsnavn Chris som NIS brukernavn, Chris må allerede eksistere i NIS-databasen. Da må du ringe brukeradd med registreringsnavn +chris for å indikere at en bruker må legges til Chris som NIS-bruker, ikke som lokal bruker.

FILER

/etc/default/useradd
/etc/group
/etc/passwd
/etc/security/ia/ageduid
/etc/security/ia/revisjon(hvis revisjonsverktøy er installert)
/etc/security/ia/index
/etc/security/ia/master
/etc/shadow
/etc/skel

DIAGNOSTIKK

Team brukeradd avsluttes med returkode 0 hvis vellykket. Hvis det oppstår feil, kan følgende meldinger vises:


Ugyldig syntaks kommandolinje.
Kommandolinjesyntaksen var ugyldig.
Et ugyldig argument ble spesifisert i alternativet.
Et ugyldig argument ble gitt med et alternativ.
Identifikatoren spesifisert i -u-alternativet er allerede i bruk, men -o-alternativet er ikke spesifisert.
Uid-en spesifisert med -u-alternativet er allerede i bruk og -o-alternativet ble ikke spesifisert.
Gruppen spesifisert med -g-alternativet eksisterer ikke.
Gruppen spesifisert med -g-alternativet gjør det finnes ikke.
Påloggingsnavnet som er oppgitt er ikke unikt.
Den angitte påloggingen er ikke unik.
Kunne ikke endre /etc/group. Påloggingen legges til /etc/passwd-filen, men ikke til /etc/group-filen.
Kan ikke oppdatere /etc/group. Påloggingen ble lagt til /etc/passwd-filen, men ikke til /etc/group-filen.
Startkatalogen kunne ikke opprettes (med alternativet -m) eller kopiering av skel_dir til startkatalogen mislyktes.
Kan ikke opprette hjemmekatalogen (med alternativet -m) eller kan ikke fullføre kopien av skel_dir til hjemmekatalogen.
ID-en er ikke gammel nok. Velg en annen.
uid ikke eldes tilstrekkelig. Velg en annen.
Et ugyldig -a-alternativ ble spesifisert; systemtjenesten er ikke installert.
Et ugyldig alternativ -a ble spesifisert; systemtjenesten er ikke installert.
Den angitte revisjonshendelsestypen eller klassen er ugyldig.
En ugyldig type revisjonshendelse eller klassehendelse ble spesifisert.

Systemer som gir tilgang til flere brukere, enten operativsystem OS, programvare(programvare), innholdsstyringssystem (CMS), er det svært viktig å ha verktøy for pålitelig administrasjon av brukere (deres kontoer eller kontoer, brukerkonfigurasjoner, hjemmekataloger, etc.), samt for å organisere og administrere brukertilgangen selv. I slike tilfeller er kompetent og gjennomtenkt administrasjon av brukere (nærmere bestemt kontoene deres) et nøkkelaspekt som sikkerheten, stabiliteten og som et resultat av påliteligheten til hele systemet avhenger av. Moderne Linux-distribusjoner har automatiserte systemer brukeradministrasjon med tydelig grafikk brukergrensesnitt(GUI), som lar deg raskt og enkelt utføre rutinemessige (som det viser seg i virkeligheten) aktiviteter for å administrere brukere og konfigurere deres kontoer. Det er imidlertid svært viktig å vite og forstå hvordan og hvilke faktiske prosesser og endringer som skjer i selve systemet under brukeradministrasjon.

Legge til brukere i Linux

For å legge til en ny bruker ved navn John til systemet, kjør ganske enkelt kommandoen:

$sudo useradd john

Dette vil opprette følgende oppføring i filen /etc/passwd:

John:x:535:20: :/home/john:/bin/sh

Imidlertid laget brukeradd har mye større muligheter, for eksempel:

$ sudo useradd -c "John Silver" -d /home/pirates/john -g pirates -G john -m -s /bin/bash john

Denne kommandoen vil legge til en bruker med fullt navn "John Silver" og påloggingsnavn "john" til systemet. Å inkludere ham i hovedgruppen "pirater", vil også legge ham til en annen gruppe "john" og tildele ham en hjemmekatalog på /home/pirates/john. Som et resultat vil den tilsvarende oppføringen i filen /etc/passwd være noe slikt:

John:x:535:30:John Silver:/home/pirates/john:/bin/bash

Team brukeradd oppretter automatisk brukerens hjemmekatalog hvis den ikke allerede er opprettet. A kopierer også filer fra /etc/skel/ inn i den.

Full liste over parametere brukeradd

Bruk: useradd [alternativer] USER
brukeradd -D
useradd -D [alternativer]

Alternativer:
-b, --base-dir BAZ_KAT basiskatalog for hjemmekatalogen til den nye
regnskap
-c, --kommentar KOMMENTAR-feltet GECOS for den nye kontoen
-d, --home-dir DOM_KAT hjemmekatalog for den nye kontoen
-D, --standarder viser eller endrer innstillinger
standard for useradd
-e, --expiredate DATE_STATE utløpsdatoen for den nye kontoen
-f, —inaktiv INAKTIVITET periode med inaktivitet for det nye kontopassordet
-g, --gid GROUP navn eller ID for primærgruppen til den nye
regnskap
-G, --groups GROUPS liste over ekstra grupper av den nye
regnskap
-k, --skel CAB_SHAB bruker en alternativ katalog med maler
-K, --key KEY=VERDI erstatte standardverdi
fra /etc/login.defs
-l, --no-log-init legg ikke brukeren til lastlog-databasene og
feillogg
-m, --create-home opprett brukerens hjemmekatalog
-M, --no-create-home ikke opprette brukerens hjemmekatalog
-N, --no-user-group ikke opprette en gruppe med samme navn som
bruker
-o, --non-unique tillate opprettelse av brukere med
repeterende (ikke unike) UID-er
-s, --password PASSORD kryptert passord for den nye kontoen
-r, --system opprette en systemkonto
-R
-s, --shell SHELL registreringsskall til den nye
regnskap
-u, —uid UID bruker-ID for den nye kontoen
-U, --user-group opprette en gruppe med samme navn som
bruker
-Z, --selinux-user SEUSER bruk spesifisert SEUSER for
SELinux tilpasset kartlegging

Opprette og tilordne en hjemmekatalog til en bruker

Vanligvis opprettes en hjemmekatalog automatisk når en bruker legges til systemet. Men det er tider når hjemmekatalogen av en eller annen grunn ikke er opprettet. Og da er det behov for å lage det. For å opprette en brukers hjemmekatalog, bruk standard mkdir-kommandoen. Etter dette må du kopiere de nødvendige konfigurasjonsskriptene til hjemmekatalogen (for å organisere brukerens arbeidsmiljø), og deretter, ved å bruke chown- og chmod-kommandoene, angi eier- og tilgangsmodus til katalogen og dens innhold. Dette gjøres best etter at alle konfigurasjonsfilene har blitt kopiert til målkatalogen. For eksempel:

$ mkdir /home/john/ $ cd /etc/skel/ $ cp -Rp . /home/john/ $ chown -R john:john /home/john/ $ chmod -R 644 /home/john/ $ finn /home/john/ -type d -exec chmod 755 () \;

Som du kan se, ble konfigurasjonsfilene kopiert fra /etc/skel/-katalogen - det er her eksempler på lanseringskonfigurasjoner er lagret, som kan redigeres etter behov. Forresten, en modifisert kopi av filene fra /etc/skel/-katalogen bør lagres i usr/local/etc/skel-katalogen. Når du angir eieren av hjemmekatalogen, må du sørge for at (i tilfelle uforsiktig bruk av chown-kommandoen) brukeren ikke blir eier av pseudokatalogen "..", dvs. katalognivået over, som ofte er /home-katalogen, som av sikkerhetsgrunner er uakseptabel.

Opprette et passord for en bruker

Av sikkerhetshensyn må kontoen din ha et sterkt passord. Som bør settes umiddelbart etter at du har opprettet en brukerkonto:

$ sudo passwd name_of_new_user

For eksempel, for bruker jonh:

$ sudo passwd john Nytt passord: Skriv inn det nye passordet på nytt: passwd: Alle autentiseringsdata har blitt oppdatert.

Konto bekreftelse

Før du overfører detaljene og det første passordet for å logge på kontoen din til en ny bruker, må det verifiseres. For å gjøre dette, må du avslutte gjeldende økt. Og logg inn under navnet til den nye brukeren (hvis kontoen må verifiseres). Og kjør følgende kommandoer sekvensielt:

$ pwd $ ls -al

Den første vil vise hjemmekatalogen for gjeldende bruker, den andre vil vise en liste over alle (inkludert skjulte) filer og underkataloger i hjemmekatalogen, og indikerer deres eier og tilgangsmodus.

Kontoadministrasjon

Som tidligere nevnt, for å administrere brukere i Linux-systemer, er det sett med spesialiserte verktøy for å legge til, redigere og slette kontoer (brukere) - useradd, usermod og userdel. De følger en foreskrevet rekkefølge av handlinger for å oppnå et sluttmål - for eksempel, i tilfelle av å legge til en ny bruker, kommandoen brukeradd produserer følgelig hele "settet av aktiviteter" beskrevet ovenfor. Hvert av disse verktøyene kan konfigureres fleksibelt ved hjelp av konfigurasjonsfiler, som for øvrig brukes veldig aktivt av Linux-distribusjonsutviklere. Tross alt, på forskjellige Linux-systemer er driften av disse verktøyene litt forskjellig, selv om verktøyene i hovedsak er identiske. Nedenfor er en tabell som viser kommandoene og konfigurasjonsfilene for å administrere brukere for noen systemer ved å bruke verktøyet som eksempel brukeradd:

System Lag Konfigurasjonsfiler En kommentar
Ubuntu brukeradd /etc/login.defs
adduser /etc/default/useradd Perl versjon
/etc/adduser.conf
SUSE brukeradd /etc/login.defs
/etc/default/useradd
/etc/default/passwd
/usr/sbin/useradd.local Lokale instillinger
/usr/sbin/userdel.local Lokale instillinger
/usr/sbin/userdel-pre.local Lokale instillinger
/usr/sbin/userdel-post.local Lokale instillinger
Rød hatt brukeradd /etc/login.defs
/etc/default/useradd
Solaris brukeradd /etc/default/(login,passwd)
/etc/security/policy.conf

Fjerner brukere

For å fjerne brukere fra systemet, bruk userdel-kommandoen, for eksempel kommandoen

brukerdel john

Vil slette brukeren john, men ofte (som kommandoen brukeradd, forresten) ikke i en "ren" form, men i form av Perl-skjell ved å bruke et kontoslettingsskript. For eksempel bruker Ubuntu-distribusjoner kommandoen deluser, som er et vanlig Perl-skript. Som igjen kaller selve userdel-kommandoen for å slette og rydde opp i alt som tidligere ble gjort av kommandoen brukeradd. I dette tilfellet brukes en skriptfil (vanligvis filen /etc/deluser.conf i Ubuntu og /etc/login.defs i RedHat). Som lar deg angi følgende alternativer for userdel-kommandoen:

Bruk: brukerdel [alternativer] BRUKER

Alternativer:
-f, --tving fremtvinge sletting av bruker og filer, selv om de er i bruk
-r, --remove fjern hjemmekatalog og postkasse
-R, --root CAT_CHROOT katalog å chroot inn i
-Z, --selinux-user fjern alle brukertilordninger
SELinux for bruker

Fil /etc/passwd – beskrivelse av lokale kontoer

Hvis systemet ikke bruker noen automatisert katalogadministrasjonstjeneste (for eksempel LDAP, NIS), er /etc/passwd-filen filen som lagrer informasjon om brukerkontoer som er kjent for systemet. Systemet får tilgang til denne filen hver gang en bruker prøver å autentisere, leter etter den nødvendige bruker-IDen og bestemmer hjemmekatalogen hans. Formatet til denne filen er at hver linje i den tilsvarer en spesifikk bruker (konto), som (på en linje) viser attributtene (feltene) til kontoen, atskilt med et kolon:

  1. Brukernavn.
  2. Brukerpassord (kryptert) eller "plassholder"-passord.
  3. Bruker-ID.
  4. Brukergruppe-ID (standard).
  5. GECOS-informasjon - fullt navn, kontor, telefonnumre, etc.
  6. Hjemmekatalog.
  7. Registreringsskall.

Innholdet i filen /etc/passwd kan se slik ut: Som du kan se, inneholder det andre feltet for alle oppføringer en "x", en plassholder for passord. På Linux-systemer lagres krypterte passord separat i filen /etc/shadow. Hvis den automatiserte katalogadministrasjonstjenesten brukes sammen med /etc/passwd-filen, inneholder den samme filen oppføringer som begynner med "+"-tegnet. Disse oppføringene gir instruksjoner for integrering av katalogadministrasjonstjenester i systemet. Det er verdt å ta en rask titt på kontofeltene:

  • Brukernavn eller påloggingsnavn- et unikt navn som må kompileres i henhold til reglene for å konstruere registreringsnavn for et bestemt system. For Linux kan påloggingsnavnet være opptil 32 tegn langt. Kun små bokstaver og tall kan brukes. Registreringsnavnet må begynne med en bokstav.
  • Kryptert passord- Som allerede nevnt, lagres passord for lokale kontoer i /etc/shadow i kryptert form. I Linux brukes krypt-, MD5- og Blowfish-algoritmer som kryptografiske verktøy for å kryptere passord. Minste passordlengde er 5 tegn, maksimum er 8
  • bruker-ID er et usignert heltall som systemet "gjenkjenner" individuelle brukere med, slik at brukeridentifikatorer brukes av systemet og programvaremiljøet, mens brukernavn brukes for klarhet og enkel presentasjon av brukere i systemet. Til root-bruker identifikator nummer 0 er reservert; det anbefales også å tilordne identifikatorer etter 500 til ekte brukere, siden det kan være mange "ikke-personlige" brukere i systemet, for eksempel bin eller daemon - dette vil holde listen over brukere i orden og unngå forvirring. Linux-systemer gir også en pseudo-bruker ingen, med en identifikator på -1 eller -2. Vanligvis brukes denne pseudobrukeren når systemets superbruker prøver å få tilgang til filer montert fra en annen datamaskin som ikke har tillit til den opprinnelige datamaskinen.
  • Gruppe-ID- et usignert heltall, lik en brukeridentifikator, beregnet på å angi unike brukergrupper i systemet. Gruppe nummer 0 er reservert for rotgruppen. Grupper brukes hovedsakelig for enkel administrasjon og deling av filer. Som med bruker-IDer, reserverer systemet grupper (for eksempel bin) for bruk av systemet selv.
  • FeltGECOS– informasjon som ikke har en klart definert spesifikasjon, reflekterer tilleggsdata om brukeren: hans fulle navn, telefonnumre, informasjon om stilling og avdeling osv. Informasjon i dette feltet kan endres ved hjelp av chfn-kommandoen.
  • Hjemmekatalog- et "sted" i filsystemtreet som er reservert for lagring av data fra en bestemt bruker. Av sikkerhetsgrunner bør denne katalogen kun være tilgjengelig for brukeren som eier denne katalogen. Hvis det ikke er noen hjemmekatalog på registreringstidspunktet, blir brukerdata plassert i /-katalogen. Dessuten, hvis DEFAULT_HOME-alternativet i filen /etc/login.defs, som spesifiserer standard hjemmekatalog, er satt til nei, vil brukerautorisasjon/registrering være umulig.
  • Registreringsskall- et kommandoskall for en kommandotolk (eller et hvilket som helst annet program), som startes når brukeren logger på kontoen sin. For Linux brukes tolk

Fil /etc/group – opprette og slette brukergrupper

Å legge til en ny gruppe i Linux gjøres ved å bruke kommandoen

$groupadd gruppenavn

der gruppenavn er navnet på den nye gruppen. Denne kommandoen vil opprette en ny oppføring i filen /etc/group

Formatet til denne filen er det samme som /etc/passwd. Eksempel på innholdet i filen /etc/group:
Som du kan se, inkluderer hver linje fire felt:

  1. Gruppenavn.
  2. Kryptert passord eller plassholder for passord.
  3. Unik gruppeidentifikator.
  4. En liste over brukere inkludert i denne gruppen, som inneholder brukernavn atskilt med komma uten mellomrom.

Det interessante her er passordfeltet. Formålet med gruppepassordet er å la brukere bli med i gruppen ved å bruke newgrp-kommandoen. Passordet for selve gruppen settes av gpasswd-kommandoen, hvoretter det vil bli lagret i kryptert form i filen /etc/gshadow. Det skal imidlertid bemerkes at passord for grupper brukes ekstremt sjelden. Systemadministratorer Du bør overvåke innholdet i filene /etc/passwd og /etc/group og koordinere dem med hverandre, siden det noen ganger oppstår situasjoner når en bruker er spesifisert som medlem av en gruppe i filen /etc/passwd og samtidig gang det ikke er en slik erklæring i /etc/group-filen. Det skal bemerkes at i dette tilfellet vil brukeren bli ansett som medlem av gruppen, men det anbefales fortsatt sterkt at innholdet i begge filene er konsistent.

Som standard i Linux-distribusjoner (unntatt SUSE), når du oppretter en bruker (verktøyet brukeradd) hans gruppe med samme navn opprettes, som han umiddelbart inkluderes i. Dette er gitt for å eliminere så mye som mulig muligheten for at forskjellige brukere får tilgang til hverandres filer.

Du kan slette en brukergruppe ved å bruke kommandoen

$gruppedel gruppenavn

Denne kommandoen vil fjerne oppføringen fra /etc/group.

Fil /etc/shadow – lagring av passord

En separat /etc/shadow-fil brukes til å lagre skjulte eller skyggepassord. Tilgang som kun er tilgjengelig for superbrukeren. Det bør også bemerkes at filene /etc/shadow og /etc/passwd er konseptuelt relatert, men på systemnivå er det praktisk talt ingen interaksjon mellom dem. Bortsett fra at feltet som inneholder påloggingsnavnet i skyggen er hentet fra passwd. De. Når du endrer skygge, reflekteres ikke endringene automatisk i passwd - disse filene lagres separat og behandles av systemet uavhengig av hverandre. Formatet til /etc/shadow ligner på /etc/passwd og hver linje inneholder følgende felt:

  1. Registreringsnavn.
  2. Passordet er kryptert.
  3. Dato siste endring passord.
  4. Minimum antall dager mellom passordendringer.
  5. Maksimalt antall dager mellom passordendringer.
  6. Antall dager før meldingen om utløp av passord utstedes.
  7. Antall dager (etter passordets utløp) til kontoen blir automatisk kansellert.
  8. Kontoens gyldighetsperiode.
  9. Reservert felt.

Oppføringen fra filen /etc/shadow ser slik ut:

John:$md5$em5JhGE$a$iQhgS70sakdRaRFyy7Ppj. :14469:0:180:14: : :


Det skal bemerkes at de to første feltene er obligatoriske. Formatet på datofeltene tilsvarer antall dager som har gått siden 1. januar 1970. Feltet for registreringsnavn, som allerede nevnt, er fylt med den tilsvarende verdien fra filen /etc/passwd. På Linux inneholder det syvende feltet en verdi som bestemmer hvor lenge (i dager) etter at passordet utløper, kontoen deaktiveres automatisk. Denne tolkningen er forskjellig fra den som brukes på Solaris- og HP-UX-systemer. I det åttende feltet kan du bruke usermod-kommandoen i formatet åååå-mm-tt for å angi utløpsdatoen for kontoen.

Hvis du finner en feil, merk en tekst og klikk Ctrl+Enter.




Topp