Rumah > Artikel > Tutorial sistem > Urus pengguna melalui kumpulan pengguna dalam sistem Linux!
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:
Anda perlu mencipta dua kumpulan pengguna berikut:
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.
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.
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)
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.
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.
现在,让我们把这个问题变得棘手一点。假设你有一个目录 /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),你可以实现你所需的权限控制。你可以添加用户到用户组,并且灵活地控制这些用户组对每个目录的权限以达到你的需求。如果想了解上述工具的更多信息,可以执行下列的命令:
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!