8.27. Shadow-4.14.5

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

Omtrentlig byggetid: 0.1 SBU
Nødvendig diskplass: 49 MB

8.27.1. Installasjon av Shadow

[Note]

Note

Hvis du ønsker å håndheve bruken av sterke passord, se https://www.linuxfromscratch.org/blfs/view/12.1/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 mansidene, ettersom Coreutils gir en bedre versjon. Også forhindre installasjon av mansider som allerede var installert i Section 8.3, “Man-pages-6.06”:

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 mye sikrere YESCRYPT metode for passordkryptering, som også tillater passord lengre enn 8 tegn. It is also necessary to change det foreldede /var/spool/mail plasseringen for brukerpostbokser som Shadow bruker som standard til /var/mail stedet som brukes for øyeblikket. Og, fjerne /bin og /sbin fra PATH, siden de ganske enkelt er symbolske lenker til motparten i /usr.

[Note]

Note

Hvis du ønsker å inkludere /bin og/eller /sbin i PATH av en eller annen grunn, endre PATH i .bashrc etter at LFS er bygget.

sed -e 's:#ENCRYPT_METHOD DES:ENCRYPT_METHOD YESCRYPT:' \
    -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-{b,yes}crypt \
            --without-libbsd    \
            --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; hvis den ikke eksisterer allerede, vil installasjonsskriptet lage den på feil sted.

--with-{b,yes}crypt

Skallet utvider dette til to brytere, --with-bcrypt og --with-yescrypt. De lar shadow bruke Bcrypt- og Yescrypt-algoritmene implementert av Libxcrypt for hashing av passord. Disse algoritmene er sikrere (spesielt mye mer motstandsdyktig mot GPU-baserte angrep) enn den tradisjonelle SHA algoritmer.

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

Det lengste tillatte brukernavnet er 32 tegn. Gjør det maksimale lengden på et gruppenavn til det samme.

--without-libbsd

Ikke bruk readpassphrase funksjonen fra libbsd som ikke er i LFS. Bruk den interne kopien i stedet.

Kompiler pakken:

make

Denne pakken kommer ikke med en testpakke.

Installer pakken:

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

8.27.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 passordskygging betyr, se doc/HOWTO filen i den utpakkede kildetreet. Hvis du bruker Shadowstøtte, husk at programmer som trenger å bekrefte passord (skjermbehandlere, FTP-programmer, pop3-nisser, etc.) må være Shadowkompatibel. 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 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 brukerID (UID) og gruppeID 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 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 parameteren ovenfor. Du kan endre den til alt du ønsker. Merk at useradd vil aldri gjenbruke en UID eller GID. Hvis nummeret som er identifisert i denne parameteren brukes, vil den 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, vil en feilmelding bli generert—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 ikke vil opprette disse filene, gi følgende kommando:

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

8.27.3. Sette root passordet

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

passwd root

8.27.4. Innhold i Shadow

Installerte programmer: chage, chfn, chgpasswd, chpasswd, chsh, expiry, faillog, getsubids, gpasswd, groupadd, groupdel, groupmems, groupmod, grpck, grpconv, grpunconv, login, logoutd, newgidmap, newgrp, newuidmap, newusers, nologin, passwd, pwck, pwconv, pwunconv, sg (lenker til newgrp), su, useradd, userdel, usermod, vigr (lenker til vipw), og vipw
Installerte mapper: /etc/default og /usr/include/shadow
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

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 som sier at en konto ikke er tilgjengelig; den er designet til å brukes som standard skall for deaktiverte kontoer

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 filene

vipw

Redigerer /etc/passwd eller /etc/shadow filene

libsubid

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