Chapter 6
MANAGING LOCAL USERS AND GROUPS
File structure of /etc/passwd:
When /sbin/nologin
shell is assigned for user, user can't log in.
File structure of /etc/group
sudo gpasswd
and newgrp
commands can be used to add user as group member.
su
su
və su -
arasındakı fərq.
su
ilə user01-dən user02-yə keçdikdə, user01-in environment variable-ləri istifadə olunur. ($PATH buna daxildir)
su -
ilə user01-dən user02-yə keçdikdə, user02-nin environment variable-ləri istifadə olunur. Elə buna görə də, bu üsulla keçid etdikdə, pwd dəyişir və user02-nin home qovluğu olur.
login shell vs non-login shell
Hal-hazırda hansı tip shell-də olduğumuza baxmaqçün aşağıdakı komandanı icra edirik:
login shell - adətən əməliyyat sisteminə console vəya ssh vasitəsilə daxil olduqda verilən shell-dir.
non-login shell - user spesific initialization scripti (~/.bashrc) oxuyur,
sudo
wheel qrupunun üzvləri istənilən istifadəçi adından komandaları icra edə bilərlər.
sudo komandasının loqları default olaraq /var/log/secure
da loqlanır.
sudo -s
$HOME
, $SHELL
, $USER
, və $LOGNAME
istisna olmaqla, keçid etdiyimiz istifadəçinin environment variable-larını gətirir. Komandanı icra edən istifadəçinin home qovluğunda qalırıq.
sudo -i
Komandanın keçid etdiyi istifadəçinin qovluğuna keçirik, keçid etdiyimiz istifadəçinin .profile
, .bash_profile
fayllarını oxuyub mənimsəyir.
sudoers
Default /etc/sudoers
faylı:
%
rule istifadəçiyə aid olduqda % işarəsi olmur, rule qrupa aiddirsə % işarəsi olur.
ALL=
sudoers faylının olduğu bütün hostlarda sudoers faylı tətbiq olunsun
(ALL)
komandalar wheel qrupunun hansı istifadəçisi adıyla execute oluna bilər? (sudo -u username)
NOPASSWD:
sudo istifadə olunanda şifrə istənilməsin
ALL
sol tərəfdə adı çəkilən istifadəçi/qrup üzvləri hansı komandaları icra edə bilər?
Example rule:
Only in redhat.int.local server, members of group "inzibatcilar" can run "ping" and "tracert" commands as an admin user. Like this:
/etc/sudoers.d/rulename
Managementi asanlaşdırmaq üçün sözügedən qovluğa ruleları yazmaq mümkündür. Məsələn:
Managing local user accounts
İstifadəçiləri əlavə etmək üçün useradd komandasından istifadə etmək olar.
useradd komandası istifadəçi yaradılarkən hansı konfiqrasiya ilə yaradılacağını /etc/login.defs faylından götürür. Yeni istifadəçi yaratdıqda onun home qovluğu, UID və GID kimi dəyərlərinin təyin olunması bu fayldan asılıdır. Həmin faylın default parametrləri:
Sistemə yeni istifadəçinin əlavə olunması üçün iki əsas alət var: adduser və useradd. Onlardan adduser daha istifadəçi dostudur, useradd isə daha köhnədir.
Sistemə yeni istifadəçini şifrəsilə birlikdə əlavə etmək üçün oneliner:
-m (yaradılacaq istifadəçinin home qovluğu olmazsa, onu yaradır)
İstifadəçiləri userdel komandası ilə silərkən -r optionundan istifadə etmək lazımdır. Çünki əgər -r siz silinərsə, həmin istifadəçinin yaratdığı fayllar yiyəsiz qalacaq. Yeni yaradılmış istifadəçi köhnənin UID-sini götürüb, köhnə fayllara yiyə dura bilər. Məsələn:
Sistemdəki yiyəsiz faylları tapmaqçün aşağıdakı komandanı istifadə etmək olar:
usermod
usermod komandası ilə istifadəçi hesabı üzərində aşağıdakı əməliyyatları etmək mümkündür:
Add the user's real name to the comment field.
Specify the primary group for the user account.
Specify a comma-separated list of supplementary groups for the user account.
-a, --append
Used with the -G option to add the supplementary groups to the user's current set of group memberships instead of replacing the set of supplementary groups with a new set.
Specify a particular home directory for the user account.
Move the user's home directory to a new location. Must be used with the -d option.
Specify a particular login shell for the user account.
-L, --lock
Lock the user account.
-U, --unlock
Unlock the user account.
usermod komandası vasitəsilə istifadəçinin aid olduğu qrupu dəyişmək mümkündür:
Əgər istifadəçinin qrupunu dəyişmək yox, onu hansısa qrupa əlavə etmək istəyiriksə, onda -a
istifadə etmək lazımdır.
İstifadəçi hesabının lock olunması zamanı istifadəçi şifrəsini düzgün daxil etdiyi halda belə, ona Authentication failure bildirişi çıxır:
İstifadəçinin hesabının hansı tarixdə lock olunacağının təyin olunması:
Istifadəçi hesabının unlock olunması:
Bəzən istifadəçilərin sistemə girişinin qarşısını almaq təhlükəsizlik tədibiri kimi önəmli olur. Bu halda usermod komandasını aşağıdakı kimi istifadə etmək mümkündür:
Managing local group accounts
groupadd
groupadd komandası vasitəsilə yeni istifadəçi qrupları yaratmaq mümkündür:
groupmod
groupmod komandası vasitəsilə mövcud olan qrupun konfiqurasiyası dəyişdirilə bilər:
groupdel
groupdel komandası vasitəsilə mövcud qrupu silmək mümkündür. Əgər qrupun içində hər hansı istifadəçi mövcud olarsa, qrup silinməyəcək.
Managing user passwords
Username of the account this password belongs to.
The encrypted password of the user. The format of encrypted passwords is discussed later in this section.
The day on which the password was last changed. This is set in days since 1970-01-01, and is calculated in the UTC time zone.
The minimum number of days that have to elapse since the last password change before the user can change it again.
The maximum number of days that can pass without a password change before the password expires. An empty field means it does not expire based on time since the last change.
Warning period. The user will be warned about an expiring password when they login for this number of days before the deadline.
Inactivity period. Once the password has expired, it will still be accepted for login for this many days. After this period has elapsed, the account will be locked.
The day on which the password expires. This is set in days since 1970-01-01, and is calculated in the UTC time zone. An empty field means it does not expire on a particular date.
The last field is usually empty and is reserved for future use.
Note: If malicious user can modify /etc/passwd
file in some way, he could alter the x
value of th e root
account and use this tool to hash his own cleartext password:
chage
chage komandası password aging policy təyin etmək üçün istifadə edilir.
-d İstifadəçi neçə gün sonra giriş etdikdə şifrəsini dəyişməlidir
-m İstifadəçi yeni şifrə təyinindən neçə gün sonra öz şifrəsini dəyişə bilər.
-M Hazırki şifrə neçə gün istifadə oluna bilər
-W Şifrə köhnəlməyə neçə gün qalmış istifadəçi xəbərdar olunmalıdır
-I Expire date-dən sonraki neçə gündən sonra istifadəçi hesabı disabled olacaq
Chage komandasından istifadə vaxtı günlərin hesablanmasına ehtiyac duyulduğu halda:
Last updated
Was this helpful?