Användare och grupper på det svåra sättet
Slackware.SE Wiki
[redigera] 12.2 Användare och grupper på det svåra sättet
Självklart är det möjligt att lägga till, modifiera, ta bort användare och grupper utan att använda scripten som följer med Slackware. Det är inte så svårt, allteftersom du läser denna process kommer du förmodligen komma på att det är mycket enklare att använda scripten. Men hur som helst är det viktigt att veta hur lösenordsinformationen egentligen är lagrad, ifall du behöver återställa denna informationen och inte har något Slackware verktyg tillgängligt.
Först lägger vi till en ny användare till /etc/passwd(5), /etc/shadow(5) och /etc/group(5). filen passwd innehåller lite information om användare på ditt system, men (men konstigt nog) inte deras lösenord. Det var så en gång i tiden, men togs bort för länge sedan pga säkerhetskäl. Filen passwd måste vara läsbar för alla användare, men du vill inte att krypterade lösenord ska vara läsbara för alla, om det skulle vara så kan inkräktare använda de krypterade lösenorden till för att starta en dekryptering av användarnas lösenord, de krypterade lösenorden lagras därför i filen shadow, vilken bara är läsbar av root, allas lösenord är skrivna till passwd filen med ett "x". Filen group listar alla grupper och vilka som är med i varje.
Du kan använda kommandot vipw för att redigera /etc/passwd säkert, och kommandot vigr för att redigera /etc/group. Använd vipw -s för att redigera /etc/sadow säkert. (med "säkert" menas att ingen annan kan modifiera filen du redigerar vid samma tillfälle. om du är administratör för ditt system, så är du nog säker, men det är bäst att göra det till en god vana från början.)
Låt oss utforska filen /etc/passwd och titta hur man lägger till en ny användare. Ett typiskt entry i passwd ser ut så här:
chris:x:1000:100:Chris Lumens,Room 2,,:/home/chris:/bin/bash
Varje rad är ett entry för en användare, och fält på varje rad är separerat med colon. Fälten är inloggningsnamn, krypterat lösenord ("x" för alla på Slackware system, eftesom Slackware använder shadow lösenord), användarID, gruppID, och tillvalet fingerinformation (separerat med komma), hemkatalog och skal. För att lägga till en användare för hand, lägg till en ny rad i slutet av filen, fyll i i rätt information.
Informationen du anger måste motsvara några behörighetskrav annars kommer din nya användare få problem att logga in. Först var säker på att lösenordsfältet är ett x, och att både användarnamn och användarID är unikt. Tilldela användaren en grupp, antingen 100 (grupper users i Slackware) eller din standardgrupp (använd dess nummer, inte dess namn). Ge användaren en giltig hemkatalog (vilken du skapar senare) och skal (kom ihåg, giltiga skal är listade i /etc/shells).
Nästa, behöver vi lägga till ett entry i /etc/shadow, vilken innehåller de krypterade lösenorden. Ett typiskt entry ser ut så här:
chris:$1$w9bsw/N9$uwLr2bRER6YyBS.CAEp7R.:11055:0:99999:7:::
Åter, varje red är ett entry för en person, med varje fält begraänsat med ett kolon. Fälten är (i ordningen) inloggnignsnamn, krypterat lösenord, dagar sedan lösenordet senast ändrades, dagar innan lösenordet kan ändras, dagar efter då lösenordet måste ändras, dagar innan lösenordet går ut, dagar efter att lösenordet gått ut och konton är inaktiverat, dagar sedan kontot vart inaktiverat, och reserverade fält.
Som du kan se, är mesta av informationen för när kontot går ut. Om du inte använder information om konton som går ut, behöver du bara fylla i några få fält med några speciella värden. I annat fall har du lite beräkningar och val att göra innan du kan fylla i dessa fält. För en ny användare, skriv bara lite skräptecken i lösenordsfältet. Var inte orolig över att lösenordet är rätt nu, eftersom du inom någon minut kommer att ändra det. Det enda tecknet du inte kan ha med i lösenordsfältet är kolon. Lämna fältet "days since password was changed" (dagar sedan lösenordet ändrades) blankt. Fyll i 0, 99999 och 7 precis som du såg i exemplet, och lämna de andra fälten blanka.
(För dessa som tror att du sett mitt krypterade lösenor här ovan, och tror att du kan bryta dig in i mitt system, varsegod försök. Om du kan cracka det lösenordet, så vet du lösenordet till ett brandväggsövervakat system. Och det är väldigt användbart :) )
Alla normala användare är medlem i guppen "users" på ett typiskt Slackware system. Hur som helst, om du vill skapa en ny grupp eller lägga till en ny användare till en traditionell grupp, behöver du modifiera /etc/group. Här är ett typiskt entry:
cvs::102:chris,logan,david,root
Fälten är gruppnamn, grupplösenord, gruppID, gruppmedlemmar separerade med komma. Att skapa en ny grupp är en lätt sak av att lägga till en ny rad med ett unikt gruppID och lista alla användare du vill ha i den gruppen. Alla användare som är i den här nya gruppen och är inloggade måste logga ut och in tillbaka innan ändringara träder i kraft.
Vid den här tidpunkten är det läge att använda kommandot pwck och grpck för att verifiera att ändringarna du gjort är konsistenta. Använd först pwck -r och grpck -r: växeln -r gör inga ändringar, men listar ändringar du kommer att bli frågade om att göra om du körde kommandot utan växel. Du kan använda utskriften av detta för att bestämma om du behöver göra ändra flera filer, att köra pwck eller grpck utan -r växeln, eller helt enkelt lämna dina ändringar som dom är.
Nu bör du använda kommandot passwd för att skapa ett korrekt lösenord för användaren. Sen använda mkdir för att skapa den nya användarens hemkatalog i katalogen du skrev i /etc/passwd, och använda chown för att ändra ägare på den nya katalogen till den nya användaren.
Att ta bort en användare är en lätt sak, bara att ta bort alla entryn som existerar för den användaren. Ta bort användarens entry i /etc/passwd och /etc/shadow och ta bort inloggningsnamnet från grupperna i /etc/group. Om så önskas, radera användarens hemkatalog, filen mailspool, och hans crontab entry (om det finns).
Att ta bort grupper är liknande: Radera gruppens entry från /etc/group.
Klart...
--Dartanjang 17 juli 2006 kl.14.41 (CEST)
