Pertanyaan Perintah untuk mendaftar semua pengguna? Dan bagaimana cara menambahkan, menghapus, memodifikasi pengguna?


Saya membutuhkan sebuah perintah untuk mendaftar semua pengguna di terminal. Dan bagaimana cara menambah, menghapus, memodifikasi pengguna dari terminal.

Itu bisa membantu dalam pengadministrasian akun Anda dengan mudah oleh terminal.


699
2018-01-24 20:23


asal


jawaban sed sed 's/:.*//' /etc/passwd - Avinash Raj
daftar pengguna: awk -F: '{ print $1 }' /etc/passwd - saviour123


Jawaban:


Untuk daftar semua lokal pengguna yang dapat Anda gunakan:

cut -d: -f1 /etc/passwd

Untuk membuat daftar semua pengguna yang mampu mengautentikasi (dalam beberapa cara), termasuk non-lokal, lihat balasan ini: https://askubuntu.com/a/414561/571941

Beberapa perintah manajemen-pengguna yang lebih berguna (juga terbatas pada lokal pengguna):

Untuk menambahkan pengguna baru, Anda dapat menggunakan:

sudo adduser nama baru

atau:

sudo useradd nama baru

Lihat juga: Apa perbedaan antara adduser dan useradd?

Untuk menghapus / menghapus pengguna, pertama Anda dapat menggunakan:

sudo userdel nama pengguna

Maka Anda mungkin ingin menghapus direktori home untuk akun pengguna yang dihapus:

sudo rm -r / home /nama pengguna

(Silakan gunakan dengan hati-hati perintah di atas!)

Untuk mengubah nama pengguna dari pengguna:

usermod -l nama baru old_username

Untuk mengubah kata sandi untuk pengguna:

sudo passwd nama pengguna

Untuk mengubah shell untuk pengguna:

sudo chsh nama pengguna

Untuk mengubah detail untuk pengguna (misalnya nama asli):

sudo chfn nama pengguna

Dan, tentu saja, lihat juga: man adduser, man useradd, man userdel... dan seterusnya.


937
2018-01-24 19:28



Radu lupa menyebutkannya sudo chfn <username> yang mengubah detail pengguna (misalnya nama asli). Saya mencoba menambahkan ini sebagai komentar, tetapi saya salah memberi tahu saya bahwa saya harus memiliki reputasi +50 untuk melakukannya. - Mikaela
Saya pikir itu harus digarisbawahi bahwa jawaban yang benar untuk pertanyaan yang terkait adalah askubuntu.com/a/381646/16395 --- jika tidak, Anda harus mempertimbangkan kebijakan GID / UID Ubuntu secara manual. Jawaban yang diterima tidak begitu jelas. - Rmano
sudo userdel DOMAIN \\ johndoe memberi saya kesalahan: "userdel: tidak dapat menghapus entri 'DOMAIN \ johndoe' dari / etc / passwd - Saya mencari di / etc / passwd dan mereka bahkan tidak ada di sana, kemungkinan karena ini adalah" domain "akun? - 00fruX
@ 00fruX Ya ... Jika Anda menggunakan basis data pengguna terpusat, Anda harus menghadapinya secara langsung. - Oli♦
+1 untuk Apa perbedaan antara adduser dan useradd? - sonlexqt


Cukup tekan Ctrl+Alt+T di keyboard Anda untuk membuka Terminal. Ketika terbuka, jalankan perintah di bawah ini:

cat /etc/passwd

ATAU

less /etc/passwd
more /etc/passwd

Anda juga dapat menggunakan awk:awk

awk -F':' '{ print $1}' /etc/passwd

73
2018-01-24 19:38



bagaimana cara menambahkan pengguna dengan perintah? - nux
Kamu dapat memakai useradd perintah. - Mitch♦
@nux Agak terlambat ke pesta, tetapi dari penggunaan baris perintah adduser sebagai gantinya, useradd harus terbatas pada skrip di mana penulis benar-benar tahu apa yang dia lakukan. - flindeberg


Cara termudah untuk mendapatkan informasi semacam ini adalah getent - Lihat manpage untuk getent perintah Manpage icon. Sementara perintah itu memberikan output yang sama cat /etc/passwd ini berguna untuk diingat karena akan memberi Anda daftar beberapa elemen dalam OS.

Untuk mendapatkan daftar semua pengguna yang Anda ketik (karena pengguna terdaftar di /etc/passwd)

getent passwd

Untuk menambahkan pengguna pengguna baru ke sistem yang akan Anda ketik

sudo adduser newuser

untuk membuat pengguna yang memiliki semua pengaturan default yang diterapkan.

Bonus: Untuk menambah pengguna (misalnya anyuser) ke grup (misalnya CD ROM) ketik

sudo adduser anyuser cdrom

Anda menghapus pengguna (misalnya usang) dengan

sudo deluser obsolete

Jika Anda ingin menghapus direktori home / emailnya juga Anda mengetik

sudo deluser --remove-home obsolete

Dan

sudo deluser --remove-all-files obsolete

akan menghapus pengguna dan semua file yang dimiliki oleh pengguna ini di seluruh sistem.


52



Ini berguna untuk mengingat bahwa getent tidak hanya mencetak output dari pengguna di / etc / passwd tetapi semua pengguna di semua backend userdb yang dikonfigurasi pada sistem yang diberikan, apakah itu / etc / passwd atau LDAP, dll. - Marcin Kaminski


Kamu dapat memakai compgen built-in juga:

compgen -u

Akan mendaftar semua pengguna.


21





Ini harusnya, dalam situasi yang paling normal, semua pengguna normal (non-sistem, tidak aneh, dll):

awk -F'[/:]' '{if ($3 >= 1000 && $3 != 65534) print $1}' /etc/passwd

Ini berfungsi dengan:

  • membaca dari /etc/passwd
  • menggunakan : sebagai pemisah
  • jika bidang ketiga (nomor ID Pengguna) lebih besar dari 1000 dan bukan 65534, bidang pertama (nama pengguna pengguna) dicetak.

Ini karena pada banyak sistem linux, nama pengguna di atas 1000 dicadangkan untuk pengguna yang tidak berhak (bisa dibilang normal). Beberapa info tentang ini sini:

ID pengguna (UID) adalah bilangan bulat positif unik yang ditetapkan oleh Unix-like   sistem operasi untuk setiap pengguna. Setiap pengguna diidentifikasi ke sistem   oleh UID-nya, dan nama pengguna biasanya digunakan hanya sebagai antarmuka untuk   manusia.

UID disimpan, bersama dengan nama pengguna yang sesuai dan lainnya   informasi spesifik pengguna, di file / etc / passwd ...

Bagian ketiga berisi UID, dan bidang keempat berisi   group ID (GID), yang secara default sama dengan UID untuk semua yang biasa   pengguna.

Di kernel Linux 2.4 dan di atas, UID adalah bilangan bulat 32-bit yang tidak ditandatangani   yang dapat mewakili nilai dari nol hingga 4,294,967,296. Namun demikian   disarankan untuk menggunakan nilai hanya hingga 65,534 untuk mempertahankan   kompatibilitas dengan sistem menggunakan kernel atau filesystem lama yang bisa   hanya menampung 16-bit UID.

UID 0 memiliki peran khusus: selalu merupakan akun root (yaitu,   pengguna administratif mahakuasa). Meskipun nama pengguna bisa   diubah pada akun ini dan akun tambahan dapat dibuat dengan   UID yang sama, tidak ada tindakan yang bijaksana dari sudut pandang keamanan.

UID 65534 biasanya disediakan untuk siapa pun, pengguna tanpa sistem   hak istimewa, dibandingkan dengan pengguna biasa (yaitu, bukan pengguna istimewa).   UID ini sering digunakan untuk individu yang mengakses sistem dari jarak jauh   via FTP (protokol transfer file) atau HTTP (transfer hypertext   protokol).

UID 1 hingga 99 secara tradisional disediakan untuk pengguna sistem khusus   (terkadang disebut pseudo-users), seperti roda, daemon, lp, operator,   berita, surat, dll. Pengguna ini adalah administrator yang tidak perlu total   kekuatan root, tetapi yang melakukan beberapa tugas administratif dan dengan demikian membutuhkan   lebih banyak keistimewaan daripada yang diberikan kepada pengguna biasa.

Beberapa distribusi Linux (yaitu, versi) mulai UIDs untuk   pengguna non-istimewa di 100. Lainnya, seperti Red Hat, memulainya   500, dan yang lain lagi, seperti Debian, mulai dari 1000. Karena   perbedaan antara distribusi, intervensi manual dapat diperlukan   jika beberapa distribusi digunakan dalam jaringan dalam suatu organisasi.

Juga, akan lebih mudah untuk memesan blok UID untuk pengguna lokal,   seperti 1000 hingga 9999, dan blok lain untuk pengguna jarak jauh (mis.,   pengguna di tempat lain di jaringan), seperti 10.000 hingga 65534. Yang penting   Hal ini untuk memutuskan skema dan mematuhinya.

Di antara keuntungan dari praktik ini adalah mencadangkan blok angka   untuk jenis pengguna tertentu adalah membuatnya lebih nyaman   cari melalui log sistem untuk aktivitas pengguna yang mencurigakan.

Bertentangan dengan kepercayaan populer, tidak perlu bahwa setiap entri dalam   Bidang UID menjadi unik. Namun, UID yang tidak unik dapat menyebabkan keamanan   masalah, dan dengan demikian UID harus tetap unik di seluruh   organisasi. Demikian juga, daur ulang UID dari mantan pengguna seharusnya   dihindari selama mungkin.


19





daftar semua pengguna yang dapat masuk (tidak ada pengguna sistem seperti: bin, deamon, mail, sys, dll.)

awk -F':' '$2 ~ "\$" {print $1}' /etc/shadow

menambahkan pengguna baru

sudo adduser new_username

atau

sudo useradd new_username

menghapus/ hapus nama pengguna

sudo userdel username

Jika Anda ingin menghapus direktori home (default direktori / home / username)

sudo deluser --remove-home username

atau

sudo rm -r /path/to/user_home_dir

Jika Anda ingin menghapus semua file dari sistem dari pengguna ini (tidak hanya diretory rumah)

sudo deluser --remove-all-files

15



Mungkin Anda harus menjelaskan perbedaannya adduser dan useradd. An juga menambahkan sudo-prefix ke perintah pertama. File bayangan kata sandi hanya dapat dibaca sebagai root. - s3lph
awk -F':' '$2 ~ "\$" {print $1}' /etc/shadow menunjukkan kepada saya semua pengguna termasuk bin, daemon, dll. dan melemparkan peringatan ini: escape sequence \$' treated as plain $ 'Saya menemukan posting ini stackoverflow.com/a/25867768/847954  dan menambahkan satu backslash lagi dan itu berfungsi dengan baik: awk -F':' '$2 ~ "\\$" {print $1}' /etc/shadow - jeff musk


Ok di sini adalah trik yang akan membantu Anda menyortir ini. Terminal memiliki penyelesaian otomatis jika Anda mengetik pengguna dan menekan tombol Tab dua kali akan mencantumkan semua perintah yang ada dengan pengguna sebagai 4 karakter pertama.

user (tab tab)

memberi saya kemungkinan opsi     useradd userdel usermod pengguna pengguna-admin
jika Anda ingin tahu lebih banyak tentang perintah google atau ketikkan man     man useradd memberi     useradd - buat pengguna baru atau perbarui informasi pengguna baru default     ...     ...

untuk daftar pengguna Anda harus pergi dengan apa yang dikatakan Mitch.

Harapan yang membantu saya menyukai penyelesaian tab di bash menyelamatkan saya dari mengingat hal-hal.


7





Untuk mengetahui pengguna yang memiliki direktori home di folder / home pada mesin, jalankan perintah berikut

cd /home
ls 

Anda kemudian dapat melihat pengguna yang memiliki otorisasi untuk masuk ke server. Jika kita ingin melihat file dari setiap pengguna, Anda harus menjadi pengguna root.


6



Ini hanya menampilkan konten /home. Sementara Ubuntu menempatkan direktori pengguna di sana secara default, itu tidak wajib. - David Foerster