Mengelola Pengguna & Grup, Izin File & Atribut dan Mengaktifkan Akses Sudo di Akun - Bagian 8
- 2187
- 371
- Hector Kuhic
Agustus lalu, Linux Foundation memulai LFCS Sertifikasi (Linux Foundation Certified Sysadmin), program baru yang tujuannya adalah untuk memungkinkan individu di mana saja dan di mana saja mengikuti ujian untuk mendapatkan sertifikasi dalam dukungan operasional dasar hingga menengah untuk sistem Linux, yang mencakup mendukung sistem dan layanan yang sedang berjalan, bersama dengan pemantauan dan analisis secara keseluruhan, ditambah cerdas pengambilan keputusan untuk dapat memutuskan kapan perlu meningkatkan masalah ke tim pendukung tingkat lebih tinggi.
Linux Foundation Certified Sysadmin - Bagian 8Silakan lihat dengan cepat video berikut yang menjelaskan pengantar program sertifikasi Linux Foundation.
Artikel ini adalah bagian 8 dari seri panjang 10-tutorial, di sini di bagian ini, kami akan memandu Anda tentang cara mengelola pengguna dan grup izin dalam sistem Linux, yang diperlukan untuk ujian sertifikasi LFCS.
Karena Linux adalah sistem operasi multi-pengguna (di dalamnya memungkinkan banyak pengguna di berbagai komputer atau terminal untuk mengakses satu sistem), Anda perlu tahu bagaimana melakukan manajemen pengguna yang efektif: cara menambah, mengedit, menangguhkan, atau menghapus akun pengguna, bersama dengan memberi mereka izin yang diperlukan untuk melakukan tugas yang ditugaskan.
Menambahkan akun pengguna
Untuk menambahkan akun pengguna baru, Anda dapat menjalankan salah satu dari dua perintah berikut sebagai root.
# addUser [new_account] # useradd [new_account]
Ketika akun pengguna baru ditambahkan ke sistem, operasi berikut dilakukan.
1. Direktori rumahnya dibuat (/rumah/nama pengguna secara default).
2. File tersembunyi berikut disalin ke direktori home pengguna, dan akan digunakan untuk memberikan variabel lingkungan untuk sesi penggunanya.
.Bash_logout .Bash_profile .Bashrc
3. Spool email dibuat untuk pengguna AT/var/spool/mail/nama belakang.
4. Sebuah grup dibuat dan diberi nama yang sama dengan akun pengguna baru.
Pemahaman /etc /passwd
Informasi akun lengkap disimpan di /etc/passwd mengajukan. File ini berisi catatan per akun pengguna per sistem dan memiliki format berikut (bidang dibatasi oleh usus besar).
[Nama pengguna]: [x]: [uid]: [gid]: [komentar]: [direktori home]: [shell default]
- Bidang [nama belakang] Dan [Komentar] adalah penjelasan diri.
- Itu X di bidang kedua menunjukkan bahwa akun dilindungi oleh kata sandi yang dibayangi (IN /etc/shadow), yang diperlukan untuk masuk [nama belakang].
- Itu [Uid] Dan [GID] bidang adalah bilangan bulat yang mewakili identifikasi pengguna dan identifikasi grup utama yang mana [nama belakang] milik masing -masing.
- Itu [Direktori Rumah] menunjukkan jalur absolut ke [nama belakang]Direktori rumah, dan
- Itu [Shell default] adalah shell yang akan tersedia untuk pengguna ini ketika dia mencatat sistem.
Memahami /etc /group
Informasi kelompok disimpan di /etc/group mengajukan. Setiap catatan memiliki format berikut.
[Nama grup]: [Kata sandi grup]: [GID]: [anggota grup]
- [Nama grup] adalah nama grup.
- Sebuah X di dalam [Kata sandi grup] menunjukkan kata sandi grup tidak digunakan.
- [GID]: Sama seperti di /etc /passwd.
- [Anggota kelompok]: Daftar pengguna yang terpisah koma yang merupakan anggota [Nama grup].
Setelah menambahkan akun, Anda dapat mengedit informasi berikut (untuk menyebutkan beberapa bidang) menggunakan usermod perintah, yang sintaks dasar USERMODnya adalah sebagai berikut.
# usermod [opsi] [nama pengguna]
Mengatur tanggal kedaluwarsa untuk akun
Menggunakan -tanggal kadaluarsa Bendera diikuti dengan tanggal masuk Yyyy-mm-dd format.
# Usermod-Expiredate 2014-10-30 Tecmint
Menambahkan pengguna ke grup tambahan
Gunakan gabungan -Ag, atau -menambahkan -kelompok opsi, diikuti oleh daftar grup yang terpisah koma.
# USERMOD --Perpends --Groups Root, Pengguna Tecmint
Mengubah lokasi default direktori rumah pengguna
Menggunakan -D, atau -rumah opsi, diikuti oleh jalur absolut ke direktori home baru.
# USERMOD --HOME /TMP TECMINT
Mengubah shell yang akan digunakan pengguna secara default
Menggunakan -kerang, diikuti oleh jalan menuju cangkang baru.
# usermod -shell /bin /sh tecmint
Menampilkan grup yang menjadi anggota
# grup tecmint # id tecmint
Sekarang mari kita jalankan semua perintah di atas dalam sekali jalan.
# USERMOD-Expiredate 2014-10-30-Lapehkan --Groups Root, Pengguna --HOME /TMP --Shell /BIN /SH TECMINTContoh Komando Usermod
Dalam contoh di atas, kami akan menetapkan tanggal kedaluwarsa tecmint akun pengguna ke 30 Oktober 2014. Kami juga akan menambahkan akun ke akar dan grup pengguna. Akhirnya, kami akan mengatur SH
sebagai shell default dan ubah lokasi direktori home /tmp:
Baca juga:
- 15 Contoh Perintah UserAdd di Linux
- 15 Contoh Perintah Usermod di Linux
Untuk akun yang ada, kami juga dapat melakukan hal berikut.
Menonaktifkan akun dengan mengunci kata sandi
Menggunakan -L (huruf besar l) atau -kunci Opsi untuk mengunci kata sandi pengguna.
# usermod -lock tecmint
Membuka Kata Sandi Pengguna
Menggunakan -u atau -membuka kunci opsi untuk membuka kunci kata sandi pengguna yang sebelumnya diblokir.
# usermod -untung tecmintKunci Akun Pengguna
Membuat grup baru untuk membaca dan menulis akses ke file yang perlu diakses oleh beberapa pengguna
Jalankan serangkaian perintah berikut untuk mencapai tujuan.
# groupadd common_group # tambahkan grup baru # chown: common_group common.txt # ubah pemilik grup Common.txt to common_group # usermod -ag common_group user1 # tambahkan user1 ke common_group # usermod -ag common_group user2 # tambahkan user2 ke common_group # usermod -ag common_group user3 # tambahkan user3 ke common_group
Menghapus grup
Anda dapat menghapus grup dengan perintah berikut.
# groupdel [group_name]
Jika ada file yang dimiliki oleh nama grup, Mereka tidak akan dihapus, tetapi pemilik grup akan diatur ke Gid dari kelompok yang dihapus.
Izin File Linux
Selain dasar membaca, menulis, dan menjalankan izin yang kita bahas dalam alat pengarsipan dan mengatur atribut file - bagian 3 dari seri ini, ada pengaturan izin lain yang kurang digunakan (tetapi tidak kurang penting), kadang -kadang disebut sebagai “izin khusus".
Seperti izin dasar yang dibahas sebelumnya, mereka diatur menggunakan file oktal atau melalui surat (notasi simbolik) yang menunjukkan jenis izin.
Menghapus akun pengguna
Anda dapat menghapus akun (bersama dengan direktori home, jika dimiliki oleh pengguna, dan semua file yang berada di dalamnya, dan juga spool surat) menggunakan Userdel Perintah dengan -menghapus pilihan.
# UserDel - -Muncul [Nama Pengguna]
Manajemen kelompok
Setiap kali akun pengguna baru ditambahkan ke sistem, grup dengan nama yang sama dibuat dengan nama pengguna sebagai satu -satunya anggota. Pengguna lain dapat ditambahkan ke grup nanti. Salah satu tujuan grup adalah untuk mengimplementasikan kontrol akses sederhana ke file dan sumber daya sistem lainnya dengan menetapkan izin yang tepat pada sumber daya tersebut.
Misalnya, misalkan Anda memiliki pengguna berikut.
- user1 (grup utama: user1)
- user2 (grup utama: user2)
- user3 (grup utama: user3)
Semuanya membutuhkan membaca Dan menulis Akses ke file yang dipanggil umum.txt terletak di suatu tempat di sistem lokal Anda, atau mungkin di jaringan berbagi itu user1 telah menciptakan. Anda mungkin tergoda untuk melakukan sesuatu seperti,
# chmod 660 umum.txt atau # chmod u = rw, g = rw, o = umum.txt [perhatikan ruang antara tanda setara terakhir dan nama file]
Namun, ini hanya akan menyediakan membaca Dan menulis Akses ke pemilik file dan kepada pengguna yang merupakan anggota pemilik grup file (user1 pada kasus ini). Sekali lagi, Anda mungkin tergoda untuk menambahkan user2 Dan Pengguna3 ke grup user1, Tapi itu juga akan memberi mereka akses ke sisa file yang dimiliki oleh pengguna user1 dan kelompok user1.
Di sinilah kelompok berguna, dan inilah yang harus Anda lakukan dalam kasus seperti ini.
Memahami Setuid
Ketika setuid Izin diterapkan pada file yang dapat dieksekusi, pengguna yang menjalankan program mewarisi hak istimewa yang efektif dari pemilik program. Karena pendekatan ini dapat meningkatkan masalah keamanan secara wajar, jumlah file dengan izin setuid harus dijaga seminimal mungkin. Anda kemungkinan akan menemukan program dengan set izin ini ketika pengguna sistem perlu mengakses file yang dimiliki oleh root.
Menyimpulkan, bukan hanya bahwa pengguna dapat menjalankan file biner, tetapi juga bahwa ia dapat melakukannya dengan hak istimewa Root. Misalnya, mari kita periksa izin /bin/passwd. Biner ini digunakan untuk mengubah kata sandi dari suatu akun, dan memodifikasi /etc/shadow mengajukan. Superuser dapat mengubah kata sandi siapa pun, tetapi semua pengguna lain seharusnya hanya dapat mengubahnya sendiri.
Contoh Komando PasswdDengan demikian, pengguna mana pun harus memiliki izin untuk menjalankan /bin/passwd, tetapi hanya root yang dapat menentukan akun. Pengguna lain hanya dapat mengubah kata sandi yang sesuai.
Ubah Kata Sandi PenggunaMemahami Setgid
Ketika setgid bit diatur, efektif Gid dari pengguna nyata menjadi pemilik grup. Dengan demikian, setiap pengguna dapat mengakses file di bawah hak istimewa yang diberikan kepada pemilik grup dari file tersebut. Selain itu, ketika bit setgid diatur pada direktori, file yang baru dibuat mewarisi grup yang sama dengan direktori, dan subdirektori yang baru dibuat juga akan mewarisi bit setgid dari direktori induk. Anda kemungkinan besar akan menggunakan pendekatan ini setiap kali anggota grup tertentu memerlukan akses ke semua file dalam direktori, terlepas dari grup utama pemilik file.
# chmod g+s [nama file]
Untuk mengatur setgid Dalam bentuk oktal, persiapkan nomor 2 ke izin dasar saat ini (atau diinginkan).
# CHMOD 2755 [Direktori]
Mengatur setgid di direktori
Tambahkan SetGid ke DirektoriMemahami sedikit lengket
Ketika "Bit lengket“Diatur pada file, Linux hanya mengabaikannya, sedangkan untuk direktori itu memiliki efek mencegah pengguna menghapus atau bahkan mengganti nama file yang dikandungnya kecuali pengguna memiliki direktori, file, atau root.
# chmod o+t [direktori]
Untuk mengatur Bit lengket Dalam bentuk oktal, persiapkan nomor 1 ke izin dasar saat ini (atau diinginkan).
# chmod 1755 [direktori]
Tanpa bit lengket, siapa pun dapat menulis ke direktori dapat menghapus atau mengganti nama file. Untuk alasan itu, bit lengket umumnya ditemukan di direktori, seperti /tmp, Itu terbuat dari dunia.
Tambahkan Stickybit ke DirektoriAtribut File Linux Khusus
Ada atribut lain yang memungkinkan batasan lebih lanjut pada operasi yang diizinkan pada file. Misalnya, mencegah file menjadi berganti nama, dipindahkan, dihapus, atau bahkan dimodifikasi. Mereka diatur dengan perintah chattr dan dapat dilihat menggunakan lsattr alat, sebagai berikut.
# chattr +i file1 # chattr +file2
Setelah mengeksekusi kedua perintah itu, file1 akan tidak dapat diubah (yang berarti tidak dapat dipindahkan, diganti namanya, dimodifikasi atau dihapus) sedangkan file2 akan memasukkan mode append-only (hanya bisa terbuka dalam mode apend untuk menulis).
Perintah chattr untuk melindungi fileMengakses akun root dan menggunakan sudo
Salah satu cara pengguna dapat memperoleh akses ke akun root adalah dengan mengetik.
$ su
dan kemudian memasukkan kata sandi Root.
Jika otentikasi berhasil, Anda akan masuk sebagai akar dengan direktori kerja saat ini sama seperti sebelumnya. Jika Anda ingin ditempatkan di direktori home root, jalankan.
$ su -
Dan kemudian masukkan kata sandi root.
Aktifkan akses sudo pada penggunaProsedur di atas mengharuskan pengguna normal mengetahui kata sandi Root, yang menimbulkan risiko keamanan yang serius. Untuk alasan itu, sysadmin dapat mengkonfigurasi sudo Perintah untuk mengizinkan pengguna biasa untuk menjalankan perintah sebagai pengguna yang berbeda (biasanya superuser) dengan cara yang sangat terkontrol dan terbatas. Dengan demikian, pembatasan dapat ditetapkan pada pengguna sehingga memungkinkannya untuk menjalankan satu atau lebih perintah istimewa dan tidak ada yang lain.
Baca juga: Perbedaan antara pengguna Su dan sudo
Untuk mengotentikasi penggunaan sudo, Pengguna menggunakan kata sandi sendiri. Setelah memasukkan perintah, kami akan diminta untuk kata sandi kami (bukan superuser) dan jika otentikasi berhasil (dan jika pengguna telah diberikan hak istimewa untuk menjalankan perintah), perintah yang ditentukan dilakukan.
Untuk memberikan akses ke sudo, administrator sistem harus mengedit /etc/sudoers mengajukan. Disarankan agar file ini diedit menggunakan Visudo perintah alih -alih membukanya langsung dengan editor teks.
# Visudo
Ini membuka /etc/sudoers file menggunakan vim (Anda dapat mengikuti instruksi yang diberikan di Instal dan Gunakan Vim sebagai Editor - Bagian 2 dari seri ini untuk mengedit file).
Ini adalah baris yang paling relevan.
Default Secure_path = "/usr/sbin:/usr/bin:/sbin" root all = (all) all tecmint all =/bin/yum update gacanepa all = nopasswd:/bin/updateB %admin semua = (semua) semua) semua = nopasswd:/bin/up updatedb %all = (all) all) all) all) all)
Mari kita lihat lebih dekat mereka.
Default Secure_path = "/usr/sbin:/usr/bin:/sbin:/usr/local/bin"
Baris ini memungkinkan Anda menentukan direktori yang akan digunakan untuk sudo, dan digunakan untuk mencegah penggunaan direktori khusus pengguna, yang dapat membahayakan sistem.
Baris berikutnya digunakan untuk menentukan izin.
root all = (all) all
- Pertama SEMUA Kata kunci menunjukkan bahwa aturan ini berlaku untuk semua host.
- Kedua SEMUA menunjukkan bahwa pengguna di kolom pertama dapat menjalankan perintah dengan hak istimewa pengguna mana pun.
- Ketiga SEMUA berarti perintah apa pun dapat dijalankan.
tecmint all =/bin/yum pembaruan
Jika tidak ada pengguna yang ditentukan setelah = tanda, sudo mengasumsikan pengguna root. Dalam hal ini, pengguna tecmint akan bisa berlari pembaruan yum sebagai root.
gacanepa all = nopasswd:/bin/updateBb
Itu Nopasswd Petunjuk memungkinkan pengguna gacanepa berjalan /bin/updatedb tanpa perlu memasukkan kata sandinya.
%admin semua = (semua) semua
Itu % Tanda menunjukkan bahwa baris ini berlaku untuk grup yang disebut “admin". Arti dari sisa garis itu identik dengan pengguna biasa. Ini berarti anggota kelompok “admin”Dapat menjalankan semua perintah sebagai pengguna mana pun di semua host.
Untuk melihat hak istimewa apa yang diberikan kepada Anda oleh sudo, gunakan “-lOpsi untuk mendaftarkannya.
Aturan akses sudoPAM (modul otentikasi pluggable)
Modul Otentikasi Pluggable (PAM) Tawarkan fleksibilitas pengaturan skema otentikasi spesifik berdasarkan per aplikasi dan / atau per-layanan menggunakan modul. Alat ini hadir pada semua distribusi Linux modern mengatasi masalah yang sering dihadapi oleh pengembang pada hari -hari awal Linux, ketika setiap program yang membutuhkan otentikasi harus dikompilasi secara khusus untuk mengetahui cara mendapatkan informasi yang diperlukan.
Misalnya, dengan PAM, tidak masalah apakah kata sandi Anda disimpan di /etc/shadow atau di server terpisah di dalam jaringan Anda.
Misalnya, ketika program login perlu mengotentikasi pengguna, PAM secara dinamis memberikan perpustakaan yang berisi fungsi untuk skema otentikasi yang tepat. Dengan demikian, mengubah skema otentikasi untuk aplikasi login (atau program lain menggunakan PAM) mudah karena hanya melibatkan pengeditan file konfigurasi (kemungkinan besar, file yang dinamai aplikasi, yang terletak di dalam /etc/pam.D
, dan lebih kecil kemungkinannya /etc/pam.conf
).
File di dalam /etc/pam.D
menunjukkan aplikasi mana yang menggunakan Pam secara asli. Selain itu, kami dapat mengetahui apakah aplikasi tertentu menggunakan PAM dengan memeriksa apakah itu perpustakaan PAM (libpam) telah dikaitkan dengan itu:
# LDD $ (Login mana) | Grep Libpam # Login menggunakan Pam # ldd $ (yang atas) | grep libpam # atas tidak menggunakan PamPeriksa Perpustakaan Linux Pam
Pada gambar di atas kita dapat melihat bahwa libpam telah dikaitkan dengan aplikasi login. Ini masuk akal karena aplikasi ini terlibat dalam pengoperasian otentikasi pengguna sistem, sedangkan Top tidak.
Mari kita periksa file konfigurasi PAM untuk passwd - Ya, utilitas terkenal untuk mengubah kata sandi pengguna. Itu terletak di /etc/pam.d/passwd:
# kucing /etc /passwdFile konfigurasi PAM untuk kata sandi linux
Kolom pertama menunjukkan jenis
otentikasi untuk digunakan dengan modul-path
(kolom ketiga). Ketika tanda hubung muncul sebelum jenis, PAM tidak akan merekam ke log sistem jika modul tidak dapat dimuat karena tidak dapat ditemukan dalam sistem.
Jenis otentikasi berikut tersedia:
akun
: Jenis modul ini memeriksa apakah pengguna atau layanan telah memberikan kredensial yang valid untuk mengotentikasi.auth
: Jenis modul ini memverifikasi bahwa pengguna adalah siapa yang dia klaim sebagai dan memberikan hak istimewa yang dibutuhkan.kata sandi
: Jenis modul ini memungkinkan pengguna atau layanan untuk memperbarui kata sandi mereka.sidang
: Jenis modul ini menunjukkan apa yang harus dilakukan sebelum dan/atau setelah otentikasi berhasil.
Kolom kedua (dipanggil kontrol
) menunjukkan apa yang harus terjadi jika otentikasi dengan modul ini gagal:
syarat
: Jika otentikasi melalui modul ini gagal, otentikasi keseluruhan akan segera ditolak.diperlukan
mirip dengan syarat, meskipun semua modul terdaftar lainnya untuk layanan ini akan dipanggil sebelum menolak otentikasi.memadai
: Jika otentikasi melalui modul ini gagal, PAM masih akan memberikan otentikasi bahkan jika yang sebelumnya ditandai seperti yang dipersyaratkan gagal.opsional
: Jika otentikasi melalui modul ini gagal atau berhasil, tidak ada yang terjadi kecuali ini adalah satu -satunya modul dari jenisnya yang ditentukan untuk layanan ini.termasuk
berarti bahwa baris dari jenis yang diberikan harus dibaca dari file lain.Substack
mirip dengan termasuk tetapi kegagalan atau keberhasilan otentikasi tidak menyebabkan keluar dari modul lengkap, tetapi hanya dari substack.
Kolom keempat, jika ada, menunjukkan argumen untuk diteruskan ke modul.
Tiga baris pertama masuk /etc/pam.d/passwd (ditunjukkan di atas), muat sistem-auth Modul untuk memeriksa apakah pengguna telah memberikan kredensial (akun) yang valid. Jika demikian, itu memungkinkan dia untuk mengubah token otentikasi (kata sandi) dengan memberikan izin untuk menggunakan PassWD (auth).
Misalnya, jika Anda menambahkan
Ingat = 2
ke baris berikut
Kata Sandi Pam_unix yang cukup.Jadi sha512 bayangan nullok try_first_pass use_authtok
di dalam /etc/pam.D/System-Auth:
Kata Sandi Pam_unix yang cukup.Jadi sha512 bayangan nullok try_first_pass use_authtok ingat = 2
Dua kata sandi hash yang terakhir dari setiap pengguna disimpan /etc/keamanan/opasswd sehingga mereka tidak dapat digunakan kembali:
Bidang Kata Sandi LinuxRingkasan
Keterampilan manajemen pengguna dan file yang efektif adalah alat penting untuk administrator sistem mana pun. Dalam artikel ini kami telah membahas dasar -dasarnya dan berharap Anda dapat menggunakannya sebagai awal yang baik untuk dibangun. Jangan ragu untuk meninggalkan komentar atau pertanyaan Anda di bawah ini, dan kami akan merespons dengan cepat.
Menjadi Administrator Sistem Bersertifikat Linux- « Manajemen Paket Linux dengan YUM, RPM, APT, DPKG, Aptitude dan Zypper - Bagian 9
- LFCS Cara Memasang/Menghentikan Lokal dan Jaringan (Samba & NFS) FileStems di Linux - Bagian 5 »