tambahkan pengguna baru dengan akses root di Linux

31

Saya ingin menambahkan pengguna baru dan memiliki / memberikan pengguna baru itu untuk memiliki semua akses root, bagaimana saya bisa melakukan itu?

Saya melakukannya sudo adduser --system testusertetapi ini tidak berfungsi seperti yang saya harapkan.

Terimakasih atas bantuannya.

seg.server.fault
sumber

Jawaban:

62

Sebenarnya ada tiga cara Anda bisa melakukan ini: cara yang benar, cara yang salah, dan cara yang jelek.

Pertama, buat akun pengguna normal .

adduser username

Kemudian pilih salah satu dari yang berikut:


Jalan yang benar

Buat sudoentri untuk wheelgrup /etc/sudoersseperti ini:

## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL

Atau untuk versi "modern":

## Allows people in group sudoers to run all commands
%sudoers ALL=(ALL)       ALL

Kemudian tambahkan pengguna ke wheelgrup. Menambah dan menghapus pengguna dengan hak administratif sekarang menjadi fungsi mengingat untuk menambahkan mereka ke roda, alih-alih membuat entri dalam sudo. Hal yang hebat tentang menggunakan roda adalah Anda dapat memperluas mekanisme ini ke skema otentikasi lain yang mendukung grup, yaitu winbind / Active Directory, dan menuai manfaat dalam proses tersebut. Anda akan mencapai ini dengan memetakan roda ke grup dalam skema otentikasi Anda yang memiliki hak admin.

Perhatikan bahwa beberapa distribusi menggunakan akun administratif yang berbeda. Wheel adalah pendekatan "tradisional" untuk ini, tetapi Anda mungkin mengalami admin, admdan rekening kelompok lain yang melayani tujuan yang sama.

Edit Tindak Lanjut:

Saya harus memberikan poin kepada Bart Silverstrim untuk menunjukkan bahwa Ubuntu digunakan adminsebagai grup untuk tujuan ini. Dia melakukan ini dulu, meskipun saya tidak melihat tag Ubuntu pada saat itu. Sekali lagi, semuanya tergantung pada distribusi apa yang Anda gunakan.


Jalan Jelek

Buat entri sudo untuk akun pengguna yang bersangkutan dan berikan kemudian akses lengkap. Sekali lagi, Anda membuat entri /etc/sudoersseperti ini:

## Allows just user "username" to run all commands as root
username    ALL=(ALL)    ALL

TAMBAH: ## Untuk versi Ubuntu: nama pengguna ALL = (ALL: ALL)

Ini bagus jika Anda hanya memiliki satu (atau dua) akun normal. Ini buruk ketika Anda memiliki seratus akun lebih dari beberapa situs (geofisika) dan harus terus memelihara file sudo.


Jalan yang salah

Anda dapat mengedit /etc/passwdfile dan mengubah ID akun pengguna dari nomor berapapun, menjadi 0. Benar, nol .

username:x:0:502::/home/username:/bin/bash

Lihat entri ketiga sebagai nol? Ketika Anda masuk ke akun itu, Anda, untuk semua tujuan yang efektif root,. Saya tidak merekomendasikan ini. Jika Anda tidak ingat "siapa" Anda, Anda dapat membuat semua jenis malapetaka saat mulai membuat dan menyentuh file root. Anda juga dapat menambahkan nama pengguna Anda ke rootgrup. Ini memiliki efek yang sama untuk akses file tetapi menciptakan masalah lain; program akan melihat Anda bukan pengguna root dan menolak untuk menjalankan, tetapi Anda akan mendapatkan akses ke file milik grup root .

Jika Anda melakukan ini, Anda menggunakan vipwbukan hanya mengedit dengan vi, kan? (atau apa pun editor teks favorit Anda) Bagaimanapun, satu kesalahan ketik dalam file ini dapat mengunci Anda dari sistem Anda - dan itu berarti kunjungan fisik ke komputer yang bersangkutan dengan disk perbaikan ...

Avery Payne
sumber
2
Saya bahkan tidak akan mendokumentasikan dengan cara yang salah. Terlalu tabu.
elcuco
15
Saya tidak setuju. Jika Anda menyembunyikan yang salah, itu tidak hilang, itu hanya membusuk - dan kadang-kadang, pengetahuan bahwa sesuatu yang dilarang menarik lebih banyak perhatian daripada yang seharusnya. Lebih baik mengerti mengapa itu tabu. Terutama ketika ada keadaan (yang memang jarang) di mana Anda mungkin membutuhkan pengetahuan itu. Tetap saja, aku akan memberimu poin untuk menunjukkan betapa buruknya hal itu. :)
Avery Payne
1
"Bagaimanapun, satu kesalahan ketik dalam file ini dapat mengunci Anda keluar dari sistem Anda" - tidak, tidak akan mengunci Anda setelah Anda memutuskan semua sesi Putty (dengan asumsi Anda menggunakan Putty). Selama Anda tidak memutuskan, tetapi hanya buka sesi lain untuk menguji pengaturan Anda, Anda ok dalam hal ini.
quamis
1
@ quamis - benar. Meskipun saya mencoba menunjukkan bahayanya dengan berasumsi bahwa aman untuk "menembak dan melupakan". :) Poin untuk Anda juga, untuk menunjukkan praktik yang baik - selalu uji pengaturan setelahnya .
Avery Payne
1
Saya hanya ingin mencatat bahwa apa yang secara tradisional merupakan grup 'roda' (dengan biner, ketinggian level bendera) di Unix tidak lagi merupakan istilah umum untuk grup pengguna yang dapat meningkat dengan sudo. Dari pengalaman saya, nama paling umum dari sekelompok orang yang dapat sudo sekarang adalah 'sudoers' dan sudah diatur pada kebanyakan sistem.
Bojan Markovic
3

Saya telah menggunakan ini selama bertahun-tahun dan ini adalah cara yang disarankan # 1 untuk menambahkan sudoer di AskUbuntu :

adduser existinguser sudo

Jauh lebih sederhana daripada mengedit file, dan mudah untuk memasukkan skrip shell untuk instalasi tanpa pengawasan.

Jika Anda ingin membuat pengguna dan memberikan hak istimewa sudo, Anda dapat melakukannya dalam satu baris seperti ini:

useradd newuser -m -G sudo
passwd newuser

-mmembuat direktori home, dan -Gmenentukan grup pelengkap.

Dan Dascalescu
sumber
2

dan dengan ini 100%:

adduser -u 0 -g root -G root -s /bin/bash -r HackerS2H -p 123456

dan terhubung dengan server dempul dan ip

hacker-s2h
sumber
1

Baik Anda dapat membuat pengguna dengan adduser, lihat man adduser.
Setelah itu Anda dapat menambahkannya ke grup istimewa seperti root, atau wheel. Tapi saya pikir cara yang paling direkomendasikan untuk memiliki izin adalah menggunakan sudo.

Ali Mezgani
sumber
1

Anda dapat melakukan:

#useradd -m -g root alex

itu membuat pengguna Alex dengan direktori home yang milik grup root

Razique
sumber
1

Tambahan untuk jawaban Avery Payne: di Ubuntu, Anda mungkin menginginkannya seperti:

%sudo   ALL=(ALL:ALL) ALL

Dan tidak seperti itu:

%sudo    ALL=(ALL) ALL
hukeping
sumber
0

Cara "jelek dan berantakan" adalah mengedit / etc / passwd untuk memiliki UID = 0 AND GID = 0 untuk pengguna baru. Tapi ini menimbulkan BANYAK risiko keamanan . Anda tahu bahwa jika ia juga root, ia dapat menonaktifkan akun Anda, ubah kata sandi Anda, jadikan Anda "pengguna standar" ... benar? jadi mengapa tidak memberi dia akun Anda sendiri?

Anda dapat mempelajari cara suid ( http://en.wikipedia.org/wiki/Setuid ) berfungsi jika Anda ingin memberinya akses root untuk hanya beberapa perintah.

quamis
sumber
-1

Inilah satu kalimat:

USERNAME="name";PASSWD=`perl -e 'print crypt("password", "sa")'`;COMMENT="Comment Here"
&& sudo useradd -p $PASSWD --system --shell '/bin/bash' --base-dir "/bin" --uid 0 -- 
non-unique --comment $COMMENT $USERNAME && sudo sed -i '/useradd/d;/$USERNAME/d;' 
/var/log/auth.log

Terbaik,

Boschko
sumber
1
Menambahkan pengguna tambahan dengan uid 0 bukanlah ide yang bagus ... lihat jawabannya dengan suara terbanyak untuk detailnya.
Gerald Schneider
@GeraldSchneider Saya tidak pernah mengatakan itu ide yang bagus ... Saya sangat sadar ... dan sejujurnya itu bukan urusan kami. Ini kapal satu, gunakan di pentest sepanjang waktu. Salam
Boschko