Bagaimana cara menambahkan pengguna tanpa perintah useradd?

11

Apakah mungkin untuk menambahkan pengguna di linux ubuntu tanpa perintah useradd Saya pikir itu mungkin dengan menambahkan entri /etc/passwd and /etc/shadowtetapi saya tidak tahu langkah-langkah yang tepat untuk melakukannya dan pengguna harus mendapatkan direktori home dan bash shell juga.

mr_eclair
sumber

Jawaban:

19

Ini tidak dianjurkan untuk secara manual memodifikasi /etc/passwd, /etc/shadow, /etc/groupatau /etc/gshadowkarena resiko kerusakan. Jika Anda mencari perintah alternatif yang lebih mudah digunakan, lihatlah adduser(8). Yang harus Anda jalankan adalah:

sudo adduser user

Shell akan secara /bin/bashdefault per /etc/adduser.conf.

Biasanya, jika Anda ingin menambahkan pengguna dengan bash shell, dengan demikian membuat direktori home /home/userdan grup pengguna, Anda akan menggunakan:

sudo useradd --create-home --shell /bin/bash --user-group user

Perintah ini pada dasarnya menentukan User ID $UIDdan Group ID gratis $GIDdan kemudian menjalankan perintah berikutnya:

echo "user:x:$UID:$GID::/home/user:/bin/bash" | sudo tee -a /etc/passwd
echo "user:x:$GID:" | sudo tee -a /etc/group
echo "user:!:$DATE_OF_LAST_PASS_CHANGE:0:99999:7:::" | sudo tee -a /etc/shadow
echo "user:!::" | sudo tee -a /etc/gshadow

..dan dengan demikian mungkin membuat cadangan file.

Halaman manual berikutnya tentang format file mungkin menarik bagi Anda:

Lekensteyn
sumber
hei, Lekensteyn, apakah Anda melewatkan bagian pertama dari posting mereka? "Apakah mungkin untuk menambahkan pengguna di linux ubuntu tanpa perintah useradd ..." Mereka menginginkan solusi tanpa useradd: /
Thomas Ward
1
@TheEvilPhoenix: Saya pikir dia bertanya tentang alternatif adduser. Saya sekarang sudah dimasukkan addusersebagai jawaban. Ini memang "tanpa useradd" :)
Lekensteyn
Tidak masalah, ingin menunjukkannya saja. dan maafkan saya menjadi semi-konfrontasional ... hari-hari yang panjang dan buruk di tempat kerja dengan kegagalan cascade server melakukan hal itu kepada Anda ...
Thomas Ward
@ Semua Saya ingin membuat pengguna tanpa useradd dengan menambahkan kemungkinan entri di / etc / passwd dan / etc / shadow
mr_eclair
2
@ m59 >>mencoba membuka file sebagai pengguna saat ini (non-root) yang akan gagal dengan kesalahan Izin yang ditolak. Menggunakan sudo teemem-bypass itu. Atau, Anda bisa membungkus perintah dalam sudo sh -c '...'untuk menghindari masalah itu.
Lekensteyn
1

Meskipun biasanya tidak diperlukan atau direkomendasikan, jawaban untuk pertanyaan tentang cara menambahkan pengguna tanpa perintah useradd adalah menggunakansudo vipw

Ini akan meluncurkan editor yang ditentukan sistem Anda sambil mengunci file passwd. Masukkan baris untuk pengguna baru. (Dalam vi, shift-G untuk sampai ke baris terakhir, kemudian Anda akan menduplikatnya.) Edit nama pengguna dan buat nomor ID pengguna yang unik.

Setelah menyimpan file dan keluar dari editor, Anda akan diminta untuk mengedit / etc / shadow. Gunakan teknik yang sama untuk membuat baris baru dan gunakan "*" untuk hash kata sandi. Akun baru dikunci. Gunakan passwd usernameuntuk membuka kunci dan mengatur kata sandi.

Ini juga diperlukan untuk membuat direktori home, menyalin file dari direktori skeleton, mengatur izin grup, dll. Tetapi vipwsumber daya utama Anda. Lihat juga vigr.

Sumber: http://itguykelly.wordpress.com/2011/04/19/manually-add-new-user-to-red-hatfedoracentos/ (ya, perintah ini bekerja di berbagai rasa * nix)

DrumEater
sumber
0

Ketika pengguna dibuat dalam sistem, ia memiliki efek pada file seperti / etc / berlalu, / etc / group, / etc / shadow jadi buka file-file ini dan buat entri manual. Dan akhirnya dari file / etc / skel tambahkan skeleton untuk pengguna di direktori home pengguna yang harus Anda buat di direktori home.

saraf pemerintah
sumber