Menguruskan Pengguna & Kumpulan, Kebenaran Fail & Atribut dan Membolehkan Akses Sudo pada Akaun - Bahagian 8

Menguruskan Pengguna & Kumpulan, Kebenaran Fail & Atribut dan Membolehkan Akses Sudo pada Akaun - Bahagian 8

Ogos lalu, Yayasan Linux memulakan LFCS pensijilan (SYSADMIN YOUNDAY LINUX FOUNTUK), satu program baru yang tujuannya adalah untuk membolehkan individu di mana -mana dan di mana sahaja mengambil peperiksaan untuk mendapatkan yang diperakui dalam asas untuk sokongan operasi pertengahan untuk sistem Linux, yang termasuk sistem dan perkhidmatan yang menyokong, bersama -sama dengan pemantauan dan analisis keseluruhan, ditambah dengan pintar membuat keputusan untuk dapat membuat keputusan apabila perlu meningkatkan isu ke pasukan sokongan peringkat yang lebih tinggi.

SYSADMIN YOUNDAY LINUX Yayasan - Bahagian 8

Sila lihat dengan pantas video berikut yang menggambarkan pengenalan kepada Program Persijilan Yayasan Linux.

Artikel ini adalah bahagian 8 siri panjang 10-tutorial, di sini, kami akan membimbing anda tentang cara menguruskan pengguna dan kumpulan keizinan dalam sistem Linux, yang diperlukan untuk peperiksaan pensijilan LFCS.

Oleh kerana Linux adalah sistem operasi multi-pengguna (kerana ia membolehkan beberapa pengguna di komputer atau terminal yang berbeza untuk mengakses sistem tunggal), anda perlu tahu bagaimana untuk melaksanakan pengurusan pengguna yang berkesan: bagaimana untuk menambah, mengedit, menggantung, atau memadam Akaun Pengguna, bersama -sama dengan memberi mereka keizinan yang diperlukan untuk melakukan tugas yang diberikan.

Menambah akaun pengguna

Untuk menambah akaun pengguna baru, anda boleh menjalankan salah satu daripada dua arahan berikut sebagai root.

# adduser [new_account] # userAdd [new_account] 

Apabila akaun pengguna baru ditambahkan ke sistem, operasi berikut dilakukan.

1. Direktori rumahnya dibuat (/rumah/nama pengguna Secara lalai).

2. Fail tersembunyi berikut disalin ke dalam direktori rumah pengguna, dan akan digunakan untuk menyediakan pembolehubah persekitaran untuk sesi penggunanya.

.BASH_LOGOUT .BASH_PROFILE .Bashrc 

3. Kupas mel dibuat untuk pengguna di/var/spool/mel/nama pengguna.

4. Kumpulan dibuat dan diberi nama yang sama dengan akaun pengguna baru.

Memahami /etc /passwd

Maklumat akaun penuh disimpan di /etc/passwd fail. Fail ini mengandungi rekod setiap akaun pengguna sistem dan mempunyai format berikut (medan dibatasi oleh kolon).

[nama pengguna]: [x]: [uid]: [gid]: [komen]: [direktori rumah]: [shell lalai] 
  1. Medan [Nama Pengguna] dan [Komen] adalah penjelasan diri.
  2. The x di medan kedua menunjukkan bahawa akaun dilindungi oleh kata laluan yang dibayangi (IN /etc/bayangan), yang diperlukan untuk log masuk [Nama Pengguna].
  3. The [Uid] dan [GID] Bidang adalah bilangan bulat yang mewakili pengenalan pengguna dan pengenalan kumpulan utama yang mana [Nama Pengguna] milik, masing -masing.
  4. The [Direktori Rumah] Menunjukkan jalan mutlak untuk [Nama Pengguna]direktori rumah, dan
  5. The [Shell lalai] adalah cangkang yang akan disediakan untuk pengguna ini ketika dia log masuk sistem.
Memahami /etc /kumpulan

Maklumat kumpulan disimpan di /etc/kumpulan fail. Setiap rekod mempunyai format berikut.

[Nama Kumpulan]: [Kata Laluan Kumpulan]: [GID]: [Ahli Kumpulan] 
  1. [Nama kumpulan] adalah nama kumpulan.
  2. An x dalam [Kata Laluan Kumpulan] Menunjukkan kata laluan kumpulan tidak digunakan.
  3. [GID]: Sama seperti di /etc /passwd.
  4. [Ahli kumpulan]: senarai pengguna yang dipisahkan koma yang menjadi ahli [Nama kumpulan].
Tambahkan akaun pengguna

Setelah menambah akaun, anda boleh mengedit maklumat berikut (untuk menamakan beberapa bidang) menggunakan usermod perintah, yang sintaks asas usermod adalah seperti berikut.

# usermod [options] [Nama Pengguna] 
Menetapkan tarikh luput untuk akaun

Menggunakan -tarikh luput bendera diikuti dengan tarikh di YYYY-MM-DD format.

# usermod --expiredate 2014-10-30 tecmint 
Menambah pengguna ke kumpulan tambahan

Gunakan gabungan -Ag, atau -tambah -kumpulan pilihan, diikuti dengan senarai kumpulan yang dipisahkan koma.

# usermod --append -kumpulan root, pengguna tecmint 
Menukar lokasi lalai direktori rumah pengguna

Menggunakan -d, atau -rumah pilihan, diikuti dengan jalan mutlak ke direktori rumah baru.

# usermod -home /tmp tecmint 
Menukar shell yang akan digunakan pengguna secara lalai

Gunakan -shell, diikuti dengan jalan ke cangkang baru.

# usermod --shell /bin /sh tecmint 
Memaparkan kumpulan pengguna adalah ahli
# kumpulan tecmint # id tecmint 

Sekarang mari kita laksanakan semua arahan di atas dalam satu perjalanan.

# usermod --expiredate 2014-10-30 --Append-kumpulan root, pengguna --home /tmp --shell /bin /sh tecmint 
Contoh perintah usermod

Dalam contoh di atas, kami akan menetapkan tarikh tamat tempoh Tecmint akaun pengguna ke 30 Oktober 2014. Kami juga akan menambah akaun ke akar dan kumpulan pengguna. Akhirnya, kami akan menetapkan sh Sebagai shell lalainya dan tukar lokasi direktori rumah ke /TMP:

Baca juga:

  1. 15 Contoh Perintah UserAdd di Linux
  2. 15 Contoh Perintah USERMOD di Linux

Untuk akaun yang ada, kami juga boleh melakukan perkara berikut.

Melumpuhkan akaun dengan mengunci kata laluan

Menggunakan -L (huruf besar l) atau -kunci Pilihan untuk mengunci kata laluan pengguna.

# usermod -kunci tecmint 
Membuka kata laluan pengguna

Menggunakan -u atau -Buka kunci pilihan untuk membuka kunci kata laluan pengguna yang sebelum ini disekat.

# usermod --Unlock Tecmint 
Kunci akaun pengguna
Membuat kumpulan baru untuk membaca dan menulis akses ke fail yang perlu diakses oleh beberapa pengguna

Jalankan siri arahan berikut untuk mencapai matlamat.

# GroupAdd Common_Group # Tambahkan kumpulan baru # Chown: Common_group biasa.TXT # Tukar pemilik kumpulan biasa.txt ke common_group # usermod -ag common_group user1 # tambah user1 ke common_group # usermod -ag common_group user2 # tambah user2 ke common_group # usermod -ag common_group user3 # tambah user3 ke common_group 
Memadam kumpulan

Anda boleh memadam kumpulan dengan arahan berikut.

# GroupDel [Group_name] 

Sekiranya terdapat fail yang dimiliki oleh nama kumpulan, mereka tidak akan dipadamkan, tetapi pemilik kumpulan akan ditetapkan ke Gid kumpulan yang dipadamkan.

Kebenaran fail Linux

Selain daripada pembacaan asas, tulis, dan melaksanakan keizinan yang dibincangkan dalam alat pengarkiban dan menetapkan atribut fail - Bahagian 3 siri ini, terdapat tetapan kebenaran lain yang kurang digunakan (tetapi tidak kurang penting), kadang -kadang disebut sebagai "Kebenaran khas".

Seperti keizinan asas yang dibincangkan sebelum ini, mereka ditetapkan menggunakan fail oktal atau melalui surat (notasi simbolik) yang menunjukkan jenis kebenaran.

Memadam Akaun Pengguna

Anda boleh memadam akaun (bersama dengan direktori rumahnya, jika ia dimiliki oleh pengguna, dan semua fail yang tinggal di dalamnya, dan juga julat mel) menggunakan UserDel perintah dengan -Keluarkan pilihan.

# UserDel -Remove [Nama Pengguna] 

Pengurusan Kumpulan

Setiap kali akaun pengguna baru ditambahkan ke sistem, kumpulan dengan nama yang sama dibuat dengan nama pengguna sebagai satu -satunya ahli. Pengguna lain boleh ditambah ke kumpulan kemudian. Salah satu tujuan kumpulan adalah untuk melaksanakan kawalan akses mudah ke fail dan sumber sistem lain dengan menetapkan kebenaran yang tepat pada sumber tersebut.

Contohnya, katakan anda mempunyai pengguna berikut.

  1. USER1 (Kumpulan Utama: User1)
  2. USER2 (Kumpulan Utama: User2)
  3. USER3 (Kumpulan Utama: User3)

Semuanya memerlukan Baca dan tulis Akses ke fail yang dipanggil biasa.txt terletak di suatu tempat di sistem tempatan anda, atau mungkin di rangkaian berkongsi itu USER1 telah mencipta. Anda mungkin tergoda untuk melakukan sesuatu seperti,

# chmod 660 biasa.txt atau # chmod u = rw, g = rw, o = biasa.txt [perhatikan ruang antara tanda sama terakhir dan nama fail] 

Namun, ini hanya akan disediakan Baca dan tulis Akses kepada pemilik fail dan kepada pengguna yang menjadi ahli pemilik kumpulan fail (USER1 Dalam kes ini). Sekali lagi, anda mungkin tergoda untuk menambah USER2 dan USER3 kepada kumpulan USER1, Tetapi itu juga akan memberi mereka akses kepada seluruh fail yang dimiliki oleh pengguna USER1 dan kumpulan USER1.

Di sinilah kumpulan berguna, dan inilah yang harus anda lakukan dalam kes seperti ini.

Memahami setuid

Apabila setuid Kebenaran digunakan untuk fail yang boleh dilaksanakan, pengguna yang menjalankan program ini mewarisi keistimewaan yang berkesan dari pemilik program. Oleh kerana pendekatan ini dapat menimbulkan kebimbangan keselamatan, bilangan fail dengan kebenaran setuid mesti disimpan minimum. Anda mungkin akan mencari program dengan kebenaran ini apabila pengguna sistem perlu mengakses fail yang dimiliki oleh root.

Merumuskan, bukan hanya pengguna yang dapat melaksanakan fail binari, tetapi juga bahawa dia boleh melakukannya dengan keistimewaan Root. Contohnya, mari kita periksa kebenaran /bin/passwd. Perduaan ini digunakan untuk menukar kata laluan akaun, dan mengubahnya /etc/bayangan fail. Superuser boleh menukar kata laluan seseorang, tetapi semua pengguna lain hanya dapat mengubah sendiri.

Contoh Perintah Passwd

Oleh itu, mana -mana pengguna harus mempunyai kebenaran untuk dijalankan /bin/passwd, tetapi hanya akar yang dapat menentukan akaun. Pengguna lain hanya boleh menukar kata laluan mereka yang sepadan.

Tukar kata laluan pengguna
Memahami setgid

Apabila setgid bit ditetapkan, yang berkesan Gid pengguna sebenar menjadi pemilik kumpulan. Oleh itu, mana -mana pengguna boleh mengakses fail di bawah keistimewaan yang diberikan kepada pemilik kumpulan fail tersebut. Di samping itu, apabila bit setgid ditetapkan pada direktori, fail yang baru dibuat mewarisi kumpulan yang sama seperti direktori, dan subdirektori yang baru diwujudkan juga akan mewarisi bit setgid direktori induk. Anda kemungkinan besar akan menggunakan pendekatan ini setiap kali ahli kumpulan tertentu memerlukan akses ke semua fail dalam direktori, tanpa mengira kumpulan utama pemilik fail.

# chmod g+s [nama fail] 

Untuk menetapkan setgid Dalam bentuk oktal, sediakan nombor 2 kepada kebenaran asas semasa (atau dikehendaki).

# chmod 2755 [direktori] 
Menetapkan setgid dalam direktori
Tambah setgid ke direktori
Memahami sedikit melekit

Apabila "ST Sticky"Ditetapkan pada fail, Linux hanya mengabaikannya, sedangkan untuk direktori ia mempunyai kesan menghalang pengguna daripada memadam atau menamakan semula fail yang dikandungnya kecuali pengguna memiliki direktori, fail, atau akar.

# chmod o+t [direktori] 

Untuk menetapkan ST Sticky Dalam bentuk oktal, sediakan nombor 1 kepada kebenaran asas semasa (atau dikehendaki).

# chmod 1755 [direktori] 

Tanpa sedikit melekit, ada yang dapat menulis ke direktori boleh memadam atau menamakan semula fail. Atas sebab itu, bit melekit biasanya dijumpai di direktori, seperti /TMP, yang boleh ditulis di dunia.

Tambahkan Stickybit ke Direktori

Atribut fail linux khas

Terdapat atribut lain yang membolehkan had selanjutnya pada operasi yang dibenarkan pada fail. Contohnya, menghalang fail daripada dinamakan semula, dipindahkan, dipadam, atau diubah suai. Mereka ditetapkan dengan arahan chattr dan boleh dilihat menggunakan lsattr alat, seperti berikut.

# chattr +i file1 # chattr +a file2 

Setelah melaksanakan kedua -dua arahan tersebut, Fail1 akan tidak berubah (yang bermaksud ia tidak dapat dipindahkan, dinamakan semula, diubah suai atau dipadam) sedangkan File2 akan memasukkan mod tambahan sahaja (hanya boleh dibuka dalam mod tambahan untuk menulis).

Arahan chattr untuk melindungi fail

Mengakses akaun root dan menggunakan sudo

Salah satu cara pengguna dapat memperoleh akses ke akaun root adalah dengan menaip.

$ su 

dan kemudian memasukkan kata laluan root.

Sekiranya pengesahan berjaya, anda akan dilog masuk sebagai akar dengan direktori kerja semasa seperti yang anda ada sebelumnya. Sekiranya anda mahu diletakkan di direktori rumah Root, jalankan, jalankan.

$ su - 

dan kemudian masukkan kata laluan root.

Membolehkan akses sudo pada pengguna

Prosedur di atas memerlukan pengguna biasa mengetahui kata laluan root, yang menimbulkan risiko keselamatan yang serius. Atas sebab itu, sysadmin dapat mengkonfigurasi sudo perintah untuk membenarkan pengguna biasa melaksanakan arahan sebagai pengguna yang berbeza (biasanya superuser) dengan cara yang sangat terkawal dan terhad. Oleh itu, sekatan boleh ditetapkan pada pengguna untuk membolehkannya menjalankan satu atau lebih perintah istimewa dan tidak ada yang lain.

Baca juga: Perbezaan antara pengguna Su dan sudo

Untuk mengesahkan penggunaan sudo, Pengguna menggunakan kata laluannya sendiri. Selepas memasuki arahan, kami akan diminta untuk kata laluan kami (bukan superuser) dan jika pengesahan berjaya (dan jika pengguna telah diberikan keistimewaan untuk menjalankan perintah), perintah yang ditentukan dijalankan.

Untuk memberikan akses kepada sudo, pentadbir sistem mesti mengedit /etc/sudoers fail. Disyorkan bahawa fail ini diedit menggunakan Visudo perintah dan bukannya membukanya secara langsung dengan editor teks.

# Visudo 

Ini membuka /etc/sudoers fail menggunakan vim (Anda boleh mengikuti arahan yang diberikan dalam memasang dan menggunakan VIM sebagai editor - bahagian 2 siri ini untuk mengedit fail).

Ini adalah baris yang paling relevan.

Lalai selamat_path = "/usr/sbin:/usr/bin:/sbin" root semua = (semua) semua tecmint all =/bin/yum update gacanepa all = nopasswd:/bin/updatedb %admin semua = (semua) 

Mari kita lihat dengan lebih dekat.

Lalai selamat_path = "/usr/sbin:/usr/bin:/sbin:/usr/local/bin" 

Baris ini membolehkan anda menentukan direktori yang akan digunakan sudo, dan digunakan untuk mengelakkan menggunakan direktori khusus pengguna, yang boleh membahayakan sistem.

Garis seterusnya digunakan untuk menentukan kebenaran.

akar semua = (semua) semua 
  1. Yang pertama SEMUA Kata kunci menunjukkan bahawa peraturan ini terpakai kepada semua tuan rumah.
  2. Yang kedua SEMUA menunjukkan bahawa pengguna dalam lajur pertama dapat menjalankan perintah dengan keistimewaan mana -mana pengguna.
  3. Ketiga SEMUA bermaksud perintah boleh dijalankan.
tecmint semua =/bin/yum kemas kini 

Sekiranya tiada pengguna ditentukan selepas = tanda, sudo menganggap pengguna akar. Dalam kes ini, pengguna Tecmint akan dapat berjalan kemas kini yum sebagai akar.

gacanepa all = nopasswd:/bin/dikemas kini 

The Nopasswd Arahan membolehkan pengguna gacanepa dijalankan /bin/dikemas kini tanpa perlu memasukkan kata laluannya.

%admin semua = (semua) semua 

The % Tanda menunjukkan bahawa baris ini terpakai kepada kumpulan yang dipanggil "admin". Makna selebihnya adalah sama dengan pengguna biasa. Ini bermaksud bahawa ahli kumpulan "admin"Boleh menjalankan semua arahan sebagai pengguna di semua tuan rumah.

Untuk melihat keistimewaan apa yang diberikan kepada anda oleh sudo, gunakan "-L"Pilihan untuk menyenaraikannya.

Peraturan akses sudo

PAM (modul pengesahan pluggable)

Modul pengesahan pluggable (PAM) menawarkan fleksibiliti menetapkan skim pengesahan tertentu pada setiap permohonan dan / atau asas menggunakan modul. Alat ini hadir pada semua pengagihan Linux moden mengatasi masalah yang sering dihadapi oleh pemaju pada hari -hari awal Linux, apabila setiap program yang memerlukan pengesahan harus disusun khas untuk mengetahui bagaimana untuk mendapatkan maklumat yang diperlukan.

Contohnya, dengan Pam, tidak kira sama ada kata laluan anda disimpan /etc/bayangan atau di pelayan yang berasingan di dalam rangkaian anda.

Sebagai contoh, apabila program log masuk perlu mengesahkan pengguna, PAM menyediakan perpustakaan secara dinamik yang mengandungi fungsi untuk skim pengesahan yang betul. Oleh itu, menukar skim pengesahan untuk aplikasi log masuk (atau mana -mana program lain menggunakan PAM) adalah mudah kerana ia hanya melibatkan mengedit fail konfigurasi (kemungkinan besar, fail yang dinamakan selepas aplikasi, yang terletak di dalam /etc/Pam.d, dan kurang berkemungkinan dalam /etc/Pam.Conf).

Fail di dalam /etc/Pam.d nyatakan aplikasi mana yang menggunakan PAM secara asli. Di samping itu, kita dapat mengetahui sama ada aplikasi tertentu menggunakan PAM dengan memeriksa sama ada perpustakaan PAM (libpam) telah dikaitkan dengannya:

# ldd $ (yang login) | Grep libpam # Login menggunakan Pam # ldd $ (yang atas) | Grep libpam # atas tidak menggunakan Pam 
Semak Perpustakaan Linux Pam

Dalam imej di atas kita dapat melihat bahawa libpam telah dikaitkan dengan aplikasi log masuk. Ini masuk akal kerana aplikasi ini terlibat dalam operasi pengesahan pengguna sistem, sedangkan yang tidak ada.

Mari kita periksa fail konfigurasi PAM untuk Passwd - Ya, utiliti terkenal untuk menukar kata laluan pengguna. Ia terletak di /etc/Pam.D/Passwd:

# kucing /etc /passwd 
Fail konfigurasi PAM untuk kata laluan linux

Lajur pertama menunjukkan Jenis pengesahan untuk digunakan dengan Modul-jalan (lajur ketiga). Apabila tanda hubung muncul sebelum jenis, Pam tidak akan dirakam ke log sistem jika modul tidak dapat dimuatkan kerana ia tidak dapat dijumpai dalam sistem.

Jenis pengesahan berikut boleh didapati:

  1. akaun: jenis jenis modul ini jika pengguna atau perkhidmatan telah membekalkan kelayakan yang sah untuk mengesahkan.
  2. auth: Jenis modul ini mengesahkan bahawa pengguna adalah siapa yang dikatakannya dan memberikan keistimewaan yang diperlukan.
  3. kata laluan: Jenis modul ini membolehkan pengguna atau perkhidmatan mengemas kini kata laluan mereka.
  4. sesi: jenis modul ini menunjukkan apa yang perlu dilakukan sebelum dan/atau selepas pengesahan berjaya.

Lajur kedua (dipanggil kawalan) menunjukkan apa yang harus berlaku jika pengesahan dengan modul ini gagal:

  1. diperlukan: Sekiranya pengesahan melalui modul ini gagal, pengesahan keseluruhan akan ditolak dengan segera.
  2. diperlukan sama dengan yang diperlukan, walaupun semua modul tersenarai lain untuk perkhidmatan ini akan dipanggil sebelum menafikan pengesahan.
  3. cukup: Sekiranya pengesahan melalui modul ini gagal, PAM masih akan memberikan pengesahan walaupun ditandakan sebelumnya seperti yang diperlukan gagal.
  4. pilihan: Sekiranya pengesahan melalui modul ini gagal atau berjaya, tidak ada yang berlaku kecuali ini adalah satu -satunya modul jenisnya yang ditakrifkan untuk perkhidmatan ini.
  5. termasuk bermaksud bahawa garis jenis yang diberikan harus dibaca dari fail lain.
  6. substack sama dengan termasuk tetapi kegagalan pengesahan atau kejayaan tidak menyebabkan keluar modul lengkap, tetapi hanya dari substack.

Lajur keempat, jika ada, menunjukkan hujah -hujah yang akan dihantar ke modul.

Tiga baris pertama di /etc/Pam.D/Passwd (ditunjukkan di atas), memuatkan Sistem-Auth Modul Untuk memeriksa bahawa pengguna telah membekalkan kelayakan yang sah (akaun). Jika ya, ia membolehkannya menukar token pengesahan (kata laluan) dengan memberi kebenaran untuk menggunakan passwd (auth).

Contohnya, jika anda menambah

Ingat = 2 

ke baris berikut

kata laluan PAM_UNIX yang mencukupi.jadi sha512 bayangan nullok try_first_pass use_authtok 

dalam /etc/Pam.D/Sistem-Auth:

kata laluan PAM_UNIX yang mencukupi.jadi sha512 bayangan nullok try_first_pass use_authtok ingat = 2 

Dua kata laluan terakhir yang disimpan di setiap pengguna disimpan /etc/keselamatan/opasswd supaya mereka tidak boleh digunakan semula:

Medan kata laluan linux

Ringkasan

Pengguna dan kemahiran pengurusan fail yang berkesan adalah alat penting untuk pentadbir sistem mana -mana. Dalam artikel ini, kami telah menutup asas -asas dan berharap anda dapat menggunakannya sebagai yang baik mula menunjukkan untuk membina. Jangan ragu untuk meninggalkan komen atau soalan anda di bawah, dan kami akan bertindak balas dengan cepat.

Menjadi Pentadbir Sistem Bersertifikat Linux