Kökü nasıl yeniden adlandırırsınız?


27

Bunu değiştirmek çok iyi bir fikir değil, eğlence için. Göre bu yazı, orada bile girişleri değiştirdikten sonra bazı sorunlar hala /etc/passwd, /etc/shadowve /etc/sudoers. Baska öneri?


hesap adı "root"? üst düzey dizin "/"?
akira

4
kullanıcı adı kökü
yxkb

1
o zaman lütfen sorunuzu netleştirin ...
akira

7 yıl sonra, bununla devam edip etmediğinizi ve bunun yüzünden ne tür bir BadStuff olduğunu merak ediyorum ... ^ _ ^
Mioriin

Yanıtlar:


29

Teorik olarak, onu değiştirmek /etc/passwdve /etc/shadowkökünü yeniden adlandırmak için ihtiyacınız olan her şey olacaktır. Buradaki sorun, hemen hemen her Unix yazılımının tek bir parçasının, "root" kullanıcı adının var olduğunu ve süper kullanıcı - posta takma adlarını, çeşitli daemonları, cronu olduğunu varsaydığını ...

Denemeye gerçekten eğilmişseniz, find /etc -type f -exec grep -l root {} +muhtemelen değiştirmeniz gereken her yapılandırma dosyasının bir listesini bulmak için iyi bir başlangıç ​​olmalı - ama daha önce de söylediğiniz gibi, bu hemen hemen akla gelebilecek her durumda gerçekten kötü bir fikirdir.

EDIT Başka bir düşünce - önceden yapmadıysanız ( olması gereken), doğru bir şekilde /etc/aliasesbir giriş rootve bir kullanıcı adı veya bir e-posta adresi içerdiğinden emin olun. Bir çok otomatik sistem çapında görev ( cronörneğin), çıktılarını e-postayla gönderir root; bu, geleneksel olarak bu sistemin işlemlerinden sorumlu olan sistem yöneticilerine takılır.


2
/ etc / group ayrıca kullanıcı
adlarına

Yalnızca söz konusu grup varsayılan grup olmadığında kullanıcı adlarını kullanır, ancak iyi bir nokta olur.
Shadur

3
bu mu? UID gitmek ve ideal düşünmek name.i değil uygulamalar çoğu i hiçbir uygulama "kök = UID 0" üstlenmesi gerektiğini düşündük
yxkb

2
@ yxkb: Haklısın, hiçbir uygulama bunu varsaymamalıdır. Ancak bunu yapan her uygulama veya komut dosyası için gerçekten 1 $ almak istiyorum! :)
Bram

1
Aslında. chown root …Kabuk betiğine kişisel olarak yazdığımız veya benzer olduğumuz her zaman düşünelim .
derobert

24

Tüm bu korkudan kaçınma, "Yapma!" Diyerek. saçmalık. Bir zamanlar, evet, muhtemelen pek çok kötü yazılmış senaryoyu kırmıştı, ama artık bunların çok yaygın olmadığından şüpheleniyorum; en azından standart dağılımlarda değil.

Linux sunucusunun alt kümesinde kök hesabın adını değiştirmemiz istendi. Bu yüzden, bunu doğru bir şekilde nasıl yapacağınızı araştırmaya çalıştıktan sonra, bunun yerine "Yapma!" Diyen birçok yazı buldum. Bunu yapmayı seçerseniz çok kötü "kötü şeyler" uyarıları ile oluyor. Ancak, gerçekleşebilecek "kötü şeyler" in somut örneklerini henüz bulamadım.

Peki, geri döneyim ve nerede olduğumu ve buraya nasıl geldiğimizi açıklayayım. PCI uyumlu bir ortam oluşturuyoruz ve bu "gereklilikleri" karşılamamıza yardımcı olan araçlardan biri, kök ve yönetici ve konuk hesaplarını yeniden adlandırmamız gerektiğini söylüyor. PCI konusunda eğitim görmeyenler için, kılavuzlara uyma ya da neden bu kurala uymama ya da bu kılavuza uymama nedenini seçme ya da sistemleri güvende tutmak için hangi hafifletici stratejiyi kullanmak zorunda olduğunuzu belgeleme seçeneğiniz vardır. Böylece, çoğu yerde neden kök hesaplarını yeniden adlandırmayacaklarını belgeliyorlar, ancak grubumuz, Windows yönetici hesaplarını sorunsuz bir şekilde yeniden adlandırabilirsek, linux kök hesaplarını da yeniden adlandıracağına karar verdi.

"Müstehcenlik yoluyla güvenlik" argümanlarında ustalık duyuyorum; Kök hesap adını değiştirmenin yalnızca güvenliği pek arttırmadığını biliyorum, SSH'de kök devre dışı bırakılmalı, vb. Biliyorum, mesele bu değil, daha fazla duymak istemiyorum. Ayrıca "gökyüzü düşecek" uyarılarıyla da ilgilenmiyorum. Bunun gibi ifadeler arıyorum: "> bu kötü şey <bu standart pakette olacak <(<bunu yapmazsan>)".

Şimdiye kadar, kök hesabın ismini değiştirmede sorun çıkaran 3 CentOS (RHEL) sistemim var. İşte yaptığım şey: / etc / passwd, / etc / shadow, / etc / group ve / etc / gshadow'daki hesap adını değiştirdim. Daha sonra / etc / dizinindeki kök adı için grepped ve postfix aliases dosyasını değiştirdi, böylece root yeni hesap adımızın bir takma adıydı, rojotoro olarak adlandırın. (Benzer bir şey diğer e-posta sistemleri için yapılmalıdır). Ayrıca otomatik olarak oluşturacağı dosyalara kimin sahip olması gerektiğini açıklarken logrotate için bazı yapılandırmaları değiştirmem gerektiğini de buldum. Ve şimdiye kadar değiştirdiğim tek şey buydu.

Birçok init.d betiğine baktım, fakat hiçbir şeyi değiştirmedim, ve her şey sadece açılışta gayet iyi görünüyor. Sudo kullanırken yeni hesabı belirtmek zorundayım: "sudo -u rojotoro vim / etc / passwd" bir örnek olarak, ancak sudoers dosyasındaki hiçbir şeyi değiştirmem gerekmedi. Selinux'la ilgili ve üzerinde yürüttüğümüz bazı sorunları umuyordum, ancak şu ana kadar bu sisteme dokunmama gerek yoktu.

Ayrıca, mkdev veya mkfs betiklerinin ayarlanması gerekebileceğini de görebiliyorum, ancak bunları kullanmayı planlamıyorum, bu yüzden hak ettikleri incelemeyle onlara bakmadım.

Eğer selinux özellikli bir sistem üzerinde hiçbir kötü etkisi olmadan bu gerçekten kolay bir şeyse, neden tüm korku tacirlerinin devamı?


11
İnsanları cahil demeye adanmış birkaç paragrafı keserseniz, bu daha iyi bir cevap olacaktır; gerçekten gerekli değil
Michael Mrozek

3
Haklısın, ama kabul etmem biraz zaman aldı. Niyeti, başkalarının fikre dayanmadan önce kök kullanıcı adını değiştirme konusunda gerçek deneyime sahip olmalarını sağlamaktı, ancak gerçekten gerekli değildi.
05:00

3
CentOS'ta olduğunuzdan: rpm -Varoot hesabının yeniden adlandırıldığı sistemlerde ne yazdığını kontrol edebilir misiniz ? Göre Maksimum RPM kılavuzunda zaman yüklemek de kök ait olmalıdır belirtir dosyaları bunu yapamaz olacağını herhangi RPM böylece "kullanıcı ve grup tanımlayıcılar olmayan sayısal olmalıdır". Sadece sistemlerinizin bununla nasıl başa çıkacağını merak ediyorum.
Bram

1
PCI’in neresinde ROOT'u yeniden adlandırmanız gerektiğini söylüyor?
Kidburla

@MichaelMrozek, Normalde bir cevabın böyle bir temeli olmamalıdır kabul ediyorum. Bununla birlikte, bu konuyla ilgili bir internet araştırması, OP'nin üç paragrafı hakkında konuştuğu pek çok uyarı ile dolu. Bu durumda bunun için çağrıldığını düşünüyorum. “Nasıl Yapılır” paragrafının çerçevelenmesine yardımcı oldu ve çözümünün içeriğinin benimkine benzer olduğunu bilmemi izlememi kolaylaştırdı.
user1717828

7

öneri: bunu yapma.

Bazı araçlar root ile uid üzerinden konuşmaya çalışır, orada problem yaşamazsınız. Bazı araçlar, kök hesabınızın kök olarak adlandırıldığını varsayar ve bozulur. Sisteminizin yarısını "eğlenmek için" yeniden derlemeye hazır değilseniz, sadece denemeyin.


2
Hiç kimsenin, kökünü yeniden adlandırmanın en iyi ihtimalle korkunç derecede kötü bir fikir olduğunu reddettiğini sanmıyorum.
Shadur

kuhkatz, bu sadece bir önlem. Birisi bunu yapmaz eğer birisi kök değiştirir ne olur biliyorsanız, onu geri yardımcı olabilir
yxkb

Bu fikri aldığın makalede, sudo kullanmak gibi, giriş yapıp root olarak giriş yapıldığı not edildi. bu nedenle, geri almanın tek yolu temiz bir yeniden yükleme olacaktır. Bu nedenle, denemek zorunda değilsiniz, belli ki nasıl geri yükleneceği açıktır. Ayrıca, bir kullanıcının yine de denemesi durumunda, bir LART bulundurun.
kuhkatz

Yeniden derleme nedeniyle ... gogo gentoo? Hepsine hükmedecek her Ebuild'e bir yama mı?
Bananguin

4

Aklıma göre, yapılacak en kolay şey UID 0 ile yeni bir kullanıcı (takma ad) oluşturmaktır. /root ev olarak .

Kökünüzün varsayılan kabuğunu neden değiştirmiyorsunuz ( /bin/falseveya /sbin/nologinhiç kimse giriş yapamıyor, ancak sistem hala kullanıyor) ve oluşturulan yeni takma adla giriş yapmıyorsunuz ?

razvan@naboo ~ $ head -2 /etc/passwd
root:x:0:0:root:/root:/bin/nologin
root2:x:0:0:root:/root:/bin/bash
razvan@naboo ~ $ su -
Password:
su: Authentication failure
razvan@naboo ~ $ su root2
Password:
naboo razvan # whoami
root

Kökün kabuğunu nologin olarak değiştirirseniz, sudo, mail veya ftw zarar görmez.


Kuşkusuz @ 5mi11er'ın belirttiği gibi, bunu denemedim, ancak kökün kabuğu çıkarsa /bin/falseveya /sbin/nologinherhangi bir hizmeti başlatamazsa. Bu yüzden bunların hepsi yeniden yapılandırılmalıdır. Ayrıca tüm amaç güvenliği artırmaktı, "root" izinlerine sahip ikinci bir hesap eklemek güvenliği neredeyse hiç geliştirmiyordu.
Bram

Bu çözümün şu ana kadarki en iyisi olduğunu düşünüyorum, adın kök için arama aramasına izin veriyor ve kök için giriş yapmayı devre dışı bırakıyor. Çizgilerin sırasını değiştirebilirsin, böylece root2 root önce belirir, o zaman whoami root2'yi rapor eder, yani. İlk kullanıcı adı girişi eşleştiğinde, ad araması için kullanıcı arabirimi durur. Çekirdek bir işlem başlattığından ve sistemi kurması için kullanıcı kimliği verdiğinden, hizmetlerin başlayamayacağı konusunda hemfikir değilim (init, starttart, ...)
X Tian

2

Linux, Windows değildir ve kök, bilinmeyen gelecekteki problemler yaratmadan şu anda kolayca yeniden adlandırılamaz.

Uzak ve hatta yerel oturum açmayı root olarak devre dışı bırakmak daha güvenli bir yaklaşımdır çünkü aktif olarak hesap kökünü devre dışı bırakır! UBUNTU aslında bunu yapar ve kök erişimi yerine sudo'yu zorlar.

Temelde hiç kimse sisteme saldırmak için root hesabını kullanamaz çünkü sisteme giriş yapmak için artık kullanılamaz!

Hem kök hesap adını kolayca değiştirmenin hem de kurulum sırasında UID'sini rasgele oluşturmanın standart bir yolunun yaratılması ve mümkün olduğunda UID hedeflemesini engellemek için her soğuk çalıştırmada mümkün olması ancak şu anda mevcut olmaması güzel bir şey olabilir.

/ Etc / passwd 'nin ayarlanması Kök üzerinde değişiklik yapın: x: 0: 0: root: / root: / bin / nologin

YALNIZCA ACİL KULLANIM için tek bir geri dönüş admin hesabı oluşturun! fallbackadmin: x: 0: 0: root: / root: / bin / bash

Tüm yöneticiler için sudo uygulayın, böylece hesap denetiminde kimin değişiklik yaptığını doğru bir şekilde izlemek için değişiklik günlüğü denetimi gerçekleştirilebilir!

Bu, varsayılan yönetici / konuk hesaplarını devre dışı bırakmak ve tek bir acil durum kullanımı yönetici hesabı oluşturmak için PCI US Gov gereksinimlerini uygular.

Denetim için günlükleri arşivlemenin bir yolu, eğer merkezileştirilmiş AAA uygulanmazsa, sudo hesap erişimine sahip tüm kullanıcılardan terminal geçmişi toplamaktır.

Yalnızca yönetici hesaplarını uygulamak için bir çözüm, yalnızca bir kullanıcı hesabı ve bir sudo etkin hesap oluşturmak ve ardından kullanıcıyı yönetici erişimi için sudo etkin hesaplarına su vermeye zorlamaktır.

Daha iyi güvenlik istiyorsanız, GNU / Linux için iki faktörlü kimlik doğrulaması için ABD Ortak Erişim Kartı CAC Çözümleriyle karşılaştırmalı çözümler sunan akıllı kart kimlik doğrulaması da uygulayabilirsiniz.

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.