Jinsi ya Kusimamia na Kuorodhesha Watumiaji kwenye Ubuntu: Mwongozo Kamili wa Akaunti za Watumiaji, Ruhusa, na Amri

目次

1. Utangulizi

Ubuntu ni usambazaji maarufu wa Linux unaotumiwa na watumiaji wengi, kuanzia mazingira ya kibinafsi hadi mifumo ya seva za biashara. Wakati wa kusimamia mfumo wa Ubuntu, usimamizi wa akaunti za watumiaji ni muhimu. Kwa ujumla, kukagua orodha ya watumiaji waliosajili husaidia katika usimamizi wa usalama na mpangilio wa akaunti.

Makala hii inaeleza jinsi ya kuorodhesha watumiaji kwenye Ubuntu. Inashughulikia kila kitu kutoka amri za msingi hadi njia za kupata maelezo ya kina, na kuifanya iwe muhimu kwa wanaoanza na wataalamu wenye uzoefu.

2. Jinsi ya Kuangalia Orodha ya Watumiaji kwenye Ubuntu

Kwenye Ubuntu, maelezo ya watumiaji yanaweza kupatikana kwa urahisi kwa kutumia faili maalum na amri. Njia zifuatazo huruhusu kuangalia orodha ya watumiaji.

2.1 Orodhesha Orodha ya Watumiaji Kwa Kutumia /etc/passwd

Kwenye Ubuntu, maelezo yote ya watumiaji yanahifadhiwa kwenye faili ya /etc/passwd. Kuonyesha faili hii kunaruhusu kuthibitisha watumiaji wote waliosajili.

Mfano wa Amri

cat /etc/passwd

Kuendesha amri hii kunaonyesha maelezo katika muundo ufuatao:

root:x:0:0:root:/root:/bin/bash
user1:x:1000:1000:User One,,,:/home/user1:/bin/bash
user2:x:1001:1001:User Two,,,:/home/user2:/bin/bash

Kila mstari una vipengele vilivyotenganishwa na alama ya koloni (:) vinavyoshughulikia maelezo yafuatayo:

  1. Jina la Mtumiaji
  2. Nenosiri (sasa linawakilishwa kama x)
  3. Kitambulisho cha Mtumiaji (UID)
  4. Kitambulisho cha Kundi (GID)
  5. Maelezo ya Mtumiaji (sehemu ya maoni)
  6. Saraka ya Nyumbani
  7. Shell ya Kuingia kwa Kawaida

Kwa kuwa faili hii inajumuisha watumiaji wa mfumo, unaweza kuchukua tu watumiaji wa kawaida wa kuingia kwa kutumia njia zifuatazo.

2.2 Kuorodhesha Majina ya Watumiaji Pekee

Ili kuorodhesha majina ya watumiaji pekee, tumia amri ifuatayo:

cut -d: -f1 /etc/passwd

Vinginevyo, unaweza kutumia amri ya awk:

awk -F':' '{ print $1 }' /etc/passwd

Mfano wa pato:

root
user1
user2

2.3 Kutafuta Mtumiaji Mahususi

Ili kuangalia kama mtumiaji maalum yupo, tumia amri ya grep:

grep 'user1' /etc/passwd

Amri hii inaonyesha tu ingizo linalohusiana na user1.

2.4 Kuorodhesha Vikundi kupitia /etc/group

Ili kuangalia vikundi ambavyo mtumiaji anajiunga nazo, rejea faili ya /etc/group:

cat /etc/group | cut -d: -f1

Ili kuorodhesha vikundi ambavyo mtumiaji maalum anajiunga nazo, tumia:

groups user1

Mfano wa pato:

user1 : user1 sudo

Hii inaonyesha kuwa user1 pia ni mwanachama wa kundi la sudo.

3. Jinsi ya Kuangalia Watumiaji Walioingia Sasa

Ubuntu hutoa amri kadhaa za kuthibitisha watumiaji wanaoingia sasa. Amri hizi husaidia kupata maelezo ya kikao na kuingia.

3.1 Kuangalia Watumiaji Walioingia Kwa Kutumia who

Amri ya who inaorodhesha watumiaji wote walioingia sasa.

Mfano wa Amri

who

Mfano wa Pato

user1    tty1         2025-02-16 10:05
user2    pts/0        2025-02-16 11:30

Maelezo ya Vipengele

  1. Jina la Mtumiaji (mtumiaji aliyeingia)
  2. Jina la Kifaa (k.m., tty1 kwa mahali, pts/0 kwa SSH)
  3. Wakati wa Kuingia

Amri ya who ni rahisi na muhimu wakati unataka kuangalia haraka hali ya kuingia.

3.2 Kuangalia Maelezo ya Kina Kwa Kutumia w

Amri ya w hutoa maelezo ya kina zaidi kuliko who.

Mfano wa Amri

w

Mfano wa Pato

11:35:25 up 2:15,  2 users,  load average: 0.03, 0.02, 0.00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
user1    tty1                      10:05    1:30m  0.10s  0.10s -bash
user2    pts/0    192.168.1.10      11:30    0.00s  0.05s  0.02s sshd

Maelezo ya Vipengele

  • Muda wa Kufanya Kazi wa Mfumo
  • Idadi ya Watumiaji Walioingia
  • Wastani wa Uzito wa CPU
  • Jina la Mtumiaji
  • Kifaa
  • Mwenyeji wa Mbali
  • Wakati wa Kuingia
  • Wakati wa Kusubiri
  • Matumizi ya CPU
  • Mchakato Unaofanya Kazi

Anwani ya IP katika sehemu ya FROM husaidia kuthibitisha viingilio vya mbali vya SSH, na kuifanya iwe muhimu kwa ufuatiliaji na usimamizi wa usalama.

3.3 Onyesha Watumiaji Walioingia Kwa Kutumia users

.If you want a simplified list showing only the usernames of logged-in users, the users command is useful.

Command example

users

Example output

user1 user2

This command is a simplified version of who and shows only the logged-in usernames.

3.4 Identify the Current User with whoami

To check which user is executing the current session, use the whoami command.

Command example

whoami

Example output

user1

This command simply displays the username of the current session’s user, making it helpful for verifying the execution context.

3.5 Check Login History Using last

The last command allows you to review the login history of users.

Command example

last

Example output

user1    pts/0        192.168.1.10     Mon Feb 15 10:20   still logged in
user2    tty1                          Mon Feb 15 09:30 - 10:00  (00:30)
root     tty1                          Sun Feb 14 22:15 - 23:45  (01:30)
  • UsernameJina la mtumiaji
  • Terminal usedTerminal iliyotumika
  • Remote IP addressAnuani ya IP ya mbali
  • Login start timeMuda wa kuanza kuingia
  • Logout time (or still logged in)Muda wa kutoka (au bado yuko ndani)
  • Total session durationJumla ya muda wa kikao

This command helps administrators monitor previous access and detect suspicious logins.

4. How to Check Detailed User Information

Ubuntu provides several commands to retrieve detailed information about registered users. Reviewing details such as UID, group membership, and login shell helps administrators manage permissions accurately. This section explains methods using id, groups, finger, and chage.

4.1 Check UID, GID, and Groups Using id

The id command displays the user’s UID (User ID), GID (Group ID), and group membership.

Command example
id user1
Example output
uid=1001(user1) gid=1001(user1) groups=1001(user1),27(sudo),1002(docker)
  • uid → Kitambulisho cha mtumiaji
  • gid → Kitambulisho cha kikundi kikuu
  • groups → Vikundi vyote ambavyo mtumiaji anahusishwa navyo
Check current user information
id

4.2 Check Group Membership via groups

The groups command quickly lists the groups a user belongs to.

Command example
groups user1
Example output
user1 : user1 sudo docker

groups is useful when you want to see only group names without detailed IDs.

4.3 Retrieve User Details Using finger

The finger command provides detailed user information such as full name, login directory, and shell type.

Install command
sudo apt install finger
Command example
finger user1
Example output
Login: user1                    Name: User One
Directory: /home/user1          Shell: /bin/bash
Last login: Mon Feb 16 10:20 (UTC) on pts/0
  • Login → Jina la mtumiaji
  • Name → Jina kamili (hiari)
  • Directory → Saraka ya nyumbani
  • Shell → Shell chaguo-msingi
  • Last login → Muda wa kuingia wa mwisho

4.4 Check Password Expiration with chage

The chage command allows administrators to review the password expiration period and last password change.

Command example
sudo chage -l user1
Example output
Last password change            : Jan 15, 2025
Password expires                : Mar 15, 2025
Password inactive               : never
Account expires                 : never
Minimum number of days between password change : 7
Maximum number of days between password change : 60
Number of days of warning before password expires : 5

. Mabadiliko ya nenosiri ya mwisho → Tarehe ya nenosiri iliyobadilishwa mwisho
Nenosiri linaisha → Tarehe ya kumalizika kwa nenosiri
Nenosiri halipo → Muda wa kutokuwepo kabla nenosiri halifaa
Akaunti inaisha → Tarehe ya kumalizika kwa akaunti
Kiwango cha chini cha siku kati ya mabadiliko ya nenosiri
Kiwango cha juu cha siku kati ya mabadiliko ya nenosiri
Siku za onyo kabla nenosiri linaisha*

Wasimamizi wanaweza kutumia taarifa hii kutekeleza sera za nenosiri na kuongeza usalama wa mfumo.

5. Kusimamia Watumiaji katika Ubuntu (Ongeza, Futa, Badilisha)

Usimamizi sahihi wa watumiaji unaongeza uthabiti na usalama wa mfumo. Ubuntu inatoa amri kadhaa za usimamizi kama vile adduser, deluser, na usermod. Sehemu hii inaelezea jinsi ya kuongeza, kuondoa, na kubadilisha watumiaji.

5.1 Kuongeza Watumiaji

Ubuntu inaruhusu kuongeza watumiaji wapya kwa kutumia amri adduser au useradd.

5.1.1 Amri ya adduser (Inashauriwa)

Amri ya adduser hutoa njia ya mwingiliano wa kuongeza watumiaji.

sudo adduser newuser

Mfano wa mwaliko wa mwingiliano:

Adding user `newuser' ...
Adding new group `newuser' (1002) ...
Adding new user `newuser' (1002) with group `newuser' ...
Creating home directory `/home/newuser' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: ********
Retype new UNIX password: ********
passwd: password updated successfully
Changing the user information for newuser
Enter the new value, or press ENTER for the default
        Full Name []:
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:
Is the information correct? [Y/n]
  • Akaunti ya mtumiaji
  • Kikundi kilichotengwa
  • Saraki ya nyumbani (/home/newuser)
  • Nenosiri la kuingia
  • Taarifa za msingi za akaunti

5.1.2 Amri ya useradd (Ya Juu)

Amri ya useradd ni rafiki kwa maandishi na inatoa udhibiti wa kina lakini haijajengea kila kitu kiotomatiki.

sudo useradd -m -s /bin/bash newuser
sudo passwd newuser
  • -m → Unda saraka ya nyumbani
  • -s /bin/bash → Weka ghala la kuingia

Nenosiri lazima liwekee tofauti wakati wa kutumia amri hii.

5.2 Kufuta Watumiaji

Unaweza kuondoa watumiaji kwa kutumia deluser au userdel.

5.2.1 Amri ya deluser (Inashauriwa)

Amri ya deluser huondoa akaunti ya mtumiaji.

sudo deluser newuser
Ondoa pia saraka ya nyumbani
sudo deluser --remove-home newuser

Hii inafuta akaunti na saraka /home/newuser.

5.2.2 Amri ya userdel (Ya Juu)

Amri ya userdel inatoa udhibiti zaidi.

sudo userdel newuser
sudo userdel -r newuser

5.3 Kubadilisha Watumiaji Waliopo

Tumia amri ya usermod kubadilisha taarifa za watumiaji waliopo.

5.3.1 Badilisha Jina la Mtumiaji

sudo usermod -l newname oldname

5.3.2 Badilisha Saraka ya Nyumbani

sudo usermod -d /new/home/path user1
sudo usermod -d /home/newuser -m user1

5.3.3 Badilisha Uanachama wa Kikundi

sudo usermod -aG sudo user1
groups user1

5.3.4 Badilisha Nenosiri

sudo passwd user1
Enter new UNIX password: ********
Retype new UNIX password: ********
passwd: password updated successfully

6. Muktadha wa Kitaalamu wa Usimamizi wa Watumiaji

Usimamizi wa watumiaji katika Ubuntu unazidi orodha na kubadilisha akaunti. Kuelewa jinsi ya kutumia amri katika hali halisi ni muhimu kwa kudumisha mazingira salama na yenye ufanisi. Sehemu hii inatoa mifano ya matumizi ya kawaida na jinsi ya kuyatatua.

6.1 Tafuta Watumiaji Wanaokidhi Vigezo Maalum

6.1.1 Onyesha Watumiaji Wenye Haki za Msimamizi (sudo)

Ili kuorodhesha watumiaji wenye haki za sudo, tumia amri ya getent kuchunguza faili ya /etc/group:

getent group sudo

Mfano wa matokeo

sudo:x:27:user1,user2
  • sudo:x:27: → Taarifa za kikundi
  • user1,user2 → Watumiaji walio katika kikundi cha sudo

6.1.2 Onyesha Watumiaji Wanaoweza Kuingia

Faili la /etc/passwd lina akaunti za mfumo. Ili kutoa tu watumiaji ambao wanaweza kuingia:

grep '/bin/bash' /etc/passwd

Mfano wa matokeo

user1:x:1001:1001::/home/user1:/bin/bash
user2:x:1002:1002::/home/user2:/bin/bash
  • Watumiaji tu wenye shells kama /bin/bash au /bin/sh wanajumuishwa
  • Akaunti za mfumo zinazotumia /usr/sbin/nologin au /bin/false hutengwa

6.1.3 Onyesha Watumiaji wa Mfumo (Akaunti zisizo za Kuingia)

grep -E '/usr/sbin/nologin|/bin/false' /etc/passwd

Mfano wa matokeo

daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
syslog:x:104:110::/home/syslog:/bin/false

Hii inasaidia wasimamizi kutambua akaunti ambazo hazipaswi kuondolewa kwa bahati mbaya.

6.2 Kusafisha Mara kwa Mara Watumiaji Wasiotumika

6.2.1 Onyesha Muda wa Mwisho wa Kuingia wa Watumiaji Wote

lastlog

Mfano wa matokeo

Username         Port     From             Latest
root            tty1                      Mon Feb 12 14:02:08 +0000 2025
user1           pts/0    192.168.1.10      Mon Jan 15 10:30:12 +0000 2025
user2           pts/1    192.168.1.20      Never logged in
  • Sijawahi kuingia → Mtumiaji hajawahi kuingia
    sudo deluser user2 --remove-home
    

6.2.2 Thibitisha Mabadiliko ya Nywila ya Mwisho

sudo chage -l user1
sudo passwd --expire user1

Mara ijayo mtumiaji atakapoingia, itahitajika kuweka upya nywila kwa sababu za usalama.

6.3 Angalia Watumiaji Waliounganishwa kupitia SSH

who | grep pts

Mfano wa matokeo

user1    pts/0        192.168.1.10     11:30

Hii inasaidia kutambua watumiaji wa mbali na anwani zao za IP.

6.4 Hamisha Taarifa Zote za Mtumiaji kwa CSV

getent passwd | awk -F: '{print $1 "," $3 "," $4 "," $6}' > users.csv

Mfano users.csv

root,0,0,/root
user1,1001,1001,/home/user1
user2,1002,1002,/home/user2
  • Hutoa jina la mtumiaji, UID, GID, na saraka ya nyumbani
  • Data inaweza kuchambuliwa kwa kutumia Excel au majedwali

7. Maswali Yanayoulizwa Mara kwa Mara (FAQ)

7.1 Je, naweza kuhariri /etc/passwd moja kwa moja?

Jibu: Kuhariri moja kwa moja hakupendekezwi. Mabadiliko yasiyo sahihi yanaweza kuzuia kuingia au kuharibu mfumo.

Njia salama:

sudo vipw

7.2 Tofauti Kati ya Amri za who na users

CommandDescription
whoDisplays detailed login information
usersDisplays only usernames of logged-in users

7.3 Jinsi ya Kuangalia Historia ya Kuingia ya Mtumiaji Maalum

last user1

7.4 Jinsi ya Kubadilisha Nywila ya Mtumiaji

sudo passwd user1

7.5 Jinsi ya Kuzima Mtumiaji kwa Muda Muda

sudo usermod -L user1
sudo usermod -U user1

7.6 Ongeza Mtumiaji kwenye Kikundi cha sudo

sudo usermod -aG sudo user1

7.7 Badilisha Saraka ya Nyumbani ya Mtumiaji

sudo usermod -d /new/home/path -m user1

7.8 Ondoa kabisa Mtumiaji na Data Yake

sudo deluser --remove-home user1

au

sudo userdel -r user1

7.9 Angalia Shughuli ya Kina ya Watumiaji Walioko Wameingia

w
  • Watumiaji walioko wameingia
  • Anwani za IP za mbali
  • Michakato ya sasa
  • Mzigo wa mfumo

Hii inaruhusu wasimamizi kufuatilia matumizi na kugundua ufikiaji usioidhinishwa.