- Root kullanıcısı, Linux'un süper kullanıcısıdır ve sistem üzerinde tam kontrole sahiptir, herhangi bir izin kısıtlaması bulunmaz.
- Modern dağıtımlar, doğrudan root olarak oturum açmak yerine geçici ayrıcalıklar elde etmek için sudo ve su kullanımına öncelik vermektedir.
- Root erişiminin dikkatsiz kullanımı veri kaybına, önyükleme hatalarına ve ciddi güvenlik sorunlarına yol açabilir.
- Kök erişimini etkinleştirme, engelleme ve denetleme, iyi sudo uygulamalarıyla birlikte güvenli yönetim için şarttır.
Linux'u kısa bir süredir kullanıyorsanız, er ya da geç ünlü "..." ile karşılaşmışsınızdır. Root kullanıcısı, sistemde neredeyse hiçbir sınırlama olmaksızın işlem yapabilen ve işlemleri geri alabilen süper kullanıcıdır.Eğitim videolarında karşımıza çıkan o gizemli hesap, paketleri yüklemenize, hassas ayarları değiştirmenize veya açılmayan bir sistemi düzeltmenize olanak tanıyor... ama aynı zamanda tek bir yanlış yazılmış komutla makinenizi de mahvedebiliyor.
Çoğu modern dağıtımda, özellikle Ubuntu ve türevlerinde, doğrudan root olarak oturum açmak artık yaygın değildir. Bunun yerine, farklı bir kullanıcı kullanmak tercih edilen yöntemdir. sudo ve su gibi komutları yalnızca gerektiğinde yönetici ayrıcalıkları elde etmek için kullanın.Bu, riskleri azaltır ve sistem günlüklerinde bir iz bırakır. Yine de, Linux'ta kolaylıkla gezinmek istiyorsanız, root'un ne olduğunu, sudo ve su'dan nasıl farklı olduğunu, ne zaman kullanılacağını, hesabın nasıl devre dışı bırakılacağını ve parolanın nasıl kurtarılacağını iyi anlamak çok önemlidir.
Linux'ta root kullanıcısı nedir ve neden bu kadar özeldir?
Unix benzeri herhangi bir sistemde (Linux, BSD, macOS, vb.) çok net bir role sahip tek bir süper kullanıcı bulunur: Root, UID 0'a sahip ve tüm dosyalar, işlemler ve sistem kaynakları üzerinde mutlak yetkiye sahip hesaptır.Geleneksel izin kısıtlamaları yok; root kullanıcısı bir şeyi okumak, değiştirmek veya silmek isterse, bunu yapabilir.
Bu hesaptan şunları yapabilirsiniz: Programları yükleme ve kaldırma, sistemi güncelleme, /etc dizinindeki yapılandırma dosyalarını düzenleme, hizmetleri yönetme, kullanıcı oluşturma ve silme, diskleri biçimlendirme veya kritik izinleri değiştirme.Bu, Windows'taki "Yönetici" kullanıcısının eşdeğeridir, ancak sisteme kısıtlama olmaksızın daha da fazla erişim olanağı sunar.
Bu nedenle Ubuntu gibi birçok dağıtım şu seçeneği tercih ediyor: Kurulumdan sonra doğrudan root girişine izin vermeyin.Bunun yerine, normal bir hesap (yöneticiler grubuna ait) oluşturulur ve belirli yönetimsel görevleri gerçekleştirmek için sudo kullanılır, böylece risk azaltılır.
Debian'ın klasik yapılandırması gibi diğer dağıtımlarda, kurulum sırasında root kullanıcısı için bir parola tanımlamak yaygındır, böylece Süper kullanıcı, doğrudan konsolda veya çok özel bazı görevler için kullanılabilir.Sistemin kendisi de sudo kullanımını teşvik etse de.
Linux, root ve "insan" kullanıcılarına ek olarak, başka kullanıcılar da kullanır. Çok sınırlı yetkilere sahip servis türü (daemon) sistem kullanıcılarıBu özel kullanıcılar, web sunucuları, veritabanları veya sistem servisleri gibi süreçleri çalıştırır; böylece bir servisteki güvenlik açığı, her şey root yetkisiyle çalışsaydı olacağı gibi, sisteme otomatik olarak mutlak kontrol sağlamaz.
Linux'ta kullanıcı türleri ve kim olduğunuzu nasıl öğrenebilirsiniz?
Pratik açıdan bakıldığında birçok hesap türü varmış gibi görünse de, izinler düzeyinde ayrım oldukça nettir: Bir tarafta kök, diğer tarafta "geri kalanı"UID'si 0 olmayan herhangi bir kullanıcı, teknik olarak ayrıcalıksız bir kullanıcıdır, ancak sudo sayesinde bazı ek izinlere sahip olabilirler.
Olağan iş hesapları şunlardır: Dosya sisteminde sınırlı yetkilere sahip normal kullanıcılarKişisel dosyalarını yönetebilir, uygulamaları çalıştırabilir, ağı kullanabilir ve uygun gruptaysalar, belirli görevler için ek ayrıcalıklar elde etmek üzere sudo komutunu kullanabilirler.
Kök süper kullanıcı şudur: küresel yönetim hesabıBu hesap günlük kullanım için değil, bakım, gelişmiş yapılandırma veya kurtarma işlemleri için tasarlanmıştır. Bu nedenle, birçok dağıtım, acemi kullanıcılar için sürprizleri önlemek ve insan hatasının etkisini sınırlamak amacıyla bu hesaba doğrudan erişimi biraz daha karmaşık hale getirir.
Terminalde hangi kullanıcı olarak çalıştığınızdan emin değilseniz, şunlara bakabilirsiniz: Komut istemi: Eğer komut istemi "$" ile bitiyorsa normal bir hesap kullanıyorsunuz demektir, "#" ile bitiyorsa root yetkisine sahipsiniz demektir.Ayrıca komutu da çalıştırabilirsiniz. benkimim veya sayısal tanımlayıcıyı kontrol edin kimlik -uEğer "root" veya "0" alırsanız, süper kullanıcı modundasınız demektir.
Ek olarak, uyarı genellikle şu şekilde görünür: Kullanıcı adı, bilgisayar adı, geçerli dizin ve $ veya # sembolü.Örneğin, şöyle bir şey alumno@equipo:/home/alumno$ normal bir kullanıcıyı gösterirken root@equipo:/root# Bu, doğrudan bir yönetim oturumunu yansıtmaktadır.
root, sudo ve su: Her birinin ne işe yaradığı ve ne zaman kullanılacağı
Günlük kullanımda, root şifresini her zaman yazmayız. Bunun yerine, çoğu modern dağıtım şu yöntemi tercih eder: sudo ve su gibi araçlar kullanarak normal bir hesaptan geçici olarak ayrıcalıkları yükseltmek.Konuşmalarda bazen birbirlerinin yerine kullanılsalar da, farklı roller üstlenirler ve bunları açıkça ayırt etmek önemlidir.
Komut sudo (süper kullanıcı yap) Yetkili kullanıcının yürütmesine izin verir. Genellikle root kullanıcısının yetkilerine sahip belirli bir komut.Bu sayede, hangi işlemin gerçekleştirildiğini, kimin başlattığını ve ne zaman başlatıldığını kaydederek sistemin güvenlik kayıtlarına bir kayıt bırakır.
Onun parçası için, sizin (yedek kullanıcı) için tasarlanmıştır Aynı terminal oturumu içinde kullanıcı kimliğini değiştirmeParametre belirtmeden çalıştırırsanız, genellikle root hesabına geçmeye çalışır (şifre ister). Kullanıcı adı belirtirseniz, o hesaba, onun izinleri ve ortamıyla birlikte geçiş yaparsınız.
Sudo nasıl çalışır ve neden bu kadar önemlidir?
Ubuntu gibi sistemlerde, gruba ait olanlar sudo (veya eski sürümlerde "admin") bu hesabın şunları yapabileceği anlamına gelir: Kendi kullanıcı şifrenizi girerek root olarak komutları çalıştırın.Süper kullanıcı şifresini bilmeye gerek kalmadan. Her kişinin neler yapabileceğini kontrol eden kurallar dosyada tanımlanmıştır. / Etc / SudoersBu, komutla güvenli bir şekilde düzenlenir. visudo.
Kullanmak için, kelimeyi önüne koymanız yeterlidir. Yüksek ayrıcalık gerektiren komutun önüne sudo ekleyin.Örneğin, paket kurulumu genellikle şu şekilde yapılır:
sudo apt install vlc
Bu durumda, apt root olarak çalışır, /usr veya /var gibi sistem dizinlerine yazar ve değişiklikleri paket veritabanına kaydeder; siz normal kullanıcı hesabınızla oturum açmış olsanız bile. Sipariş tamamlandıktan sonra, normal yetkilerinize otomatik olarak geri döneceksiniz..
Ek olarak, sudo küçük bir işlevi yerine getirir. “lütuf zamanı”Parolanızı girdikten sonra, birkaç dakika boyunca parola sorulmadan `sudo` komutunu tekrar çalıştırabilirsiniz. Bu, yönetimi hızlandırır, ancak bu süre zarfında birisi bilgisayarınıza erişirse küçük bir güvenlik açığı da oluşturur. Bu politikayı sıkılaştırmak istiyorsanız, `sudoers` dosyasını düzenleyerek bekleme süresini sıfıra ayarlayabilirsiniz:
Defaults:ALL timestamp_timeout=0
Böylece, Sudo'yu her kullandığınızda yeniden kimlik doğrulaması yapmanız gerekecek.Biraz daha zahmetli olsa da hassas veya çok kullanıcılı ortamlarda daha güvenlidir.
`su` komutu ve başka bir hesaba tam geçiş
Öte yandan, "su" komutu, Tek bir komut çalıştırmak yerine, başka bir kullanıcının kimliği altında yeni bir kabuk açar.Eğer "zorlama olmaksızın" devreye sokulursa:
su
Sistem, root yetkisine geçmek istediğinizi varsayıyor ve bu nedenle Sizden süper kullanıcı şifresini isteyecektir.Giriş başarılı olursa, komut istemi simgesi # olarak değişecektir ve o andan itibaren, oturumu kapatana kadar çalıştırdığınız her komut root ayrıcalıklarıyla gerçekleştirilecektir. çıkış.
Ayrıca belirli bir kullanıcıyı da belirtebilirsiniz:
su nombreusuario
Bu, yönetirken çok işinize yarar. Kendi hesaplarıyla çalışan servisler (örneğin, postgres, www-data, vb.) vardır ve ana oturumunuzu kapatmadan onlar gibi işlem yapmanız gerekir.İşlem bittiğinde, "exit" komutunu kullanarak önceki kullanıcıya geri dönebilirsiniz.
Root hesabının kilitli olduğu veya parolası olmadığı sistemlerde (birçok Ubuntu kurulumunda olduğu gibi), `su` komutuyla doğrudan o hesaba geçiş yapamazsınız. Bu durumlarda, genellikle izlenen yöntem şudur: zincir ter ve onun, örneğin:
sudo su o sudo -i
Bu komutlarla, kullanıcı şifrenizi (root şifresini değil) girerek doğrudan root oturum açma işlemine benzer bir ortama sahip yönetici kabuğuna erişebilirsiniz. Bu, art arda birkaç işlem gerçekleştirecekseniz çok kullanışlıdır, ancak aynı zamanda daha tehlikelidir, bu nedenle işiniz bittiği anda root oturumundan çıkış yapmanız önerilir.
Root, sudo veya su kullanmak ne zaman mantıklı olur?
Teori güzel, ama günlük hayatta önemli olan şudur: Sistemde risk oluşturmadan hızlı bir şekilde çalışmak için her özel durumda hangi aracın kullanılacağıGenel bir kural olarak, mümkün olduğunca belirli komutlar için sudo kullanın ve kalıcı root kabuklarından kaçının; daha derinlemesine incelemek isterseniz... Terlemeden ne zaman ve neden kaçınmalısınız?, o rehbere bir göz atın.
Örneğin, yazılımı yüklemek veya güncellemek Debian veya Ubuntu tabanlı dağıtımlarda, genel uygulama şöyledir:
sudo apt updatesudo apt upgradesudo apt install gparted
Bu senaryolarda, kalıcı olarak root olarak oturum açmanın pek bir faydası olmaz. Bir miktar kolaylık elde edersiniz, ancak yanlışlıkla silmemeniz veya değiştirmemeniz gereken bir şeyi silme veya değiştirme riskini de artırırsınız..
Ayrıca sudo komutunu şu durumlarda da kullanacaksınız: sistem yapılandırma dosyalarını düzenle, örneğin:
sudo nano /etc/hostssudo nano /etc/ssh/sshd_config
Bu sayede yalnızca düzenleyici süper kullanıcı izinleriyle çalışır ve kapattığınızda normal ayrıcalık seviyenize geri dönersiniz.
Bunun aksine, `su` (veya `sudo -i`) şu durumlarda faydalı olabilir: Birçok idari işlemi birbirine zincirleme olarak bağlayacaksınız. Her komutun başına `sudo` eklemek can sıkıcı olurdu. Örneğin, karmaşık bakım görevleri gerçekleştirirken, birden fazla hesabı yönetirken, bölümlendirmelerle çalışırken vb. Yine de, bu modda geçirdiğiniz süreyi sınırlamak ve işiniz biter bitmez çıkmak iyi bir uygulamadır.
Çok pratik bir operasyonel ayrıntı da şudur: Eğer root yetkisine sahip olup olmadığınızdan emin değilseniz, şu komutu çalıştırabilirsiniz: benkimim o kimlik -uEğer "root" veya "0" mesajı alırsanız, yıkıcı herhangi bir şey yazmadan önce son derece dikkatli olmanız gerekir.
sudo ile parola yazarken yıldız işaretleri göster
Varsayılan olarak, birçok dağıtım (Ubuntu dahil) Konsola şifreyi yazdığınızda hiçbir karakter görüntülenmiyor.Nokta veya yıldız işareti yok. Bu, tuş uzunluğunun görünmesini engellemek için yapılır, ancak pratikte birçok kullanıcı, yazdıklarını görsel olarak teyit edemedikleri için bunu sakıncalı bulmaktadır.
Sudo, bir süredir "sudo" adı verilen bir seçenek sunuyor. pwfeedback Bu, parola girildiğinde ekranda yıldız işaretlerinin görüntülenmesini sağlar. Bazı yeni Ubuntu sürümleri bunu etkinleştirmeye başladı, ancak sudo yapılandırmasını değiştirerek herhangi bir sistemde kendiniz de etkinleştirebilirsiniz:
1. Güvenli yapılandırma düzenleyicisini şu komutla açın:
sudo visudo
2. Açılan dosyanın içine (genellikle /etc/sudoers), aşağıdaki gibi bir satır ekleyin:
Defaults pwfeedback
3. Kaydedin ve kapatın. O andan itibaren, Sudo şifresini girerken yazdığınız her karakter bir yıldız işaretiyle temsil edilecektir.Daha sonra klasik davranışa (görsel yankı olmadan) geri dönmeyi tercih ederseniz, o satırı silin ve dosyayı Visudo ile tekrar kaydedin.
Bu özelleştirme sudo'nun kriptografik güvenliğini etkilemez, ancak etkiler. Bu, yazdıklarını görsel olarak doğrulamayı tercih edenler için kullanım kolaylığını artırabilir.Özellikle arka aydınlatması olmayan klavyelerde veya uzaktan terminallerden yazarken.
Kökleri dikkatsizce kullanmanın gerçek riskleri
Root hesabı, güçlü olduğu kadar tehlikelidir de. Linux, normal bir kullanıcının sistemi yanlışlıkla bozmasını zorlaştırmak için katmanlı koruma sistemleriyle tasarlanmıştır, ancak Ayrıcalıkları artırdığınızda, bu engeller ortadan kalkar ve herhangi bir ihmal felakete dönüşebilir..
İlk ciddi risk şudur: önemli dosyaların veya dizinlerin yanlışlıkla silinmesi. gibi komutlar rm -rf / o rm -rf /* Bu komutlar, root yetkisiyle çalıştırıldıklarında dosya sisteminin neredeyse tüm içeriğini saniyeler içinde silebilmeleri nedeniyle ünlüdür. Ancak bu kadar ileri gitmeye gerek yok: Örneğin, yolu yanlış yazmanız veya bir değişkeni boş bırakmanız yeterli:
rm -rf $directorio/*
Eğer `$directory` beklediğiniz gibi tanımlanmamışsa, komut tamamen farklı bir konuma işaret edebilir. Root yetkisiyle sistem size fazla sorun çıkarmayacaktır ve komut tamamlandıktan sonra, İyileşme genellikle çok zordur veya imkansızdır. Yedeklemeler veya adli bilişim araçları olmadan.
Bir diğer önemli tehlike ise; Kötü amaçlı yazılımların veya komut dosyalarının tam yetkiyle çalıştırılmasıBilinmeyen bir web sitesinden bir yükleyici indirip sudo ile veya root kabuğundan çalıştırmak, o koda mutlak kontrol sağlar: rootkit'ler, arka kapılar, keylogger'lar yükleyebilir, çekirdeği değiştirebilir veya sistemin derinliklerine gizlenebilir. Çoğu zaman, sorun keşfedildiğinde, saldırgan zaten bir süredir içeride olmuş olur.
Ayrıca dikkatli olmanız gerekiyor chmod veya chown komutlarını kullanarak kritik dosya izinlerini değiştirin.Bir sipariş gibi chmod 000 /etc /boot, GRUB önyükleyici veya /etc/passwd dosyalarının yanlış kullanımı sistemin önyüklenememesine neden olabilir. Bu gibi durumlarda, LiveCD'den önyükleme yapmak bile kolay bir onarımı garanti etmez; üretim ortamlarında profesyonel kurtarma hizmetleri gerekebilir.
Son olarak, denetim açısından bakıldığında, doğrudan root olarak oturum açmak izlenebilirliği büyük ölçüde ortadan kaldırır. Sudo kullandığınızda, her komut, onu çalıştıran kullanıcıyla birlikte kaydedilir.Eğer her şey sudo kullanılmadan root yetkisiyle yapılırsa, kayıtlarda yalnızca "root bir şey yaptı" ifadesi yer alır, klavyenin arkasında kimin olduğu belirtilmez; bu da soruşturmaları ve güvenlik düzenlemelerine uyumu zorlaştırır.
Kök hesabı etkinleştirme, devre dışı bırakma ve kilitleme
Kullandığınız dağıtıma bağlı olarak, root hesabı şu olabilir: Parola ile etkinleştirilmiş, kilitli veya hiç anahtar atanmamış olabilir.Ubuntu benzeri sistemlerde, doğrudan giriş için root genellikle devre dışı bırakılırken, diğer dağıtımlarda kurulum sırasında bir parola tanımlanır.
Bilgisayarınızda root hesabı kilitliyse, sudo yetkilerine sahip bir kullanıcıdan şu komutu çalıştırarak etkinleştirebilirsiniz:
sudo passwd root
Sistem öncelikle kullanıcı parolanızı, ardından da yeni root parolasını girmenizi ve onaylamanızı isteyecektir. O andan itibaren, Hesabınız aktif hale getirilecek ve sanal terminallerde veya bazı durumlarda grafik arayüzde süper kullanıcı olarak giriş yapabileceksiniz.Ancak ikincisi son derece sakıncalıdır.
Eğer artık root erişiminin kullanılmasını istemiyorsanız, hesabı şu komutla yeniden kilitleyebilirsiniz:
sudo passwd -l root
-l parametresi, geçersiz bir parola ilişkilendirerek erişimi engeller, böylece Ne `su` komutuyla ne de giriş ekranından root olarak giriş yapamazsınız.Ancak yetkili kullanıcılar yine de sudo kullanarak sistemi yönetebilecekler, bu nedenle bakım görevlerini gerçekleştirme yollarından mahrum kalmayacaksınız.
Bazı dağıtımlar, aşağıdaki gibi kombinasyonlarla root yetkisini devre dışı bırakma ve yeniden etkinleştirme seçeneği de sunar: sudo passwd -dl root o sudo passwd -u root Kilidi açmak için. Her durumda, Genel tavsiye, root yetkisini kilitli tutmak ve çok özel durumlar dışında her zaman sudo ile çalışmaktır.Örneğin, ağır hasar görmüş sistemler için kurtarma veya onarım ortamları gibi.
Kök parolayı kurtarın veya değiştirin
Bu olabilir Kök parolanızı kaybetmiş olmanız, devre dışı bırakmış olmanız veya yeniden tanımlamanız gerekmesi fark etmeksizin... Orijinal yapılandırması artık unutulmuş bir sunucuda. Linux, sistemin önyüklenmesi gerekip gerekmediğine veya harici bir aygıt kullanmanız gerekip gerekmediğine bağlı olarak bunu yapmanın çeşitli yollarını sunar.
Bilgisayarınız hala GRUB önyükleme yöneticisine ulaşıyorsa, çok yaygın bir seçenek de şunlardan yararlanmaktır: kurtarma moduGelişmiş menüden bu seçeneği belirleyerek, sistem kısıtlı bir ortam başlatır ve size süper kullanıcı ayrıcalıklarına sahip bir konsol edinme seçeneği sunar.
O kabuğun içine girdikten sonra yapılacak ilk şey şudur: Dosya sistemini yazma izinleriyle yeniden bağlayın.Çünkü genellikle salt okunur moddadır:
mount -o rw,remount /
Ardından, yeni bir parola belirlemek için standart komutu çalıştırabilirsiniz:
passwd root
Yeni anahtarı iki kez girin ve değişikliklerin diske yazıldığından emin olmak için şunu kullanın:
syncreboot
Yeniden başlatıldığında, Root hesabının şifresi az önce belirlediğiniz şifre olacaktır.Bu nedenle, gerektiğinde (ideal olarak, az miktarda ve dikkatli bir şekilde) kullanabilirsiniz.
Sistem hiç başlamazsa, şuna başvurabilirsiniz: Linux dağıtımından LiveCD veya LiveUSBÖrneğin, Ubuntu. Bu ortamdan önyükleme yapın, kurulum yapmadan "Dene" seçeneğini seçin ve bir terminal açın. Genellikle, önce canlı ortamda şu komutla root yetkisine geçersiniz:
sudo su
Ardından, onarılacak sistemin kurulu olduğu bölümü bulmanız gerekiyor; bunun için aşağıdaki gibi bir komut kullanabilirsiniz:
fdisk -l
Doğru aygıtı belirledikten sonra (örneğin, /dev/sda1), onu bir çalışma klasörüne bağlayın:
mkdir /mnt/recovermount /dev/sda1 /mnt/recover
Bir sonraki adım Ortamın "kök dizinini" bağlı bölüme değiştirin.Böylece passwd komutu canlı ortamda değil, kurulu sistemde çalışır:
chroot /mnt/recover
Oradan koşabilirsiniz:
passwd root
Yeni bir parola belirlemek için. Chroot'tan çıktıktan ve yeniden başlattıktan sonra, Orijinal sistem, güncellenmiş süper kullanıcı kimlik bilgileriyle başlayacaktır.Kilitli makineleri kurtarmak için çok güçlü bir manevra olmakla birlikte, kritik sunucularda fiziksel erişimi ve harici medyadan önyüklemeyi korumanın neden hayati önem taşıdığını da vurgulamaktadır.
Ubuntu'da root erişimi ve güvenlik politikaları
Ubuntu ve türevlerinin (Xubuntu, Kubuntu, Linux Mint, vb.) birçoğu güvenlik modelini çok net bir fikir üzerine kurmuştur: Root erişimi mevcuttur, ancak neredeyse her zaman sudo aracılığıyla dolaylı olarak kullanılır.Bu, hem pratik hem de güvenlik açısından birçok avantaja sahiptir.
Standart bir kurulumda, Root kullanıcısı için parola tanımlanmamıştır.Bu, kullanıcıların hem TTY terminallerinde hem de grafiksel ortamda bu hesapla doğrudan oturum açmasını engeller. Bunun yerine, kurulum sırasında oluşturulan ilk kullanıcı sudo grubuna eklenir ve tüm yönetimsel işlemler bu hesaptan ayrıcalıklar yükseltilerek gerçekleştirilir.
Bu yaklaşım saldırı yüzeyini azaltır Bu, root hesabına yönelik kaba kuvvet saldırılarına (örneğin, SSH aracılığıyla) karşı koruma sağlar ve yöneticinin sudo'yu her kullandığında düşünmesini gerektirdiği için insan hatasının felaket sonuçlara yol açma olasılığını en aza indirir.
Çok özel bağlamlarda (laboratuvarlar, kurtarma ortamları, yüksek derecede izole edilmiş makineler) haklı görülebilir. sudo passwd root komutuyla root kullanıcısına parola atayın. Doğrudan giriş yapılmasına izin verilir, ancak bunun geçici bir önlem olarak düşünülmesi en iyisidir. Sorun çözüldükten sonra, hesabı tekrar kilitlemek ve sudo ile çalışmaya devam etmek daha iyidir.
Ayrıca, kalıcı bir root kabuğuna ihtiyaç duyan görevler için Ubuntu şu gibi komutlar sağlar:
sudo -i o sudo su -
o Kendi ortamları ve PATH'leriyle tam bir root oturum açma işlemini simüle ederler.Bu özellik, kalıcı doğrudan oturum açmayı etkinleştirmeye gerek kalmadan doğru şekilde çalışabilmek için "saf" bir root ortamında bulunmayı bekleyen komut dosyaları ve araçlar için kullanışlıdır.
SSH üzerinden root erişimi: etkinleştirme, devre dışı bırakma ve güvenliğini sağlama
Uzak sunucularda, root erişimi sorunu daha da önem kazanır. Varsayılan olarak, çoğu Ubuntu kurulumunda SSH üzerinden doğrudan root girişini devre dışı bırakırlar.Bu, normal bir kullanıcı hesabıyla giriş yapmanızı ve ardından sudo kullanmanızı zorunlu kılar. Otomatik saldırıları önlemek için çok önemli bir güvenlik önlemidir.
Eğer çok haklı bir sebepten dolayı bu erişimi etkinleştirmeniz gerekiyorsa, temel süreç şu adımları içerir: öncelikle root kullanıcısına bir parola atayın Eğer sizde yoksa:
sudo passwd root
Ardından SSH sunucu yapılandırmasını düzenleyin:
sudo nano /etc/ssh/sshd_config
Bu dosya içinde, yönergeyi arayın. İzin VerKökGirişEğer yorum satırı haline getirilmişse veya "prohibit-password" içinde yer alıyorsa, şunu değiştirebilirsiniz:
PermitRootLogin yes
Değişiklikleri kaydedin ve servisi yeniden başlatın:
sudo systemctl restart ssh
Oradan, SSH üzerinden doğrudan root olarak giriş yapabilirsiniz, bu da Bu özellik, yalnızca parola ile kullanıldığında önemli bir güvenlik açığı oluşturmaktadır.Bu durumda kabul edilebilir minimum yöntem, bunu açık anahtar kimlik doğrulamasıyla birleştirmek ve mümkünse erişimi IP adresiyle veya bir bastion sunucusu ya da VPN üzerinden kısıtlamaktır.
Durumu tersine çevirmek ve güvenliği güçlendirmek için yeniden düzenleyin. / Etc / SSH / sshd_config ve yapılandırın:
PermitRootLogin no
Ya da, öznel olarak yalnızca yetkili kişilerin erişimine izin vermek isterseniz:
PermitRootLogin prohibit-password
Tekrar SSH'yi yeniden başlatın ve bir adım daha ileri gitmek isterseniz, yerel root hesabını şu komutla kilitleyin:
sudo passwd -l root
Böylece, Uzaktan yönetim işlemlerinin tamamı normal kullanıcılar ve sudo yetkileri üzerinden gerçekleştirilmek zorunda kalacak.Kayıtlı olmak ve sudoers dosyasındaki kurallara tabi olmak.
Süper kullanıcı ayrıcalıklarını kullanırken en iyi uygulamalar
Root, sudo ve su yetkilerini öğrenmek sadece komutları ezberlemekle ilgili değil, aynı zamanda... Yüksek ayrıcalıklarla çalışırken riski en aza indiren alışkanlıklar edinin.Günlük rutininize dahil etmeye değer birkaç mantıklı uygulama var.
En önemli şey her zaman uygulamaktır. en az ayrıcalık ilkesi: Yalnızca gerekli izinlere sahip olmak ve yalnızca kesinlikle gerekli olduğu süre boyunca bu izinleri kullanmak. Linux'a çevrildiğinde, bu, mümkün olduğunca izole komutlar için `sudo` kullanmak ve gereksiz yere uzun süre root kabuğunda kalmaktan kaçınmak anlamına gelir.
Bu aynı zamanda anahtardır Şüpheli kaynaklardan gelen komut dosyalarını veya ikili dosyaları asla root yetkisiyle çalıştırmayın.İnternetten kopyaladığınız bir kod parçasını çalıştırmadan önce, bir metin düzenleyiciyle açın ve tam olarak ne yaptığını kontrol edin. Herhangi bir bölümünü anlamıyorsanız, şüphelenin. İndirilen yazılımlar söz konusu olduğunda, her zaman resmi depolardan, proje web sitelerinden veya diğer saygın kaynaklardan edinmeye çalışın ve geliştirici yayınlıyorsa sağlama toplamlarını doğrulayın.
Eğer imkanınız varsa, Öncelikle, test senaryolarını veya kılavuzlarını izole bir ortamda test edin. (Sanal bir makine, Docker konteyneri, test ortamı gibi) bunları üretim sunucunuzda veya ana makinenizde uygulamadan önce deneyin ve danışın. Linux yazılım hileleriBu size birçok sıkıntıdan kurtarabilir.
Birden fazla yöneticinin bulunduğu sunucularda, bir adım daha ileri gitmek tavsiye edilir ve Kazakları ayrıntılı bir şekilde yapılandırınBu, her kişinin yalnızca gerçekten ihtiyaç duyduğu komutları yürütmesine olanak tanır. Bu, bir hatanın veya ele geçirilen bir hesabın potansiyel zararını sınırlar ve ayrıca herhangi bir anda kimin ne yaptığının izlenebilirliğini sağlar.
Bu hususları izleyerek ve şu fikre saygı duyarak Root, belirli durumlar için bir araçtır, günlük görevler için test edilecek bir kullanıcı aracı değildir.Linux'un esnekliğinden, sisteminizin istikrarını ve güvenliğini gereksiz yere tehlikeye atmadan tam olarak yararlanabilirsiniz.
Linux ekosistemi, normal kullanıcı ve süper kullanıcı arasındaki ayrıma ve yalnızca gerektiğinde aralarında geçiş yapmak için sudo ve su gibi mekanizmalara büyük ölçüde dayanır; root yetkisinin nasıl çalıştığını, ne zaman kullanılacağını, maruz kalma riskinin nasıl sınırlandırılacağını ve acil durumlarda nasıl geri kazanılacağını anlamak, ister kişisel dizüstü bilgisayarınızda ister kritik bir üretim sunucusunda olsun, herhangi bir dağıtımı akıllıca yönetmenin kilit bir parçasıdır.


