GNU/Linux >> Belajar Linux >  >> Linux

Panduan Pemula untuk Administrasi Pengguna dan Grup di Linux

Setiap pengguna di Linux memiliki ID pengguna unik (UID ), yang merupakan bilangan bulat biasa, dan nama pengguna terkait. Pengguna masuk dengan menggunakan nama pengguna mereka, tetapi sistem menggunakan UID terkait. Setiap akun pengguna juga memiliki direktori home dan shell login. Ketika pengguna masuk, mereka ditempatkan di direktori home mereka dan shell login mereka dijalankan. Semua informasi akun pengguna ini disimpan di /etc/passwd berkas.

Setiap pengguna juga termasuk dalam satu atau lebih grup. Pengguna yang berbeda dapat ditugaskan ke grup yang sama. Akses dapat diberikan ke grup dan semua anggota grup diberikan hak akses yang sama. Setiap akun grup di Linux memiliki ID grup unik (GID ) dan nama grup terkait. Informasi grup disimpan di /etc/group berkas.

RedHat Linux menggunakan skema grup pribadi pengguna (UPG) . Saat akun pengguna baru ditambahkan, grup pribadi pengguna baru juga dibuat. Grup pribadi pengguna memiliki nama yang sama dengan pengguna, dan pengguna baru adalah satu-satunya anggota grup ini.

Baik pengguna dan grup menggunakan kata sandi bayangan. Kata sandi di-hash dan disimpan dalam file yang berbeda, /etc/shadow untuk pengguna dan /etc/gshadow untuk kelompok. Keamanan ditingkatkan dengan menyimpan kata sandi hash di file "bayangan", karena file ini hanya dapat dibaca oleh pengguna root. Penggunaan kata sandi bayangan juga menyediakan parameter penuaan kata sandi dan memungkinkan kebijakan keamanan diterapkan, menggunakan file /etc/login.defs. Hanya pengguna root yang dapat menambah, mengubah, atau menghapus akun pengguna dan grup.

File Konfigurasi Pengguna dan Grup

/etc/passwd

Ketika pengguna baru ditambahkan, informasi disimpan sebagai satu baris yang dipisahkan titik dua di /etc/passwd. Berikut adalah contoh entri dalam file ini:

# tail -1 /etc/passwd
test:x:1001:1001:test user:/home/test:/bin/bash

Berikut ini menjelaskan entri ini:

Field Deskripsi
ujian Nama pengguna
x Menunjukkan bahwa sandi bayangan digunakan
1001 UID, ini dimulai dengan 1000 dan bertambah 1 untuk setiap pengguna yang baru ditambahkan. UID di bawah 1000 dicadangkan untuk penggunaan sistem.
1001 GID grup utama pengguna. Ini dimulai dengan 1000 dan bertambah 1 untuk setiap grup baru. Pengguna dapat menjadi anggota lebih dari satu grup.
pengguna uji Informasi GECOS (General Electric Comprehensive Operating System), digunakan hanya untuk tujuan informasi seperti nama lengkap
/home/test Direktori beranda untuk pengguna ini
/bin/bash Cangkang default untuk pengguna ini

/etc/shadow

Dengan kata sandi bayangan, entri baru secara otomatis ditambahkan ke /etc/shadow ketika pengguna baru dibuat. File ini hanya dapat dilihat oleh root. Berikut adalah contoh entri dalam file ini:

# tail -1 /etc/shadow
test:$6$XBCDBQ...:17610:0:99999:7:::

Berikut ini menjelaskan entri ini:

Field Deskripsi
tes Nama pengguna
$6$XBCDBQ… Nilai sandi hash (nilai sebagian ditampilkan). Kata sandi teks biasa itu sendiri tidak disimpan di disk. Algoritme membuat string unik dari kata sandi.
17610 Jumlah hari sejak sandi diubah (dihitung dalam hari sejak 1 Januari 1970).
0 Jumlah hari yang harus dilewati sebelum kata sandi harus diubah oleh pengguna.
99999 Jumlah hari maksimum sejak kata sandi diubah sehingga kata sandi dapat digunakan. Setelah jumlah hari ini, kata sandi harus diubah oleh pengguna.
7 Jumlah hari sebelum tanggal kedaluwarsa saat pengguna diperingatkan tentang kebijakan perubahan sandi yang tertunda. Jika kata sandi tidak diubah setelah beberapa hari ini, akun pengguna akan dikunci.

Kolom berikutnya kosong tetapi digunakan untuk menyimpan tanggal terakhir saat akun dikunci (dihitung dalam hari sejak 1 Januari 1970). Kolom terakhir juga kosong tetapi tidak digunakan.

/etc/group

Karena Oracle Linux menggunakan skema UPG, entri baru secara otomatis dibuat di /etc/group ketika pengguna baru ditambahkan. Nama grup sama dengan nama pengguna. Berikut adalah contoh entri dalam file ini:

# tail -1 /etc/group
test:x:1000:test

Berikut ini menjelaskan entri ini:

Field Deskripsi
tes Nama Grup
x Menunjukkan bahwa sandi bayangan digunakan
1000 GID
tes Daftar pengguna yang menjadi anggota grup

Setiap grup dapat memiliki beberapa pengguna. Pengguna juga dapat menjadi anggota lebih dari satu grup. GID yang disimpan dalam entri pengguna di /etc/passwd adalah grup utama pengguna.

/etc/gshadow

Kata sandi grup yang di-hash disimpan dalam file ini. Namun, kata sandi grup jarang digunakan. Berikut adalah contoh entri dalam file ini:

# tail -1 /etc/gshadow 
test:!!::test

Berikut ini menjelaskan entri ini:

Field Deskripsi
tes Nama Grup
x Kata sandi yang di-hash. !! Menunjukkan bahwa akun terkunci.
peramal Daftar pengguna yang menjadi anggota grup

Dua bidang terakhir digunakan untuk menunjuk administrator dan anggota.

Menambahkan Akun Pengguna

tambahkan pengguna

Gunakan perintah useradd untuk menambahkan akun pengguna. Sintaksnya adalah:

# useradd [options] user_name

Saat membuat pengguna baru tanpa opsi apa pun, pengaturan default diterapkan. Contoh:

# useradd john
# tail -1 /etc/passwd
john:x:501:501::/home/john:/bin/bash

Juga secara default, useradd membuat akun pengguna yang terkunci. Untuk membuka kunci akun dan menetapkan kata sandi, jalankan perintah passwd user_name sebagai root. Contoh:

# passwd john

Perintah passwd user_name meminta Anda untuk memasukkan kata sandi baru. Tergantung pada kerumitan kata sandi, Anda mungkin diberi tahu bahwa kata sandi itu buruk (terlalu pendek atau terlalu sederhana). Masukkan kembali kata sandi yang sama untuk melanjutkan dan membuka kunci akun pengguna. Perintah passwd yang sama digunakan untuk mengubah kata sandi. Pengguna root selalu dapat mengubah kata sandi pengguna. Pengguna diminta untuk memasukkan kata sandi saat ini terlebih dahulu.

Setelan Bawaan

Pengaturan default untuk pengguna baru dapat dilihat dan dimodifikasi dengan menggunakan opsi -D. Contoh:

# useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

INAKTIF direktif menetapkan jumlah hari setelah kata sandi kedaluwarsa hingga akun dikunci. Nilai 0 mengunci akun segera setelah kata sandi kedaluwarsa. Nilai -1 menonaktifkan fitur. Isi SKEL (/etc/skel secara default) disalin ke direktori home pengguna baru saat akun pengguna dibuat. Setelan default disimpan di /etc/default/useradd . Opsi berikut, digunakan dengan –D, ubah default perintah useradd:

  • -b default_home :Awalan jalur awal untuk direktori home pengguna baru
  • -e default_expire_date :Tanggal akun pengguna dinonaktifkan
  • -f default_inactive :Jumlah hari setelah kata sandi kedaluwarsa sebelum akun dikunci
  • -g default_group :Nama atau ID grup untuk grup awal pengguna baru
  • -s default_shell :Shell login pengguna baru

Misalnya, untuk mengubah shell login pengguna baru ke shell Bourne, masukkan berikut ini:

# useradd –D –s /bin/sh user_name

pilihan tambahkan pengguna

Beberapa opsi tersedia untuk perintah useradd untuk mengesampingkan pengaturan default. Berikut ini adalah beberapa opsi yang lebih umum digunakan:

  • -c komentar :Informasi GECOS pengguna baru, seperti nama lengkap
  • -d home_dir :Awalan jalur awal untuk direktori home pengguna baru
  • -e expired_date :Tanggal (format YYYY-MM-DD) saat akun pengguna dinonaktifkan
  • -g initial_group :Nama grup atau nomor grup login awal pengguna. Nama grup harus ada. Nomor grup harus merujuk ke grup yang sudah ada.
  • -Grup G :Daftar grup sekunder tempat pengguna juga menjadi anggotanya. Setiap grup dipisahkan dari yang berikutnya dengan koma, tanpa spasi kosong.
  • -p sandi :Menyetel sandi pengguna baru.
  • -s shell :Nama shell login pengguna

Misalnya, untuk membuat nama pengguna baru "john", dan menyertakan nama pengguna, dan mengubah shell login ke shell C, masukkan berikut ini:

# useradd –c "John Smith" –s /bin/csh john

nologi di Shell

Saat Anda menambahkan akun pengguna baru, pengguna diberikan akses shell secara default. Anda dapat membuat akun pengguna dengan shell nologin untuk tujuan menjalankan layanan seperti SMTP, FTP, atau menjalankan server web, misalnya. Pengguna tanpa shell login tidak dapat masuk ke sistem dan, oleh karena itu, tidak dapat menjalankan perintah apa pun secara interaktif pada sistem. Namun, proses dapat berjalan sebagai pengguna itu.

Masuk sebagai pengguna dengan shell nologin ditolak dengan sopan dan sebuah pesan ditampilkan bahwa akun tidak tersedia. Jika file /etc/nologin.txt ada, nologin menampilkan isi file daripada pesan default. Untuk membuat pengguna nologin, pertama-tama pastikan bahwa nologin ada di /etc/shells berkas:

# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash

Untuk menambahkan pengguna baru bernama test tanpa akses shell:

# useradd -s /sbin/nologin test

Mencoba masuk saat pengujian pengguna ditampilkan:

# su – test
This account is currently not available.

Memodifikasi atau Menghapus Akun Pengguna

modus pengguna

Gunakan perintah usermod untuk mengubah akun pengguna yang ada. Sintaksnya adalah:

# usermod [options] user_name

Salah satu kegunaan paling umum dari perintah usermod adalah menambahkan pengguna ke grup (sekunder) lain. Gunakan –a dan –G opsi diikuti dengan daftar grup sekunder yang dipisahkan koma untuk menambahkan pengguna. Contoh berikut mencantumkan konten /etc/group sebelum dan sesudah memodifikasi pengguna dan menambahkannya ke grup sekunder:

# grep 1017 /etc/group 
students:x:1017:
# usermod –aG 1017 mary 
# grep 1017 /etc/group students:x:1017:mary

userdel

Gunakan perintah userdel untuk menghapus akun pengguna. Contoh:

# userdel john

Administrasi Akun Grup

tambahkan grup

Gunakan perintah groupadd untuk menambahkan akun grup. Sintaksnya adalah:

# groupadd [options] group_name

modus grup

Gunakan perintah groupmod untuk mengubah akun grup. Sintaksnya adalah:

# groupmod [options] group_name

grupdel

Gunakan perintah groupdel untuk menghapus akun grup. Sintaksnya adalah:

# groupdel group_name

Anda dapat menghapus grup meskipun ada anggota dalam grup. Anda tidak dapat menghapus grup utama dari pengguna yang ada. Anda harus menghapus pengguna sebelum menghapus grup.

gpasswd

Gunakan perintah gpasswd untuk mengelola /etc/group dan /etc/gshadow. Setiap grup dapat memiliki administrator, anggota, dan kata sandi. Sintaksnya adalah:

# gpasswd [options] group_name

grup

Perintah groups menampilkan grup yang dimiliki pengguna. Contoh berikut mengilustrasikan bahwa oracle pengguna termasuk dalam dua grup, oracle (grup utama) dan siswa (grup sekunder):

$ grep oracle /etc/passwd
oracle:x:1000:1000:Oracle Student:/home/oracle/bin/bash
$ grep oracle /etc/group
oracle:x:1000: students:x:1056:student1,student2,oracle

Perintah groups (login sebagai oracle) memverifikasi keanggotaan grup ini.

$ whoami
oracle
$ groups 
oracle students

newgrp

Perintah newgrp mengeksekusi shell baru dan mengubah identifikasi grup pengguna yang sebenarnya. Contoh berikut mengilustrasikan ID grup sebelum dan sesudah menjalankan perintah. Ini juga menggambarkan bahwa shell baru dieksekusi.

$ id
uid=1000(oracle) gid=1000(oracle)
groups=1000(oracle),1066(students)... 

Perhatikan bahwa gid sama dengan 1000(Oracle).

$ ps
PID TTY TIME CMD
20279 pts/0 00:00:00 bash 
20411 pts/0 00:00:00 ps
$ newgrp students
$ id
uid=1000(oracle) gid=1066(students)
groups=1000(oracle),1066(students)...

Perhatikan bahwa gid sekarang sama dengan 1066 (siswa). Perhatikan juga bahwa shell baru telah dieksekusi:

$ ps
PID TTY TIME CMD
20279 pts/0 00:00:00 bash
20464 pts/0 00:00:00 bash
20486 pts/0 00:00:00 ps

Perintah newgrp tidak mengenali nomor ID grup dan Anda hanya dapat mengubah nama grup asli Anda menjadi grup tempat Anda menjadi anggota. Menjalankan perintah tanpa argumen akan menetapkan identifikasi grup sebenarnya ke grup utama pengguna.

Konfigurasi Kata Sandi

Penuaan kata sandi mengharuskan pengguna untuk mengubah kata sandi mereka secara berkala. Gunakan perintah chage untuk mengonfigurasi kedaluwarsa kata sandi. Sintaksnya adalah:

# chage [options] user_name

Masukkan perintah chage, diikuti dengan nama pengguna, untuk menampilkan nilai penuaan kata sandi yang ada dan melakukan modifikasi. Misalnya, untuk menampilkan dan mengubah nilai untuk john pengguna, ketik (sebagai root pengguna):

# chage john
Changing the aging information for john
Enter the new value, or press ENTER for the default

	Minimum Password Age [0]: 
	Maximum Password Age [99999]: 
	Last Password Change (YYYY-MM-DD) [2018-03-24]: 
	Password Expiration Warning [7]: 
	Password Inactive [-1]: 
	Account Expiration Date (YYYY-MM-DD) [-1]: 

Informasi penuaan kata sandi disimpan dalam file /etc/shadow. Untuk melihat entri pengguna john sebelum membuat perubahan apa pun:

# grep john /etc/shadow
john:$6$fJB4dWkt$...:17614:0:99999:7:::

Mengubah nilai usia kata sandi minimum menjadi 14 dan nilai usia kata sandi maksimum menjadi 30 berarti dalam 14 hari pengguna memiliki waktu 30 hari untuk mengubah kata sandinya. Entri baru muncul sebagai:

# grep john /etc/shadow
john:$6$fJB4dWkt$...:17614:14:30:7:::

Berdasarkan informasi ini, pengguna diperingatkan untuk mengubah kata sandinya tujuh hari sebelum tanggal kata sandi kedaluwarsa. Arahan INACTIVE digunakan untuk mengatur jumlah hari tidak aktif setelah kata sandi kedaluwarsa sebelum akun pengguna dikunci. Menyetel INACTIVE ke -1 akan menonaktifkan fitur ini.

Chage Opsi

Sejumlah opsi tersedia untuk perintah chage. Untuk membuat daftar informasi penuaan:

# chage -l john
Last password change					: Mar 24, 2018
Password expires					: never
Password inactive					: never
Account expires						: never
Minimum number of days between password change		: 0
Maximum number of days between password change		: 99999
Number of days of warning before password expires	: 7

Untuk memaksa pengguna menyetel sandi baru dengan segera (memaksa kedaluwarsa segera), setel nilai perubahan sandi terakhir ke 0. Contoh:

# chage –d 0 john

Setelah login, pengguna diminta untuk mengubah kata sandinya.

authconfig

Algoritma hashing kata sandi pengguna Linux juga dapat dikonfigurasi. Gunakan perintah authconfig untuk menentukan algoritma yang sedang digunakan, atau untuk mengaturnya ke sesuatu yang berbeda. Untuk menentukan algoritma saat ini:

# authconfig --test | grep hashing
    password hashing algorithm is sha512

Untuk mengubah algoritme, gunakan –passalgo opsi dengan salah satu dari berikut ini sebagai parameter:deskripsi , bigcrypt , md5 , sha256 , atau sha512 , diikuti oleh –pembaruan pilihan. Misalnya, untuk mengubah algoritme ke MD5:

# authconfig --passalgo=md5 --update
CentOS / RHEL :Mengelola penuaan kata sandi untuk pengguna menggunakan chage (dengan Contoh praktis)
Memahami file /etc/login.defs


Linux
  1. Panduan terminal Linux untuk pemula

  2. 10 tutorial perintah Linux untuk pemula dan ahli

  3. Kelola grup pengguna Linux

  1. Bagaimana cara menambahkan pengguna ke grup di Linux

  2. Cara membuat dan menghapus grup pengguna di Linux

  3. 5 Langkah untuk Mengatur Kuota Disk Pengguna dan Grup di UNIX / Linux

  1. Bagaimana cara menambahkan pengguna ke grup di Linux

  2. Cara mengelola Izin/Kepemilikan File dan Direktori di Linux

  3. Cara (Benar) Mengubah UID dan GID pengguna/grup di Linux