Rumah  >  Artikel  >  Tutorial sistem  >  Urus pengguna melalui kumpulan pengguna dalam sistem Linux!

Urus pengguna melalui kumpulan pengguna dalam sistem Linux!

王林
王林ke hadapan
2024-02-22 09:07:22883semak imbas

Di Linux, ini boleh dicapai sepenuhnya. Tetapi pertama-tama anda mesti memahami cara mengurus pengguna melalui kumpulan pengguna dan senarai kawalan akses (ACL).
Kami akan bermula dengan pengguna mudah dan meneruskan ke senarai kawalan akses kompleks (ACL). Anda boleh melakukan semua yang anda perlu lakukan dalam pengedaran Linux pilihan anda. Fokus artikel ini ialah kumpulan pengguna, jadi pengetahuan asas tentang pengguna tidak akan diliputi.

Untuk tujuan demonstrasi, saya akan menganggap:

Anda perlu mencipta dua pengguna baharu dengan dua nama pengguna berikut:

  • olivia
  • nathan

Anda perlu mencipta dua kumpulan pengguna berikut:

  • pembaca
  • editor

olivia tergolong dalam kumpulan editor dan nathan tergolong dalam kumpulan pembaca. Kumpulan pengguna pembaca hanya mempunyai kebenaran membaca pada direktori /DATA, manakala kumpulan pengguna editor mempunyai kedua-dua kebenaran membaca dan menulis pada direktori /DATA. Memang, ini adalah tugas yang sangat kecil, tetapi ia akan memberi anda maklumat asas dan anda boleh mengembangkan tugas ini agar sesuai dengan keperluan anda yang lain yang lebih besar.

Saya akan membuat demonstrasi pada platform Pelayan Ubuntu 16.04. Arahan ini adalah perkara biasa, satu-satunya perbezaan ialah jika anda tidak menggunakan arahan sudo dalam pengedaran anda, anda mesti bertukar kepada pengguna root untuk melaksanakan arahan ini.

Buat pengguna

Perkara pertama yang perlu kami lakukan ialah mencipta dua pengguna untuk percubaan kami. Anda boleh menggunakan perintah useradd untuk mencipta pengguna Kami bukan sekadar mencipta pengguna, tetapi kami juga perlu mencipta pengguna dan direktori rumah mereka, dan kemudian menetapkan kata laluan untuk mereka.

sudo useradd -m olivia
sudo useradd -m nathan

Kami kini telah mencipta dua pengguna, dan jika anda melihat dalam direktori /home, anda boleh mencari direktori rumah mereka (kerana kami menggunakan pilihan -m, kami boleh mencipta direktori rumah mereka pada masa yang sama semasa pengguna dibuat.

Selepas itu, kita boleh menetapkan kata laluan untuk mereka dengan arahan berikut:

sudo passwd olivia
sudo passwd nathan

Itu sahaja, kami mencipta dua pengguna.

Buat kumpulan pengguna dan tambah pengguna

Kini kami akan membuat kumpulan pengguna pembaca dan editor dan menambah pengguna kepada mereka. Perintah untuk mencipta kumpulan pengguna ialah:

addgroup readers
addgroup editors

(Terjemahan LCTT: Apabila anda menggunakan beberapa pengedaran Linux seperti CentOS, sistem mungkin tidak mempunyai arahan kumpulan tambahan. Adalah disyorkan untuk menggunakan arahan groupadd untuk menggantikan arahan kumpulan tambahan untuk mencapai kesan yang sama)
Linux 系统中通过用户组管理用户!

Rajah 1: Kami boleh menggunakan kumpulan pengguna baharu yang baru kami buat.

Selepas mencipta kumpulan pengguna, kami perlu menambahkan pengguna kami pada dua kumpulan pengguna ini. Kami menggunakan arahan berikut untuk menambah pengguna nathan kepada kumpulan pengguna pembaca:

sudo usermod -a -G readers nathan

Tambah olivia pada kumpulan editor menggunakan arahan berikut:

sudo usermod -a -G editors olivia

Kini kami boleh mengurus pengguna melalui kumpulan pengguna.

Berikan kebenaran direktori kepada kumpulan pengguna

Andaikan anda mempunyai direktori /READERS dan membenarkan semua ahli kumpulan pembaca mengakses direktori ini. Mula-mula, kami melaksanakan arahan berikut untuk menukar kumpulan pengguna yang menjadi milik direktori:

sudo chown -R :readers /READERS

Seterusnya, laksanakan arahan berikut untuk membatalkan kebenaran menulis kumpulan pengguna yang menjadi milik direktori:

sudo chmod -R g-w /READERS

Kemudian kami melaksanakan perintah berikut untuk membatalkan hak akses pengguna lain ke direktori ini (untuk menghalang mana-mana pengguna yang bukan dalam kumpulan pembaca daripada mengakses fail dalam direktori ini):

sudo chmod -R o-x /READERS

Pada masa ini, hanya pemilik direktori (root) dan pengguna dalam pembaca kumpulan pengguna boleh mengakses fail dalam /READES.

Andaikan anda mempunyai direktori /EDITOR Anda perlu memberi ahli editor kumpulan pengguna kebenaran membaca dan menulis ke direktori ini. Untuk mencapai tujuan ini, adalah perlu untuk melaksanakan arahan berikut:

sudo chown -R :editors /EDITORS
sudo chmod -R g+w /EDITORS
sudo chmod -R o-x /EDITORS

Pada masa ini, semua ahli kumpulan pengguna editor boleh mengakses dan mengubah suai fail di dalamnya. Jika tidak, tiada pengguna lain (kecuali root) boleh mengakses mana-mana fail dalam /EDITOR.

Masalah dengan kaedah ini ialah anda hanya boleh mengendalikan satu kumpulan dan satu direktori pada satu masa. Di sinilah senarai kawalan akses (ACL) berguna.

Gunakan senarai kawalan akses (ACL)

现在,让我们把这个问题变得棘手一点。假设你有一个目录 /DATA 并且你想给 readers 用户组的成员读取权限,并同时给 editors 用户组的成员读和写的权限。为此,你必须要用到 setfacl 命令。setfacl 命令可以为文件或文件夹设置一个访问控制表(ACL)。

这个命令的结构如下:

setfacl OPTION X:NAME:Y /DIRECTORY

其中 OPTION 是可选选项,X 可以是 u(用户)或者是 g (用户组),NAME 是用户或者用户组的名字,/DIRECTORY 是要用到的目录。我们将使用 -m 选项进行修改。因此,我们给 readers 用户组添加读取权限的命令是:

sudo setfacl -m g:readers:rx -R /DATA

现在 readers 用户组里面的每一个用户都可以读取 /DATA 目录里的文件了,但是他们不能修改里面的内容。

为了给 editors 用户组里面的用户读写权限,我们执行了以下命令:

sudo setfacl -m g:editors:rwx -R /DATA

上述命令将赋予 editors 用户组中的任何成员读取权限,同时保留 readers 用户组的只读权限。

更多的权限控制

使用访问控制表(ACL),你可以实现你所需的权限控制。你可以添加用户到用户组,并且灵活地控制这些用户组对每个目录的权限以达到你的需求。如果想了解上述工具的更多信息,可以执行下列的命令:

  • man usradd
  • man addgroup
  • man usermod
  • man sefacl
  • man chown
  • man chmod

Atas ialah kandungan terperinci Urus pengguna melalui kumpulan pengguna dalam sistem Linux!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:linuxprobe.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam