Manajemen akun user
Akun user
Sistem linux menyedikan lingkungan multi-user untuk orang dan proses memiliki lingkungan kerja yang terpisah seccara simultan (serentak) yang tujuannya menyediakan ruang pribadi individual bagi setiap user, akun user tententu untuk tujuan khusus tertentu, dan membedakan privillege (hak istimewa) antar user.
Satu akun user khusus untuk bagi user root yang melakukan anything (apasaja) pada sistem agar menghindari kesalahan yang merugikan, keamanan, dan digunakan jika bener-bener diperlukan. Akun user normal adalah orang yang bekerja pada sistem yang beberapa (akun daemon) ada dengan tujuan mengizinkan proses dijalankan sebagai user selain root.
Atribut akun user
File yang menjelaskan atribut akun setiap user di sistem memiliki baris di /etc/passwd
beav:x:1000:1000:Theodore Cleaver:/home/beav:/bin/bash
Nama User : Nama unik yang diberikan kepada setiap user
Kata Sandi User : Kata sandi yang ditetapkan untuk setiap user
Nomor Identifikasi User (UID) : Nomor unik yang ditetapkan ke akun pengguna untuk berbagai tujuan, termasuk penentuan hak istimewa user dan pelacakan aktivitas
Nomor Identifikasi Grup (GID) : Menunjukkan grup utama, utama, atau default user
Komentar atau Informasi GECOS : Metode yang ditentukan untuk menggunakan kolom komentar untuk informasi kontak (nama lengkap, email, kantor, nomor kontak). (Jangan khawatir tentang arti GECOS, ini adalah istilah yang sudah sangat lama.)
Direktori Beranda : Bagi sebagian besar user, ini adalah direktori unik yang menawarkan area kerja bagi user yang dimiliki oleh user dan kecuali root akan ditemukan pada sistem di suatu tempat di bawah
/home
Login Shell : Biasanya, ini adalah program shell seperti
/bin/bash
atau/bin/csh
. Namun terkadang, program alternatif dirujuk di sini untuk kasus-kasus khusus. Secara umum, bidang ini akan menerima semua file yang dapat dieksekusi
Membuat akun user dengan useradd
sudo useradd dexter
langkah-langkah yang dijalankan:
UID tersedia berikutnya yang lebih besar dari UID_MIN (ditentukan dalam
/etc/login.defs
) secara default ditetapkan sebagai UID dexterGrup bernama dexter dengan GID=UID juga dibuat dan ditetapkan sebagai grup utama dexter
Direktori
/home/dexter
dibuat dan dimiliki oleh dextershell login dexter akan menjadi
/bin/bash
Isi
/etc/skel
disalin ke/home/dexter
. Secara default,/etc/skel
menyertakan file startup untuk bash dan untuk sistem X WindowEntri keduanya !! atau ! ditempatkan di bidang kata sandi file
/etc/shadow
untuk entri dexter , sehingga mengharuskan administrator untuk menetapkan kata sandi agar akun dapat digunakan
sudo useradd -s /bin/csh -m -k /etc/skel -c "Bullwinkle J Moose" bmoose
Mengubah dan menghapus akun user
sudo userdel dexter
userdel digunakan untuk mengapus akun user dan opsi -r untuk menghapus direktori home user tapi file lain di sistem milik pengguna yang dihapus akan tetap ada.
sudo usermod -L dexter
usermod digunakan untuk mengubah karakteristik akun user seperti grub, direktori home, nama login, kata sandi, shell default, id user dll. perintah diatas untuk mengunci akun dexter.

Akun terkunci
Linux terdapat beberapa akun sistem yang terkunci (seperi bin, daemon atau sys) yang dapat menjalankan program tapi tidak dapat masuk ke sistem dan tidak memiliki kata sandi valid yang tersedia dengannya dengan shell /sbin/nologin, -L dalam userdel dan mengubah tanggal kadaluwarsa akun. ketika masuk ke sistem mungkin muncul pesan dari /etc/nologin.txt.
ID user dan /etc/passwd
Konvensi yang digunakan sebagian besar distribusi Linux adalah UID kurang dari 1000 dianggap istimewa dan dimiliki sistem, akun user normal dimulai dari 1000 yang sebenernya didefinisikan UID_MIN pada /etc/login.defs. jika user tidak menentukan UID saat menggunakan useradd, sistem akan menetapkan UID secara bertahap mulai dari MIN_UID.
Mengapa menggunakan /etc/shadow
Penggunaan /etc/shadow memungkinkan penuaan kata sandi berdasarkan per user dan untuk menjaga keamanan yang lebih baik dari kata sandi yang di-hash. Izin default /etc/passwd adalah 644(-rw-r--r--) siapapun bisa membaca file tersebut. Jika kata sandi yang di-hash muncul di /etc/passwd siapapun dapan membuat salinan kata sandi yang di-hash dan menggunakan utilitas seperti Crack dan John the Ripper untuk menebak kata sandi asli, ini adalah resiko keamanan.
/etc/shadow memiliki izin 400(-r--------) hanya root yang dapat mengakses file, ini mempersulit seorang untuk mengumpulkan kata sandi yang di-hash.
Lebih lanjut tentang /etc/shadow
beav:$6$iCZyCnBJH9rmq7P.$RYNm10Jg3wrhAtUnahBZ/mTMg.RzQE6iBXyqaXHvxxbKTYqj.d9wpoQFuRp7fPEE3hMK3W2gcIYhiXa9MIA9w1:16316:0:99999:7:::
nama user : nama user unik
kata sandi: nilai kata sandi yang di-hash ( sha512 )
last change (perubahan terakhir) : hari sejak 1 Januari 1970 kata sandi terakhir diubah
mindays : hari minimum sebelum kata sandi dapat diubah
maxdays : jumlah hari maksimum dimana kata sandi harus diubah
warn (peringatkan) : hari sebelum kata sandi kedaluwarsa, pengguna diperingatkan
grace : hari setelah kata sandi habis masa berlakunya, akun tersebut dinonaktifkan
expired : tanggal akun dinonaktifkan/dinonaktifkan
reversed (dicadangkan) : bidang yang dicadangkan
Nama user di setiap catatan harus sama persis dengan yang ditemukan di /etc/passwd
, dan juga harus muncul dalam urutan yang sama. Hash kata sandi adalah string "$6$" diikuti dengan nilai garam delapan karakter, yang kemudian diikuti oleh $ dan hash kata sandi 88 karakter ( sha512 ).
Manajemen kata sandi
Kata sandi dapat diubah dengan passwd, user hanya dapat mengubah kata sandinya sendiri sedangkan root dapat mengubah kata sandi user apapun. secara default, pilihan kata sandi diperiksa oleh pam_cracklib.so yang membuat pilihan kata sandi yang baik.
passwd
sudo passwd dexter
Penuaan kata sandi (chage)
Dianggap penting untuk mengubah kata sandi secara berkala. hal ini membatasi jumlah waktu kata sandi yang diretas dapat berguna bagi penyusup dan digunakan untuk mengunci akun yang tidak digunakan.
chage [-m mindays] [-M maxdays] [-d lastday] [-I inactive] [-E expiredate] [-W warndays] user
sudo chage -l stephane
sudo chage -m 14 -M 30 kevlin
sudo chage -E 2012-4-1 isabelle
sudo chage -d 0 clyde
Shell terbatas
bash -r
Mencegah user menggunakan cd untuk mengubah direktori
Mencegah pengaturan variabel lingkungan SHELL , ENV atau PATH
Melarang menentukan nama jalur atau perintah yang mengandung
/
Membatasi pengalihan output dan/atau input

Akun yang dibatasi
Menggunakan shell terbatas
Membatasi program sistem dan aplikasi pengguna yang tersedia
Membatasi sumber daya sistem
Membatasi waktu akses
Membatasi lokasi akses
Ketika shell yang dibatasi dipanggil, ia mengeksekusi $HOME/.bash
profil tanpa batasan. Inilah sebabnya mengapa pengguna tidak boleh memiliki izin menulis atau mengeksekusi pada direktori home. Dari baris perintah, atau dari skrip, shell terbatas dapat dipanggil dengan /bin/bash -r . Namun, tanda mungkin tidak ditentukan dalam /etc/passwd
file. Cara sederhana untuk mengatasi pembatasan ini adalah dengan melakukan salah satu hal berikut:
cd /bin ; sudo ln -s bash rbash
cd /bin ; sudo ln bash rbash
cd /bin ; sudo cp bash rbash
Saat menyiapkan akun seperti itu, seseorang harus menghindari penambahan direktori sistem ke variabel lingkungan PATH secara tidak sengaja ; ini akan memberikan pengguna yang dibatasi kemampuan untuk menjalankan program sistem lain, seperti shell yang tidak dibatasi.
akun yag dibatasi disebut sebagai limited accounts.
Akun root
akun root hanya boleh digunakan untuk tujuan administratif jika diperlukan dan jangan digunakan sebagai user biasa, kesalahan yang sangat merugikan bagi integritas, stabilitas dan keamanan sistem. login root melalui jaringan umumnya dilarang karena alasan keamanan yang dapat dikonfigurasi pada /etc/ssh/sshd_config dan PAM (Pluggable Authentication Modules) melalui modul pam_securetty.so dan file /etc/securetty yang terkait. login root hanya diizinkan dari device yang terdaftar di /etc/securetty.
konfigurasi auditd untuk mencatat semua perintah yang dijalankan sebagi root.
SSH
SSH (Secure SHell) digunakan seorang untuk login melalui jaringan ke sistem jarak jauh dengan nama user atau lainnya dan mentransfer file ke dan dari mesin jarak jauh.
ssh remote_computer.com
ssh some_user@remote_computer.com
ssh some_user@remote_computer.com apt-get update
scp file.txt remote_computer.com:/tmp
scp usr1@rem1.com:/tmp/f.txt usr2@rem2.com:/tmp/nf.txt
scp -r some_dir farflung.com:/tmp/some_dir
Untuk menjalankan perintah beberapa sistem secara bersamaan dengan skrip:
for machines in node1 node2 node3
do
(ssh $machines some_command &)
done
Authentikasi berbasis key ssh
Konfigurasi server SSH untuk autentikasi tanpa kata sandi dengan menggunakan autentikasi berbasis key yang didasarkan pada skema private-public key. Dengan membuat sepasang file key kriptografi yang cocok yaitu private key dan public key. file private key sebagai kredensial auntentikasi seperti kata sandi yang dirahasiakan dan aman sendangkan file public key disalin ke sistem yang ingin dihubungkan user untuk memverifikasi private key. Hal ini memungkingkan mengakses sistem dengan aman tanpa memasukkan kata sandi secara interaktif setiap saat.
Menghasilkan key SSH
Untuk membuat private key dan mencocokkan public key untuk otentikasi gunakan ssh-keygen dan key akan disimpan di file ~/.ssh/id_rsa dan ~/.ssh/id_rsa.pub. Jika menyetel frasa sandi, harus memasukkan frasa sandi tersebut saat menggunakan private key untuk autentikasi. dapat juga menjalankan program pembantu yang disebut ssh-agent yang dapat menyimpan sementara frasa sandi private key di memori pada awal sesi untuk mendapatkan otentikasi tanpa kata sandi yang sebenarnya.
[student@ubuntu ~]$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in .ssh/id_rsa
Your public key has been saved in /.ssh/id_rsa.pub
The key fingerprint is:
SHA256:YlWDCrDr6WO+p5XtivgiYH0txzBpldMYJBKtAwUoMD8 student@ubuntu
The key's randomart image is:
+---[RSA 3072]----+
|=.+=o..o=.o |
|o+ .o..=.o . |
|. E ..o.o |
| = =.. |
| o o B S |
|.o o * = |
|o o + + |
|oooo.. |
|o=B=... |
+----[SHA256]-----+
Mode izin harus 600 pada private key dan 644 pada public key.
Berbagi public key
perintah ssh-copy-id menyalin public key dari pasangan kunci SSH ke sistem tujuan. Jika menghilangkan jalur ke file public key saat menjalankan ssh-copy-id , file tersebut akan menggunakan file /home/user/.ssh/id_rsa.pub secara default.
student@ubuntu:~$ ssh-copy-id -i .ssh/id_rsa.pub user@remotehost
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/student/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
user@remotehost's password: passwordremotehost
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'user@remotehost'"
and check to make sure that only the key(s) you wanted were added.
Grub
Sistem Linux membentuk kumpulan user yang disebut grup, yang anggotanya memiliki tujuan yang sama. Penggunaan kelompok sangat membantu proyek kolaboratif. User termasuk dalam satu atau lebih grup. Grup didefinisikan dalam /etc/group
, yang memiliki peran yang sama untuk grup seperti /etc/passwd
halnya untuk user. Setiap baris file terlihat seperti:
groupname:password:GID:user1,user2,...
nama grup adalah nama grub
kata sandi adalah pemegang tempat kata sandi. Kata sandi grup dapat diatur, tetapi hanya jika
/etc/gshadow
adaGID adalah pengidentifikasi grup. Nilai antara 0 dan 99 adalah untuk grup sistem. Nilai antara 100 dan GID_MIN (sebagaimana didefinisikan dalam
/etc/login.defs
dan biasanya sama dengan UID_MIN ) dianggap istimewa. Nilai di atas GID_MIN adalah untuk UPG (Grup Pribadi User)user1,user2,... adalah daftar user yang menjadi anggota grup yang dipisahkan koma. Usertidak perlu dicantumkan di sini jika grup ini adalah grup utama pengguna
Manajemen grub
groupadd : Tambahkan grup baru
groupmod : Ubah grup dan tambahkan user baru
groupdel : Menghapus grup
usermod : Mengelola keanggotaan grup user
Utilitas manipulasi grup ini memodifikasi /etc/group
dan (jika ada) /etc/gshadow
, dan hanya dapat dijalankan oleh root.
sudo groupadd -r -g 215 staff
sudo groupmod -g 101 blah
sudo groupdel newgroup
sudo usermod -G student,group1,group2 student

Grub pribadi user
Linux menggunakan User Private Groups (UPG) untuk setiap user agar memiliki grubnya sendiri, UPG tidak dijamin bersifat pribadi, anggota dapat ditambahkan ke grub pribadi seorang di /etc/group. Sebagaimana ditentukan dalam /etc/profile
, umask diatur ke 002 untuk semua user yang dibuat dengan UPG. Berdasarkan skema ini, file pengguna dibuat dengan izin 664 ( rw-rw-r-- ) dan direktori dengan 775 ( rwxrwxr-x ).
Keanggotaan grub
Seorang user dilinux memiliki 1 grub utama yang terdaftar di /etc/passwd dan akan terdaftar di /etc/group. Grup utama adalah GID yang digunakan setiap kali user membuat file atau direktori. Keanggotaan di grup sekunder lainnya memberikan izin tambahan kepada pengguna.
Keanggotaan grup dapat diidentifikasi dengan menjalankan salah satu perintah berikut:
groups [user1 user2 ...]
id -Gn [user1 user2 ...]
Last updated