12.2 Потребители и Групи, Трудният Начин

Разбира се, възможно е да се добавят, модифицират и премахват потребители и групи без помощта на скриптовете и програмите, които идват със Слакуер. Не е трудно, въпреки че след като видите процеса, най-вероятно ще ви е по-лесно да използвате скриптовете. Въпреки това, е важно да знаете как вашитата парола е всъщност запазена, в случай, че трябва да въстановявате такава информация без да имате на разположение инструментите на Слакуер.

Първо ще добавим нов потребител във файловете /etc/passwd, /etc/shadow и /etc/group. Файлът passwd съдържа част от информацията за потребителите на вашата система, но (дори и странно) не и техните пароли. Накога те се пазеха там, но заради сигурността бяха премахнати. passwd файлът трябва да може да се чете от всички потребители, но не е желателно криптирани пароли да могат да се виждат от всички, тъй като евентуални нарушители може да ползват криптираните пароли за да се опитат да ги декриптират. Вместо това криптираните пароли се пазят в shadow файла, който може да бъде прочетен единственно от root и паролите на всички в passwd файла са въведени като x. Файлът group съдържа всички групи и кой потребител в коя е.

Можете да изпозвате командата vipw за да редактирате /etc/passwd файла безопасно и командата vigr за файла /etc/group съответно. (В този контекст безопасно означава, че никой друг няма да мжое да редактира файла докато вие го редактирате. Ако вие сте единственния администратор на системата, най-вероятно няма да имате проблеми, но е добре да си създадете добри обичаи още от самото начало.)

Нека прегледаме файла /etc/passwd и да видим как се добавя нов потребител. Типичен ред в passwd файла изглежда така:

chris:x:1000:100:Chris Lumens,Room 2,,:/home/chris:/bin/bash

Всяка линия отговаря на един потребител и полетата на всяка линия са разделени с двуеточие. Полетата са потребителското име, криптираната парола ("х" за всички полващи Слакуер система, откакто Слакуер използва shadow пароли), потребителско ID, ID на групата, допълнителна информация(разделена със запетайки), лична директория и шел. За да добавите ръчно потребител, добавете нова линия в края на файла и попълнете подходящата информация.

Информацията която добавяте, трябва да изпълни изискванията, в противен случай потребителят може да има проблеми при връзване с машината. Първо проверете дали полето за паролата е x и потребителското име и потребителското ID са уникални. Сложете подходящата група , или 100 (групата "users" в Слакуер) или вашата група(ползвайте нейният номер, не името и). Дайте на потребителя жалидна лична директория(която можете да създадете по-късно) и валиден шел(не забравяйте, че слисък с шеловете може да се намери в /etc/shells).

След това ще трябва да добавите линия във файла /etc/shadow, който съдържа криптираната парола. Типична линия там изглежда така:

chris:$1$w9bsw/N9$uwLr2bRER6YyBS.CAEp7R.:11055:0:99999:7:::

Още веднъж всяка линия отговаря на един потребител и всяко поле е разелено от другото с двуеточие. Полетата са (в същия ред) потребителско име, криптирана парола, дни след Епохата(1 Януари 1970) когато последно паролата е била модифицирана, оставащи дни след които паролата може да бъде модифицирана, оставащи дни след които паролата трябва да бъде модифицирана, оставащи дни преди изтичане на срока на паролата до уведомяване на потребителя, дни след изтичане на срока на паролата, след които акаунтът е изключен, дни след Епохата до изключване на акаунта и резервирано поле.

Както можете да вдите, по-голямата част е свързана с информация за изтичане на срокове на акаунта. Ако не ползвате такава информация, трябва да въведете само няколко полета със няколко специални стойности. В противен случай, ще трябва да направите нколко изчисления и да вземете няколко решения преди да попълните полетата. За нови потребители просто въведете произволни букви за парола. Не се притеснявайте за паролата сега, след минута ще я смените. Единственият знак, който неможете да ползвате в паролата е двуеточие. Попълнете останалите полета както са в примерната линия по-горе.

(За тези от вас, които си мислят, че са видяли криптираната ми парола по-горе и вярват, че по този начин могат да влезнат в системата ми, действайте. Ако успеете да декриптирате тази парола, ще знаете паролата на пробна машина за защитна система. Това е доста полезно :) )

Всички нормални потребители са членове на групата "users" в типична Слакуер система. Въпреки това, ако искате да създадете нова група или да добавите новият потребител в повече от една група, ще трябва да модифицирате файла /etc/groups. Ето и типичен ред:

cvs::102:chris,logan,david,root

Полетата са име на групата, парола на групата, ID на групата и членовете на групата разделени от запетайки. За да създадете нова група, просто трябва да добавите нов ред с уникално ID на групата и да добавите потребителите, които ще са нейни членове. Всички потребители, които са в новата група и са вързани към системата, ще трябва да излезнат и да влезнат отново в системата за да може промените да се отразят.

В този момент е добре да използвате програмите pwch и grpck, за да сте сигурни, че промените, които направихте са валидни. Първо ползвайте pwck -r и grpck -r: флагът -r не прпави никакви промени по файловете, но ще изпише промените, които вие би трябвало да направите ако стартирате програмите без -r. Можете да използвате информацията за да решите дали са нужни допълнителни промени по файловете, да стартирате pwck или grpck без -r, или просто да оставите промените така както са.

Сега е моментът да ползвате командата passwd за да създадете подходяща парола за потребителя. След това ползвайте командата mkdir за да създадете личната му директория там, където оказахте в /etc/passwd файла и накрая изпозлвайте chown за да направите новият потребител собственник на директорията.

За да премахнете потребител, просто трябва да изтриете всички редове свързани с този потребител. Изтрийте редовете от /etc/passwd и /etc/shadow и премахнете потребителското му име от всяка група в /etc/groups. Ако искате изтриите и личната му директория, пощенският му файл и crontab файла( ако има такъв).

Премахване на групи е подобно: премахнете реда на групата от /etc/group.


Valid XHTML 1.0 Strict