Rumah > Artikel > Tutorial sistem > Tetapan sistem aplikasi bagi fail kumpulan pengguna dan pengguna dalam Linux
ID:ChinaUnix2013
1. Fail kumpulan pengguna dan pengguna
Di Linux, akaun pengguna, kata laluan pengguna, maklumat kumpulan pengguna dan kata laluan kumpulan pengguna disimpan dalam fail konfigurasi yang berbeza.
Dalam sistem Linux, akaun pengguna yang dibuat dan maklumat berkaitannya (kecuali kata laluan) disimpan dalam fail konfigurasi /etc/passwd. Kerana semua pengguna telah membaca kebenaran pada fail passwd, maklumat kata laluan tidak disimpan dalam fail, tetapi dalam fail konfigurasi /etc/shadow.
Dalam fail passwd, satu baris mentakrifkan akaun pengguna Setiap baris terdiri daripada berbilang tatasusunan yang berbeza Nilai setiap tatasusunan dipisahkan dengan ":".
Dalam sistem Linux yang baru dipasang, fail konfigurasi passwd sudah mengandungi banyak maklumat akaun. Akaun ini dibuat secara manual oleh sistem. Ia adalah akaun yang diperlukan untuk operasi biasa proses Linux atau beberapa program perkhidmatan ialah Nilai tatasusunan terakhir akaun ini biasanya /sbin/nologin, yang bermaksud bahawa akaun ini tidak boleh digunakan untuk log masuk ke sistem Linux.
Dalam fail konfigurasi passwd, hubungan dan makna yang sepadan bagi setiap tatasusunan dari kiri ke kanan:
Oleh kerana passwd tidak lagi menyimpan maklumat kata laluan, ia diwakili oleh x pemegang tempat.
Untuk menghalang akaun pengguna daripada melog masuk ke Linux, cuma tetapkan shell yang digunakan oleh pengguna kepada /sbin/nologin. Sebagai contoh, untuk akaun FTP, biasanya hanya log masuk dan akses kepada pelayan FTP dibenarkan, dan log masuk ke sistem pengendalian Linux tidak dibenarkan. Jika anda ingin menghalang pengguna daripada mempunyai kebenaran telnet, iaitu, tidak membenarkan pengguna melog masuk dari jauh dan mengakses sistem pengendalian Linux melalui telnet, hanya tetapkan shell yang digunakan oleh pengguna kepada /bin/true. Jika anda mahu pengguna tidak mempunyai kebenaran log masuk telnet dan ftp, anda boleh menetapkan shell pengguna kepada /bin/false.
Dalam fail /etc/shells, jika tiada /bin/true atau /bin/false, anda perlu menambahnya secara automatik:
[root@localhost~]#echo"/bin/false">>/etc/shells
[root@localhost~]#echo"/bin/true">>/etc/shells
2. Fail kata laluan pengguna
Atas sebab keselamatan, kata laluan sebenar pengguna disulitkan menggunakan algoritma penyulitan MD5 dan disimpan dalam fail konfigurasi /etc/shadow Fail ini hanya boleh dibaca oleh pengguna root.
Sama seperti fail passwd, fail bayangan juga mentakrif dan menyimpan maklumat yang berkaitan dengan akaun setiap baris. Tatasusunan pertama ialah nama akaun pengguna, dan tatasusunan kedua ialah kata laluan akaun.
3. Fail akaun kumpulan pengguna
Maklumat akaun kumpulan pengguna disimpan dalam fail konfigurasi /etc/group Apakah fail konfigurasi pengguna sistem Linux , mana-mana pengguna boleh membacanya. Kata laluan sebenar kumpulan pengguna disimpan dalam fail konfigurasi /etc/gshadow.
Dalam kumpulan, tatasusunan pertama mewakili nama kumpulan pengguna, tatasusunan kedua ialah x, tatasusunan ketiga ialah nombor ID kumpulan pengguna dan yang keempat ialah senarai ahli pengguna kumpulan pengguna, dengan titik bertindih antara setiap nama pengguna Asingkan.
4. Tambah pengguna
Untuk mencipta atau menambah pengguna baharu, gunakan arahan useradd Penggunaan arahan ialah:
tambah pengguna[pilihan]nama pengguna
Arahan ini mempunyai banyak pilihan, yang paling biasa digunakan ialah:
Pengguna komen-c menetapkan teks penerangan ulasan untuk akaun
Direktori rumah-d menentukan direktori rumah untuk menggantikan /home/nama pengguna lalai
-m Jika direktori rumah tidak wujud, buatnya. -r digabungkan dengan -m mencipta direktori rumah untuk akaun sistem
-M tidak mencipta direktori rumah
-edate menyatakan tarikh akaun akan tamat tempoh. Format tarikh ialah MM/DD/YY
Akaun-fdays akan digantung secara kekal selepas beberapa hari tamat tempoh. Jika ia dinyatakan sebagai -, ia akan digantung serta-merta Jika ia adalah -1, fungsi ini akan dimatikan
Kumpulan pengguna-g menentukan kumpulan pengguna untuk menambah pengguna Kumpulan pengguna mesti wujud
-Senarai kumpulan pengguna G menentukan senarai kumpulan pengguna yang disertai oleh pengguna pada masa yang sama Setiap kumpulan dipisahkan dengan koma
-nJangan buat kumpulan pengguna peribadi untuk pengguna
-sshell menentukan shell yang digunakan apabila pengguna log masuk, lalai ialah /bin/bash
-r mencipta akaun sistem dengan ID pengguna lebih daripada 500. Direktori rumah yang sepadan tidak dibuat secara lalai
-uUser ID secara automatik menentukan nilai ID pengguna baharu, yang mestilah unik dan kurang daripada 499
-ppassword menentukan kata laluan log masuk untuk pengguna baharu. Kata laluan di sini ialah nilai kata laluan yang diperoleh selepas penyulitan MD5 kata laluan log masuk yang sepadan, yang tidak sepadan dengan teks asal kata laluan sebenar Oleh itu, dalam aplikasi sebenar, pilihan parameter ini jarang digunakan, dan arahan passwd biasanya digunakan secara bersendirian untuk menetapkan kata laluan log masuk untuk pengguna.
Contoh:
Untuk mencipta pengguna bernama nisj sebagai ahli kumpulan pengguna babyfish, arahan operasi ialah:
[root@localhost~]#useradd-gbabyfishnisj
[root@localhost~]#idnisj
uid=502(nisj)gid=500(babyfish)kumpulan=500(babyfish)
[root@localhost~]#tail-1/etc/passwd
nisj:x:502:500::/home/nisj:/bin/bash
Apabila menambah pengguna, jika kumpulan pengguna tidak dinyatakan dengan parameter -g, sistem akan membuat kumpulan pengguna persendirian secara manual dengan nama yang sama dengan akaun pengguna secara lalai. Jika anda tidak perlu mencipta kumpulan pengguna peribadi ini, anda boleh menggunakan parameter -n.
Sebagai contoh, jika anda menambah akaun bernama nsj820 tetapi tidak menyatakan kumpulan pengguna, hasil operasi ialah:
[root@localhost~]#useraddnsj820
[root@localhost~]#idnsj820
uid=503(nsj820)gid=503(nsj820)kumpulan=503(nsj820)
[root@localhost~]#tail-1/etc/passwd
nsj820:x:503:503::/home/nsj820:/bin/bash
[root@localhost~]#tail-2/etc/passwd
nisj:x:502:500::/home/nisj:/bin/bash
nsj820:x:503:503::/home/nsj820:/bin/bash#Sistem mencipta kumpulan pengguna bernama nsj820 secara manual dengan nombor ID 503
Apabila membuat akaun pengguna, sistem akan membuat direktori rumah yang sepadan dengan pengguna secara manual Direktori ini diletakkan dalam direktori /home secara lalai. Jika anda ingin menukar lokasi, anda boleh menentukannya dengan parameter -d. untuk shell yang digunakan oleh pengguna untuk log masuk, lalainya ialah / bin/bash, jika anda ingin mengubah suainya, gunakan parameter -s untuk menentukan
Sebagai contoh, jika anda ingin membuat akaun bernama vodup, letakkan direktori rumah dalam direktori /var, dan tentukan shell log masuk sebagai /sbin/nologin, arahan operasi ialah:
[root@localhost~]#useradd-d/var/vodup-s/sbin/nologinvodup
[root@localhost~]#idvodup
uid=504(vodup)gid=504(vodup)kumpulan=504(vodup)
[root@localhost~]#tail-1/etc/passwd
vodup:x:504:504::/var/vodup:/sbin/nologin
[root@localhost~]#tail-1/etc/group
vodup:x:504:
5. Tetapkan atribut akaun
Untuk pengguna yang telah dibuat, anda boleh menggunakan arahan usermod untuk menukar dan menetapkan pelbagai atribut akaun, termasuk nama log masuk, direktori rumah, kumpulan pengguna, shell log masuk, dll. Penggunaan arahan ini ialah:
usermod[option]username
Beberapa pilihan
(1) Tukar nama akaun pengguna
Gunakan parameter -l untuk mencapai ini Penggunaan arahan ialah:
usermod-l nama pengguna baharu nama pengguna asal
Sebagai contoh, jika anda ingin menamakan semula pengguna nsj820 kepada nsj0820, arahan operasi ialah:
[root@localhost~]#usermod-lnsj0820nsj820
[root@localhost~]#idnsj0820
uid=503(nsj0820)gid=503(nsj820)kumpulan=503(nsj820)
[root@localhost~]#tail-1/etc/passwd
nsj0820:x:503:503::/home/nsj820:/bin/bash
Seperti yang dapat dilihat dari output, nama pengguna telah ditukar kepada nsj0820. Direktori utama masih merupakan /home/nsj820 asal Jika anda ingin menukarnya kepada /home/nsj0820Apakah fail konfigurasi pengguna sistem Linux?, anda boleh melakukannya dengan melaksanakan arahan berikut
.[root@localhost~]#usermod-d/home/nsj0820nsj0820
[root@localhost~]#idnsj0820
uid=503(nsj0820)gid=503(nsj820)kumpulan=503(nsj820)
[root@localhost~]#tail-1/etc/passwd
nsj0820:x:503:503::/home/nsj0820:/bin/bash
[root@localhosthome]#mv/home/nsj820/home/nsj0820
(2) Kunci akaun
Jika anda ingin melarang sementara pengguna melog masuk, anda boleh mengunci akaun pengguna. Mengunci akaun boleh dicapai dengan bantuan parameter -L Penggunaan arahan ialah:
usermod -L Akaun untuk dikunci
Linux mengunci pengguna dengan menambahkan "!" di hadapan tatasusunan kata laluan bayangan fail kata laluan untuk menunjukkan bahawa pengguna dikunci.
[root@localhosthome]#usermod-Lnsj0820
[root@localhosthome]#tail-1/etc/shadow
nsj0820:!$1$JEW25RtU$X9kIdwJi/HPzSKMVe3EK30:16910:0:99999:7:::
Tetapi anda boleh masuk melalui pengguna root dan kemudian su kepada pengguna yang dikunci.
(3) Buka Kunci Akaun
Untuk membuka kunci akaun, anda boleh menggunakan arahan usermod dengan parameter -U.
[root@localhost~]#usermod-Unsj0820
[root@localhost~]#tail-1/etc/shadow
nsj0820:$1$JEW25RtU$X9kIdwJi/HPzSKMVe3EK30:16910:0:99999:7:::
6. Padam akaun
Untuk memadam akaun, anda boleh menggunakan arahan userdel Penggunaannya ialah:
userdel[-r] nama akaun
-r adalah pilihan Jika parameter ini disediakan, direktori utama yang sepadan dengan akaun akan dipadamkan pada masa yang sama semasa akaun dipadamkan.
[root@localhost~]#userdel-rnsj0820
Untuk menetapkan masa tamat tempoh untuk semua kata laluan akaun pengguna, anda boleh melakukan ini dengan menukar nilai item konfigurasi PASS_MAX_DAYS dalam fail konfigurasi /etc/login.defs ialah 99999, yang bermaksud bahawa kata laluan akaun pengguna tidak akan pernah tamat tempoh. Item konfigurasi PASS_MIN_LEN digunakan untuk menentukan lebar minimum kata laluan akaun, yang lalai kepada 5 aksara.
7. Tetapkan kata laluan log masuk pengguna
Gunakan arahan passwd untuk menetapkannya
passwd[nama akaun]Jika nama akaun ditentukan, kata laluan log masuk akaun yang ditentukan ditetapkan, dan kata laluan asal ditimpa secara manual. Hanya pengguna akar mempunyai kuasa untuk menetapkan kata laluan untuk akaun tertentu. Biasanya pengguna hanya boleh menetapkan atau menukar kata laluan untuk akaun mereka sendiri (tanpa parameter).
Sebagai contoh, jika anda ingin menetapkan kata laluan log masuk akaun nisj, arahan operasi ialah:
[root@localhosthome]#passwdnisj
Menukar kata laluanuntukpenggunaj.
Kata laluan baharu:
BADPASSWORD:itistooshort
BADPASSWORD:istoosimple
Taip semula kata laluan baru:
passwd:allauthenticationtokenberjaya dikemas kini.
Selepas menetapkan kata laluan log masuk akaun, akaun boleh log masuk ke sistem.
8 Kunci/buka kunci kata laluan akaun, semak status kata laluan, padam kata laluan akaun
Apabila memadamkan direktori dalam LINUX, bukan sahaja akaun pengguna boleh dikunci, tetapi kata laluan akaun juga boleh dikunci Selepas mana-mana pihak dikunci, mereka tidak akan dapat log masuk ke sistem. Hanya pengguna root yang berhak untuk melaksanakan arahan ini Untuk mengunci kata laluan akaun, gunakan arahan passwd dengan pilihan -l
nama akaun passwd-lpasswd-uaccountname#Buka kunci kata laluan akaun
[root@localhosthome]#passwd-lnisj
Mengunci kata laluanuntukpenggunaj.
passwd:Kejayaan
[root@localhosthome]#passwd-unisj
Membuka kata laluanuntukpenggunaj.
passwd:Kejayaan
Untuk menyemak sama ada kata laluan akaun semasa dikunci, anda boleh menggunakan arahan passwd dengan parameter -S penggunaannya ialah:
nama akaun passwd-S
Sebagai contoh
[root@localhosthome]#passwd-Snisj
Atas ialah kandungan terperinci Tetapan sistem aplikasi bagi fail kumpulan pengguna dan pengguna dalam Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!