Saya perlu perintah untuk mendaftar semua pengguna di terminal. Dan cara menambah, menghapus, memodifikasi pengguna dari terminal.
Itu bisa membantu dalam administrasi akun Anda dengan mudah melalui terminal.
Saya perlu perintah untuk mendaftar semua pengguna di terminal. Dan cara menambah, menghapus, memodifikasi pengguna dari terminal.
Itu bisa membantu dalam administrasi akun Anda dengan mudah melalui terminal.
sed 's/:.*//' /etc/passwd
awk -F: '{ print $1 }' /etc/passwd
Jawaban:
Daftar
Untuk membuat daftar semua pengguna lokal yang dapat Anda gunakan:
Untuk daftar semua pengguna yang dapat diautentikasi (dalam beberapa cara), termasuk non-lokal, lihat balasan ini .
Beberapa perintah manajemen pengguna yang lebih berguna (juga terbatas untuk pengguna lokal ):
Menambahkan
Untuk menambahkan pengguna baru, Anda dapat menggunakan:
atau:
Lihat juga: Apa perbedaan antara adduser dan useradd?
Untuk menghapus / menghapus
Untuk menghapus / menghapus pengguna, pertama-tama Anda dapat menggunakan:
Maka Anda mungkin ingin menghapus direktori home untuk akun pengguna yang dihapus:
Silakan gunakan dengan hati-hati perintah di atas!
Untuk mengubah
Untuk mengubah nama pengguna pengguna:
Untuk mengubah kata sandi bagi pengguna:
Untuk mengubah shell untuk pengguna:
Untuk mengubah detail pengguna (misalnya nama asli):
Untuk menambahkan pengguna ke
sudo
grup:atau
Dan, tentu saja, lihat juga:
man adduser
,man useradd
,man userdel
... dan seterusnya.sumber
sudo chfn <username>
yang mengubah detail pengguna (misalnya nama asli). Saya mencoba menambahkan ini sebagai komentar, tetapi saya mendapat kesalahan dengan memberi tahu saya bahwa saya harus memiliki +50 reputasi untuk melakukannya.Cukup tekan Ctrl+ Alt+ Tdi keyboard Anda untuk membuka Terminal. Saat terbuka, jalankan perintah di bawah ini:
ATAU
Anda juga dapat menggunakan awk: awk
sumber
adduser
,useradd
harus dibatasi untuk skrip di mana penulis benar-benar tahu apa yang dia lakukan.Cara termudah untuk mendapatkan informasi semacam ini adalah
getent
- lihat manual untukgetent
perintahnya . Sementara perintah itu memberikan output yang sama seperticat /etc/passwd
berguna untuk diingat karena itu akan memberi Anda daftar beberapa elemen di OS.Untuk mendapatkan daftar semua pengguna yang Anda ketikkan (saat pengguna terdaftar
/etc/passwd
)Untuk menambahkan pengguna newuser ke sistem Anda akan ketik
untuk membuat pengguna yang menerapkan semua pengaturan default.
Bonus: Untuk menambahkan pengguna (misalnya anyuser ) ke grup (misalnya cdrom ) ketik
Anda menghapus pengguna (misalnya usang ) dengan
Jika Anda ingin menghapus direktori home / mail-nya juga Anda ketikkan
Dan
akan menghapus pengguna dan semua file yang dimiliki oleh pengguna ini di seluruh sistem.
sumber
getent passwd
menjadi perintah yang tepatAnda juga dapat menggunakan
compgen
GNU bash built-in :Akan mencantumkan semua pengguna.
sumber
Ini akan membuat, dalam sebagian besar situasi normal , semua pengguna normal (non-sistem, tidak aneh, dll):
Ini bekerja dengan:
/etc/passwd
:
sebagai pembatasIni karena pada banyak sistem linux, nama pengguna di atas 1000 dicadangkan untuk pengguna yang tidak mampu (bisa dikatakan normal). Beberapa info tentang ini di sini :
sumber
getent
daripada membaca langsung dari/etc/passwd
dan mencariUID_MIN
/UID_MAX
bukannya mengkodekan nilai:getent passwd | awk -F: "{if (\$3 >= $(awk '/^UID_MIN/ {print $2}' /etc/login.defs) && \$3 <= $(awk '/^UID_MAX/ {print $2}' /etc/login.defs)) print \$1}"
daftar semua pengguna yang dapat masuk (tidak ada pengguna sistem seperti: bin, deamon, mail, sys, dll.)
tambahkan pengguna baru
atau
hapus / hapus nama pengguna
Jika Anda ingin menghapus direktori home (default direktori / home / username)
atau
Jika Anda ingin menghapus semua file dari sistem dari pengguna ini (tidak hanya direktori home)
sumber
adduser
danuseradd
. Juga tambahkansudo
-prefix ke perintah pertama. File shadow kata sandi hanya dapat dibaca sebagai root.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 bekerja dengan baik:awk -F':' '$2 ~ "\\$" {print $1}' /etc/shadow
Ok di sini ada 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.
memberi saya pilihan yang memungkinkan useradd userdel usermod pengguna pengguna-admin
jika Anda ingin tahu lebih banyak tentang perintah google atau tipe man man useradd memberikan 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 suka penyelesaian tab di bash menyelamatkan saya dari mengingat sesuatu.
sumber
Untuk mengetahui pengguna yang memiliki direktori home di folder / home pada mesin, jalankan perintah berikut
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.
sumber
/home
. Sementara Ubuntu menempatkan direktori pengguna di sana secara default, itu tidak wajib.ls /home
mungkin juga berisi direktori pengguna dari pengguna yang dihapus.