Użytkownicy AIXu
Konto użytkownika może być stworzone przy pomocy smitty czy też używając do tego celu poleceń systemu operacyjnego. Właściwości konta są uzależnione od zawartości plików w folderach /etc, /etc/security oraz /usr/lib/security. Plik /usr/lib/security/mkuser.default domyślne takie jak przynależność do grupy, typ interpretera poleceń, położenia foldera domowego użytkownika, itp. Jeżeli nie podałeś tej informacji to polecenie tworzące konto użyje do tego celu informacji zawartej w tym pliku. Na przykład, jeżeli foldery domowe twoich użytkowników nie znajdują się w /home ale w /ClusterHome, i oni należą do groupy zwanej myGroup to w takim przypadku, powinieneś zmienić w następujący sposób zwrotkę ”user” w pliku /usr/lib/security/mkuser.default :
user:
pgrp = myGroup
groups = staff
shell = /usr/bin/ksh
home = /CluserHome/$USER
File/usr/lib/security/mkuser.sys ustala atrybuty katalogów własnych urzytkowników (~/.profile w przypadku ksh/sh). Ten plik, również tworzy plik ”.profile” w katalogu własnym użytkownika używając do tego celu jako szablonu /etc/security/.profile .
Zgodnie z jego nazwą, plik /etc/security/limits ustala maksymalną wartość zasobów do korzystania z których uprawniony jest użytkownik. Na przykład, w tym pliku ustawiasz maksymalny rozmiar plików (fsize), CPU (cpu), liczbę plików (nofiles) rozmiar pliku (core). Przyznanie parametrowi ”nieograniczonej” wielkości jest dokonane przy pomocy ”-1”:
default:
fsize = -1
core = 2097151
cpu = -1
data = -1
rss = -1
stack = -1
nofiles = -1
W poprzednim przykładzie, wielkość wszystkich parametrów jest podana jako nieograniczona z wyjątkiem pliku ”core”, którego wielkość jest ograniczona do nie więcej niż 2097151 bloków.
Dawno temu, hasła użytkowników były przechowywane w pliku /etc/passwd. Później z uwagi na bezpieczeństwo przeniesiono je z pliku /etc/password do pliku /etc/shadow , do którego dostęp ma tylko root. AIX robi to inaczej; wszystka poufna informacja dotycząca użytkownika jest przechowywana w pliku umieszczonym w folderze /etc/security. Hasło oraz związana z nim informacja jak na przykład data jego ostatniej zmiany, potrzeba zmiany hasła przy następnym logowaniu, itp. jest przechowywana w /etc/security/passwd. Atrybuty kontrolujące częstotliwość zmiany hasła, jego długość, liczbę liter, cyfr czy specjalnych charakterów są przechowywane w pliku /etc/security/user. Ten plik tak jak /etc/security/limits posiada zwrotkę default zawierającą atrybuty dotyczące wszystkich użytkowników dla których nie zostały one indywidualnie określone:
default:
admin = false Brak przywilejów administracyjnych
login = true Tak, użytkownik może się zalogować
su = true Tak, użytkownim może ‘su’ do innych kont
daemon = true Tak, użytkownik może użyć polecia SRC
rlogin = true Tak, użytkownik może zalogować przez sieć
sugroups = ALL Członek każdej grupy może ‘su’ do konta
admgroups = Użytkownik nie jest administratorem grup
ttys = ALL Które terminale można użyć do zalogowania
auth1 = SYSTEM Pierwsza metoda autentykacji
auth2 = NONE Druga metoda autentykacji
tpath = nosak Definicja zaufanej ścieżce
umask = 022 wartość domyślna pozwoleń tworzonych obiektów (pliki,foldery,itp)
expires = 0 Data ekspiracji konta
SYSTEM = "compat" Metody autentykacji
logintimes = Czas w którym użytkownik może się połączyć z maszyną
pwdwarntime = 14 Ile dni przed przed zamknięciem dostępu urzytkownik musi zmienić hasło
account_locked = false Czy użytkownik może się zalogować
loginretries = 5 Ile nie poprawnych prób zalogowania zamknie dostęp do konta
histexpire = 0 Liczba tygodni przed ponownym wybraniem hasła
histsize = 5 Liczba poprzednich haseł, które nie mogą być powtórnie użyte
minage = 1 Minimalna liczba tygodni pomiędzy zmianą hasła
maxage = 13 Maksymalny wiek hasła wyrażony w tygodniach
maxexpired = 1 Liczba tygodni po maxage w której użytkownik może zmienić hasło
minalpha = 1 Minimalna liczba liter w haśle
minother = 1 Minimalna liczba znaków nie alfabetycznych w haśle
minlen = 8 Minimalna długość hasła
mindiff = 3 Minimalnej ilości różnych charakterów pomiędzy hasłami
maxrepeats = 8 Charakter nie może się powtarzać więcej niż ta wartość
dictionlist = Lokacja plików zawierających słowniki
pwdchecks = Lokacja zewnętrznego (dostarczonego przez administratora) mechanizmu (skrypt) sprawdzającego zgodność hasła
Plik /etc/security/passwd posiada zwrotkę dla każdego użytkownika maszyny. Jej zawartość to zaszyfrowane hasło, data jego ostatniej zmiany oraz flagi. Zawartość flag może wskazywać, że użytkownik musi zmienić hasło w czasie pierwszego logowania do maszyny (flags = ADMCHG).
Pliki Odpowiedzialne za Środowisko i Doznanie Użytkownika:
/etc/security/environ Zawiera zmienne dotyczące wszystkich użytkowników
/etc/security/lastlog Zawiera informację o ostatnim zalogowaniu
/etc/security/limits Określa rozmiar zasobów systemu przyznanych użytkownikowi
/etc/security/user cechy użytkownika i jego hasła
/usr/lib/security/mkuser.default Domyślne wartości używane tworząc konto urzytkownika
/usr/lib/security/mkuser.sys Pozwala na dostosowanie procesu tworzenia konta do własnych potrzeb
/etc/passwd Podstawowe atrybuty użytkownika
/etc/security/passwd zakodowane hasło, data jego ostatniej zmiany i flagi
/etc/security/login.cfg Domyśle atrybuty użyte w procesie logowania
/etc/utmp Historia (daty) logowania użytkowników
/var/adm/wtmp Łączy się z utmp
/etc/security/failedlogin Data podania złego hasła
/etc/motd Tekst wyświetlany przy logowaniu
/etc/environment Podstawowe środowisko dla wszystkich procesów maszyny
/etc/profile Zmienne związane z domyślnym interpreterem dotyczące wszystkich użytkowników
$HOME/.profile Zmienne związane z domyślnym interpreterem dotyczące dotyczące danego użytkownika
/etc/group Podstawowa definicja grupy i jej członkowie
/etc/security/group Pozostałe atrybuty grup
Wszystkie operacje związane z użytkownikiem (tworzenie/zmiany/usunięcie) mogą być dokonane przy pomocy ”smitt/smitty” czy wydając odpowiednie polecenie.
Polecenia do Administracji Użytkowników:
mkuser Tworzy użytkownika
passwd Tworzy hasło
chuser Zmienia cechy użytkownika
lsuser Wyświetla cechy użytkownika
rmuser Usuwa użytkownika
chsec Zmienia cechy użytkownika
login Rozpoczyna sesję użytkownika
who Wyświetla zalogowanych użytkowników
dtconfig Pozwala/nie pozwala na automatyczny start desktopu (X11)
Tworzenie użytkowników
Za nim z tworzysz pierwszego użytkownika, sprawdź czy żaden z tych trzech plików nie wymaga zmiany zawartości: /etc/security/.profile, /usr/lib/security/mkuser.default oraz /usr/lib/security/mkuser.sys. Robiąc to, nie będziesz musiał podawać lokalizacji pliku domowego, powłoki/interpretatora, .profile, itp. Te dane będą pobierane z tych trzech plików. Następnie stwórz grupę czy grupy. Wykorzystanie polecenia do stworzenie użytkownika jest pokazane poniżej :
mkuser id=30189 pgrp=secret gecos='James Bond, Famous Agent 007' jbond
Ostatnie polecenie, tworzy użytkownika o nazwie ‘jbond’ posiadającego numer identyfikacyjny (UID) 20189. Ten użytkownik jest członkiem grupy ‘secret’. Pole ‘gecos’ opisuje tego użytkownika w formie zrozumiałej przez ciebie i mnie (ludzi). Zwróć uwagę, że powłoka i położenie jego domowego pliku nie zostało podane – te wartości zostaną odczytane z plików omówionych we wcześniejszym paragrafie. Nie podanie UID powoduje jego kalkulację przez wydane polecenie – które wybierze do tego celu pierwszy wolny numer. Wielu administratorów zaczyna przyznawać użytkownikom UID poczynając z 3000 – to jest dobra praktyka pozwalająca na łatwe odróżnienie kont systemu od kont użytkowników.
Ostatniego polecenia produkuje następujące rezultaty. Pierw, definicja użytkownika jest dodana do pliku /etc/passwd, zostanie on dodany do odpowiedniej grupy modyfikując plik /etc/group, /etc/security/user plik będzie zmieniony dodając do niego zwrotkę opisującą nowego użytkownika:
jbond:
admin = false
Patrząc na zdanie określające naszego użytkownika w pliku /etc/passwd zwróć uwagę na ‘*’ w drugim polu, który wskazuje, że to konto nie posiada jeszcze hasła – użytkownik nie będzie w stanie się zalogować!
jbond:*:30189:3333: James Bond, Famous Agent 007:/home/jbond:/usr/bin/ksh
Każda linijka w /etc/passwd opisuje jednego użytkownika. Kolejność zapisywania tej informacji jest zawsze taki sam: login:uid:gid:gecos:home:shell, gdzie ‘gid’ to numer identyfikacyjny grupy przechowywany w pliku /etc/group.
Następne polecenie przywiązuje hasło do konta użytkownika:
MarcoPolo:/root>passwd jbond
Changing password for "jbond"
jbond's New password:
Enter the new password again:
Hasło musi być podane dwa razy – w celu sprawdzenia. Rezultatem tego polecenia jest zastąpienie * charakterem ! [lang-en]and the user stanza in the/etc/security/passwd :
MarcoPolo:/root> grep -wp jbond /etc/security/passwd
jbond:
password = V20k5RyLcrXmI
lastupdate = 1249390681
flags = ADMCHG
Wartość ‘ADMCHG’ wskazuje, że użytkownik będzie musiał zmienić hasło w czasie pierwszego logowania.
W przypadku kiedy zmiana hasła przy pierwszym logowaniu nie jest wskazana, wyzeruj atybut flags w pliku /etc/security/passwd. To jest dokonywane wydając polecenie pwdadmin –c login_name.
MarcoPolo:/root> pwdamd –c jbond
MarcoPolo:/root> grep -wp jbond /etc/security/passwd
jbond:
password = V20k5RyLcrXmI
lastupdate = 1249390681
flags =
W celu określenia wartości atrybutów konta użytkownika wydaj polecenie lsuser user_name.
MarcoPolo:/root> lsuser jbond
jbond id=30189 pgrp=secret groups=secret home=/home/jbond shell=/usr/bin/ksh gecos=James Bond, Famous Agent 007 login=true su=true rlogin=true daemon=true admin=false sugroups=ALL admgroups= tpath=nosak ttys=ALL expires=0 auth1=SYSTEM auth2=NONE umask=22 registry=files SYSTEM=compat logintimes= loginretries=5 pwdwarntime=14 account_locked=false minage=1 maxage=13 maxexpired=1 minalpha=1 minother=1 mindiff=3 maxrepeats=8 minlen=8 histexpire=0 histsize=5 pwdchecks= dictionlist= fsize=-1 cpu=-1 data=262144 stack=65536 core=2097151 rss=65536 nofiles=2000 roles=
Zmiany atrybutów:
Środowisko każdego użytkownika może być podzielone na trzy elementy: informacja ogólna, elementy bezpieczeństwa oraz hasło. Produkcja polecenia lsuser zaczyna się od ogólnej informacji jak uid, członkostwo grupowe, plik domowy, powłoka i gecos. Pole ‘login’ oznacza początek informacji dotyczącej bezpieczeństwa. Te elementy są czytane z pliku /etc/security/user. Pamiętaj, że każde konto użytkownika musi być związane z hasłem (nawet jeżeli to hasło nic nie zawiera). Wartości tych atrybutów są modyfikowane przy pomocy polecenia chuser . Atrybuty są modyfikowane przy pomocy polecenia chsec ale większość administratorów użyje do tego celu polecenia chuser , które nie wymaga podawania nazw odpowiednich plików.
Zmiana wartości atrybutów może być przedstawiona na przykładzie użytkownika, który pod rząd (unsuccessful_login_count) dostarczył złe hasło ( przez co przekroczył wartość loginretries i obecnie system operacyjny nie pozwala na jego zalogowanie.
MarcoPolo:/root>lsuser jbond
jbond id=30189 pgrp=staff groups=staff home=/home/jbond shell=/usr/bin/ksh gecos=James Bond, Famous Agent 007 login=true su=true rlogin=true daemon=true admin=false sugroups=ALL admgroups= tpath=nosak ttys=ALL expires=0 auth1=SYSTEM auth2=NONE umask=22 registry=files SYSTEM=compat logintimes= loginretries=5 pwdwarntime=14 account_locked=false minage=1 maxage=13 maxexpired=1 minalpha=1 minother=1 mindiff=3 maxrepeats=8 minlen=8 histexpire=0 histsize=5 pwdchecks= dictionlist= fsize=-1 cpu=-1 data=262144 stack=65536 core=2097151 rss=65536 nofiles=2000 time_last_login=1249392187 time_last_unsuccessful_login=1249392203 tty_last_login=/dev/pts/30 tty_last_unsuccessful_login=ssh host_last_login=000e7f6d9087.cia.gov host_last_unsuccessful_login=000e7f6d9087.gb.spy unsuccessful_login_count=6 roles=
Zwróć uwagę na loginretries=5 oraz unsuccessful_login_count=6. ten drugi numer jest większy od pierwszego – użytkownik, po pięciu kolejnych próbach zalogowania ze złym hasłem będzie miał zablokowany dostęp do maszyny do momentu w którym ustawisz jego unsuccessful_login_count=0 i zmienisz jego hasło wydając polecenie passwd .
MarcoPolo:/root>chuser unsuccessful_login_count=0 jbond
Zwróć uwagę, że zmiana wartości atrybutu indywidualnego użytkownika zmienia odpowiednią wartość w jego zwrotce w jednej czy wszystkich plikach w /etc oraz /etc/security. [lang-en]In the last case, theloginretries = 5 jest podana w zwrotce default w pliku /etc/security/user. Po wydaniu następującego polecenia:
MarcoPolo:/root>chuser loginretries=15 jbond
MarcoPolo:/root>grep -wp jbond /etc/security/user
jbond:
admin = false
loginretries = 15
epctrns1:/root>
Specyfikacja parametru cechy w zwrotce użytkownika jest ważniejsze od jes wartości w zwrotce default.
Wartości atrybutów mogą być również zmieniane edytując ręcznie odpowiednie pliki – to odradzam.
Problemu z logowaniem
Od czasu do czasu, użytkownik doświadczy trudności z logowaniem do maszyny. Bardzo rzadko, to może znaczyć, że liczba kont należących do grupy przekroczyła maksymalną wartość (słyszałem o tym ale nigdy się z tym nie spodkałem. Za zwyczaj jest to rezultatem różnic w zawartości plików położonych w /etc and/etc/security. Polecenie pwdck może być wydane przeciwko jednemu lub przeciwko wszystkim użytkownikom. Ono może naprawić lub tylko podać błędy i ich naturę.
[/alng_en]So far, we have discussed the parameters controlling access and login experience of an individual user. Of course, for some machines thedefault w pliku czy plikach w folderze /etc/security to wszystko co jest potrzebne. Jest wiele innych aspektów logowania, które nie mogą być adresowane na poziomie poszczególnego użytkownika. Użytkownicy mają wybór pomiędzy różnorodnymi tłumaczami poleceń (shells), ilu użytkowników może zalogować w tym samym czasie, jak długo system operacyjny ma czekać na podanie hasła?. Studiuj zawartość pliku /etc/security/login.cfg. Ten plik pomoże ci zabezpieczyć twój system.


0 Responses
Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.