Chapter 6

MANAGING LOCAL USERS AND GROUPS

id
id user01

File structure of /etc/passwd: When /sbin/nologin shell is assigned for user, user can't log in.

user  :password:uid:gid:nickname:homefolder :shell
ubuntu:   x    : 0 : 0 :  root  :/home/ubuntu:/sbin/nologin

File structure of /etc/group

nickname:group password: gid  : member users
group01 :       x      : 10000: user01,user02,user03

sudo gpasswd and newgrp commands can be used to add user as group member.

su

susu - 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:

USERMOD OPTIONS:
USAGE

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

  1. Username of the account this password belongs to.

  2. The encrypted password of the user. The format of encrypted passwords is discussed later in this section.

  3. 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.

  4. The minimum number of days that have to elapse since the last password change before the user can change it again.

  5. 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.

  6. Warning period. The user will be warned about an expiring password when they login for this number of days before the deadline.

  7. 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.

  8. 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.

  9. 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?