8.25. Shadow-4.12.2

Shadow pakken inneholder programmer for håndtering av passord på en sikker måte.

Omtrentlig byggetid: 0.2 SBU
Nødvendig diskplass: 46 MB

8.25.1. Installasjon av Shadow

[Note]

Note

Hvis du ønsker å håndheve bruken av sterke passord, se https://www.linuxfromscratch.org/blfs/view/11.2/postlfs/cracklib.html for installasjon av CrackLib før du bygger Shadow. Legg så til --with-libcrack til configure kommandoen under.

Deaktiver installasjonen av groups programmet og man sidene, ettersom Coreutils gir en bedre versjon. Også, forhindre installasjon av man sider som allerede var installert i Section 8.3, “Man-pages-5.13”:

sed -i 's/groups$(EXEEXT) //' src/Makefile.in
find man -name Makefile.in -exec sed -i 's/groups\.1 / /'   {} \;
find man -name Makefile.in -exec sed -i 's/getspnam\.3 / /' {} \;
find man -name Makefile.in -exec sed -i 's/passwd\.5 / /'   {} \;

I stedet for å bruke standard crypt metoden, bruk den sikrere SHA-512 metode for passordkryptering, som også tillater passord lengre enn 8 tegn. Det er også nødvendig å endre det foreldede /var/spool/mail plasseringen for brukerpostbokser som Shadow bruker som standard til /var/mail stedet som brukes for øyeblikket. Og, kvitte seg med /bin og /sbin fra PATH, siden de ganske enkelt er symbolske lenker til motparten i /usr.

[Note]

Note

Hvis /bin og/eller /sbin foretrekkes å være i PATH av en eller annen grunn, endre PATH i .bashrc etter at LFS er bygget.

sed -e 's:#ENCRYPT_METHOD DES:ENCRYPT_METHOD SHA512:' \
    -e 's:/var/spool/mail:/var/mail:'                 \
    -e '/PATH=/{s@/sbin:@@;s@/bin:@@}'                \
    -i etc/login.defs
[Note]

Note

Hvis du valgte å bygge Shadow med støtte for Cracklib, kjør følgende:

sed -i 's:DICTPATH.*:DICTPATH\t/lib/cracklib/pw_dict:' etc/login.defs

Forbered Shadow for kompilering:

touch /usr/bin/passwd
./configure --sysconfdir=/etc \
            --disable-static  \
            --with-group-name-max-length=32

Betydningen av konfigureringsalternativet:

touch /usr/bin/passwd

Filen /usr/bin/passwd må eksistere fordi plasseringen er hardkodet i noen programmer, og hvis den ikke eksisterer, er ikke standardplasseringen riktig.

--with-group-name-max-length=32

Maksimalt brukernavn er 32 tegn. Gjør det maksimale gruppenavnet det samme.

Kompiler pakken:

make

Denne pakken kommer ikke med en testpakke.

Installer pakken:

make exec_prefix=/usr install
make -C man install-man

8.25.2. Konfigurerer Shadow

Denne pakken inneholder verktøy for å legge til, endre og slette brukere og grupper; angi og endre passordene deres; og utføre annen administrativ oppgaver. For en fullstendig forklaring av hva passordskygge betyr, se doc/HOWTO filen i den utpakkede kildetreet. Hvis du bruker Shadow-støtte, husk at programmer som trenger å bekrefte passord (skjermbehandlere, FTP-programmer, pop3-nisser, etc.) må være Shadow-kompatibel. Det vil si at de må kunne jobbe med skyggelagte passord.

For å aktivere skyggelagte passord, kjør følgende kommando:

pwconv

For å aktivere skyggelagte gruppepassord, kjør:

grpconv

Shadows standardkonfigurasjon for useradd verktøyet har noen forbehold som trenger litt forklaring. Først standard handling for useradd verktøyet er å lage brukeren og en gruppe med samme navn som brukeren. Som standard begynner bruker-ID (UID) og gruppe ID-numre (GID) med 1000. Dette betyr at hvis du ikke sender parametere til useradd, hver bruker vil være medlem av en unik gruppe på systemet. Hvis denne oppførselen er uønsket, trenger du å sende enten -g eller -N parameter til useradd eller for å endre innstillingen for USERGROUPS_ENAB i /etc/login.defs. Se useradd(8) for mer informasjon.

For det andre, for å endre standardparametrene, filen /etc/default/useradd må lages og skreddersys for å passe dine spesielle behov. Lag den med:

mkdir -p /etc/default
useradd -D --gid 999

/etc/default/useradd Parameterforklaringer

GROUP=999

Denne parameteren setter begynnelsen på gruppenumrene som brukes i /etc/group filen. Den spesielle verdien 999 kommer fra --gid parameter ovenfor. Du kan endre den til alt du ønsker. Noter at useradd vil aldri gjenbruke en UID eller GID. Hvis nummeret som er identifisert i denne parameteren brukes, vil det bruke neste ledige nummer. Merk også at hvis du ikke har en gruppe med en ID lik dette nummeret på systemet ditt første gang du bruker useradd uten -g parameteren, du vil få en melding på terminalen som sier: useradd: unknown GID 999, selv om kontoen er riktig opprettet. Det er derfor vi har opprettet gruppen users med denne gruppe-IDen i Section 7.6, “Opprette essensielle filer og symbolkoblinger”.

CREATE_MAIL_SPOOL=yes

Denne parameteren gjør at useradd lager en postboksfil for den nyopprettede brukeren. useradd vil gjøre gruppe eierskap av denne filen til mail gruppe med 0660 tillatelser. Hvis du foretrekker at disse postboksfilene ikke blir laget av useradd, utsted følgende kommando:

sed -i '/MAIL/s/yes/no/' /etc/default/useradd

8.25.3. Sette root passordet

Velg et passord for brukeren root og sett det ved å kjøre:

passwd root

8.25.4. Innhold i Shadow

Installerte programmer: chage, chfn, chgpasswd, chpasswd, chsh, expiry, faillog, getsubids, gpasswd, groupadd, groupdel, groupmems, groupmod, grpck, grpconv, grpunconv, lastlog, login, logoutd, newgidmap, newgrp, newuidmap, newusers, nologin, passwd, pwck, pwconv, pwunconv, sg (link to newgrp), su, useradd, userdel, usermod, vigr (link to vipw), og vipw
Installert mappe: /etc/default
Installerte biblioteker: libsubid.so

Korte beskrivelser

chage

Brukes til å endre maksimalt antall dager mellom obligatoriske passordendringer

chfn

Brukes til å endre en brukers fulle navn og annen informasjon

chgpasswd

Brukes til å oppdatere gruppepassord i skriptmodus

chpasswd

Brukes til å oppdatere brukerpassord i skriptmodus

chsh

Brukes til å endre en brukers standard påloggingsskall

expiry

Sjekker og håndhever gjeldende retningslinjer for passordutløp

faillog

Brukes til å undersøke loggen over påloggingsfeil, for å sette et maksimum antall feil før en konto blokkeres, eller for å tilbakestille antall feil

getsubids

Brukes til å liste de underordnede id-områdene for en bruker

gpasswd

Brukes til å legge til og slette medlemmer og administratorer til grupper

groupadd

Oppretter en gruppe med det gitte navnet

groupdel

Sletter gruppen med oppgitt navn

groupmems

Lar en bruker administrere sin egen gruppemedlemsliste uten krav om superbrukerprivilegier.

groupmod

Brukes til å endre den gitte gruppens navn eller GID

grpck

Verifiserer integriteten til gruppefilene /etc/group og /etc/gshadow

grpconv

Oppretter eller oppdaterer skyggegruppefilen fra den normale gruppefilen

grpunconv

Oppdaterer /etc/group fra /etc/gshadow og sletter deretter sistnevnte

lastlog

Rapporterer siste pålogging for alle brukere eller av en gitt bruker

login

Brukes av systemet for å la brukere logge på

logoutd

Er en nisse som brukes til å håndheve restriksjoner på påloggingstid og portene

newgidmap

Brukes til å angi gid-tilordning av et brukernavnområde

newgrp

Brukes til å endre gjeldende GID under en påloggingsøkt

newuidmap

Brukes til å angi uid-tilordning av et brukernavnområde

newusers

Brukes til å opprette eller oppdatere en hel serie med brukerkontoer

nologin

Viser en melding om at en konto ikke er tilgjengelig; den er designet til å brukes som standard skall for kontoer som er blitt deaktivert

passwd

Brukes til å endre passordet for en bruker- eller gruppekonto

pwck

Verifiserer integriteten til passordfilene /etc/passwd og /etc/shadow

pwconv

Oppretter eller oppdaterer skyggepassordfilen fra den normale passordfilen

pwunconv

Oppdaterer /etc/passwd fra /etc/shadow og sletter deretter sistnevnte

sg

Utfører en gitt kommando mens brukerens GID er satt til den gitte gruppen

su

Kjører et skall med erstatningsbruker- og gruppe-IDer

useradd

Oppretter en ny bruker med det gitte navnet, eller oppdaterer standard informasjon om ny bruker

userdel

Sletter den gitte brukerkontoen

usermod

Brukes til å endre den gitte brukerens påloggingsnavn, bruker identifikasjon (UID), skall, startgruppe, hjemmekatalog, etc.

vigr

Redigerer /etc/group eller /etc/gshadow filer

vipw

Redigerer /etc/passwd eller /etc/shadow filer

libsubid

bibliotek for å prosessere underordnede id-områder for brukere