Apakah ada perintah untuk mencantumkan semua pengguna? Juga untuk menambah, menghapus, memodifikasi pengguna, di terminal?

Saya memerlukan perintah untuk mencantumkan semua pengguna serta perintah untuk menambah, menghapus, dan memodifikasi pengguna dari terminal - perintah apa pun yang dapat membantu dalam mengelola akun pengguna dengan mudah oleh terminal.

Untuk daftar

Untuk daftar semua lokal pengguna yang dapat Anda gunakan:

cut -d: -f1 /etc/passwd

Untuk mencantumkan semua pengguna yang dapat mengautentikasi( dalam beberapa cara), termasuk non-lokal, lihat jawaban ini.

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

Untuk menambahkan

Untuk menambahkan pengguna baru, Anda dapat menggunakan:

sudo adduser nama pengguna baru

atau:

sudo useradd nama pengguna baru

Lihat juga: Apa perbedaan antara adduser dan useradd?

Untuk menghapus / menghapus

Untuk menghapus / menghapus pengguna, pertama Anda dapat menggunakan:

sudo userdel nama pengguna

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

Rumah Sakit Umum Santo Antonius/nama pengguna

Silakan gunakan dengan hati-hati perintah di atas!

Untuk memodifikasi

Untuk mengubah nama pengguna pengguna:

usermod -l nama pengguna baru old_username

Untuk mengubah kata sandi untuk pengguna:

sudo passwd nama pengguna

Untuk mengubah shell untuk pengguna:

sudo chsh nama pengguna

Untuk mengubah rincian untuk pengguna (misalnya nama asli):

sudo chfn nama pengguna

Untuk menambahkan pengguna ke sudo grup:

adduser nama pengguna sudo

atau

usermod -aG sudo nama pengguna

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

Cukup tekan Ctrl+Alt+T pada keyboard Anda untuk membuka Terminal. Ketika terbuka, Jalankan perintah(s) di bawah ini:

cat /etc/passwd

Atau

less /etc/passwdmore /etc/passwd

Anda juga dapat menggunakan awk:awk

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

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

Untuk mendapatkan daftar semua pengguna yang anda ketik (sebagai pengguna terdaftar di /etc/passwd)

getent passwd

Untuk menambahkan pengguna newuser ke sistem yang akan Anda ketik

sudo adduser newuser

untuk membuat pengguna yang memiliki semua pengaturan default diterapkan.

Bonus: untuk menambahkan pengguna (misalnya anyuser) ke grup (misalnya cdrom) jenis

sudo adduser anyuser cdrom

Anda menghapus pengguna (misalnya usang) dengan

sudo deluser obsolete

Jika Anda ingin menghapus direktori home nya / mail juga anda ketik

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.

Anda dapat menggunakan compgen GNU bash bawaan terlalu:

compgen -u

Akan mencantumkan semua pengguna.

Ini harus mendapatkan, 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 bekerja dengan:

  • membaca dari /etc/passwd
  • menggunakan : sebagai pembatas
  • 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 memiliki hak istimewa (bisa dikatakan normal). Beberapa info tentang ini di sini:

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

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

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

Di kernel Linux 2.4 ke atas, UID adalah bilangan bulat 32-bit yang tidak ditandatangani yang dapat mewakili nilai dari nol hingga 4.294.967.296. Namun, disarankan untuk menggunakan nilai hanya hingga 65.534 untuk menjaga kompatibilitas dengan sistem yang menggunakan kernel atau sistem file yang lebih lama yang hanya dapat menampung UID 16-bit.

UID 0 memiliki peran khusus: selalu akun root (yaitu, pengguna administratif Yang Mahakuasa). Meskipun nama pengguna dapat 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 hak istimewa sistem, sebagai lawan dari pengguna biasa (yaitu, tidak memiliki hak istimewa). UID ini sering digunakan untuk individu yang mengakses sistem dari jarak jauh melalui FTP (file Transfer protocol) atau HTTP (hypertext Transfer protocol).

UID 1 hingga 99 secara tradisional disediakan untuk pengguna sistem khusus (kadang-kadang disebut pengguna semu), seperti roda, daemon, lp, operator, berita, surat, dll. Pengguna ini adalah administrator yang tidak membutuhkan kekuatan root total, tetapi yang melakukan beberapa tugas administratif dan karenanya membutuhkan lebih banyak hak istimewa daripada yang diberikan kepada pengguna biasa.

Beberapa distribusi Linux (yaitu, versi) memulai UID untuk pengguna yang tidak memiliki hak istimewa pada 100. Yang lainnya, seperti Red Hat, memulainya pada 500, dan yang lainnya, seperti Debian, memulainya pada 1000. Karena perbedaan antara distribusi, intervensi manual dapat diperlukan jika beberapa distribusi digunakan dalam jaringan dalam suatu organisasi.

Selain itu, akan lebih mudah untuk memesan blok UID untuk pengguna lokal, seperti 1000 hingga 9999, dan blok lain untuk pengguna jarak jauh (yaitu, pengguna di tempat lain di jaringan), seperti 10000 hingga 65534. Yang penting adalah memutuskan skema dan mematuhinya.

Di antara keuntungan dari praktik pemesanan blok angka untuk jenis pengguna tertentu adalah membuatnya lebih mudah untuk mencari melalui log sistem untuk aktivitas pengguna yang mencurigakan.

Berlawanan dengan kepercayaan populer, tidak perlu bahwa setiap entri di bidang UID menjadi unik. Namun, UID non-unik dapat menyebabkan masalah keamanan, dan dengan demikian UID harus tetap unik di seluruh organisasi. Demikian juga, daur ulang UID dari mantan pengguna harus dihindari selama mungkin.

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

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

tambah pengguna baru

sudo adduser new_username

atau

sudo useradd new_username

Hapus/ 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 Home diretory)

sudo deluser --remove-all-files

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

user (tab tab)

memberi saya mungkin pilihan useradd userdel usermod pengguna pengguna-admin
jika Anda ingin tahu lebih banyak tentang perintah google atau ketik Man man useraddgives useradd - buat pengguna baru atau Perbarui informasi pengguna baru default ... ...

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

Harapan itu membantu saya menyukai penyelesaian tab di bash menyelamatkan saya dari mengingat sesuatu.

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

cd /homels 

Anda kemudian dapat melihat pengguna yang memiliki otorisasi untuk masuk ke server. Jika kami ingin melihat file pengguna mana pun, Anda harus menjadi pengguna root.

Jawaban pertama merekomendasikan:

cut -d: -f1 /etc/passwd

Tetapi menggunakan ini dan menghitung jumlah pengguna yang anda dapatkan:

$ cut -d: -f1 /etc/passwd | wc -l46

46 pengguna untuk komputer laptop banyak!. Jadi gunakan ini sebagai gantinya:

$ cat /etc/passwd | grep -vE '(/bin/false|/sbin/nologin|/bin/sync)' | cut -d: -f1rootrickguest-atkb2qguest-u4sf2iguest-rmlbtgguest-mz53vp

Untuk menghapus akun tamu (yang tidak menyimpan file) gunakan:

$ cat /etc/passwd | grep -vE '(/bin/false|/sbin/nologin|/bin/sync|guest-)' | cut -d: -f1rootrick

Beberapa contoh pengguna yang dihapus dari daftar adalah:

systemd-timesync:x:100:102:systemd Time Synchronization,,,:/run/systemd:/bin/falsegnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologinsync:x:4:65534:sync:/bin:/bin/syncsync:x:4:65534:sync:/bin:/bin/syncguest-atkb2q:x:999:999:Guest:/tmp/guest-atkb2q:/bin/bash

Ternyata sebagian besar pengguna pada sistem pengguna tunggal sebenarnya adalah program yang telah mengatur diri mereka sebagai pengguna.

sed jawaban sed 's/:.* / / / etc / passwd’

daftar pengguna: ‘awk-F:’ { print $ 1} ’ / etc / passwd `