Ben çalıştırmak için çalışıyordu chmod -R 777 ./
ama yazmaya sona erdi chmod -R 777 /
ve set 777
benim bütün makinede. Ne yanlış gidebilir? Nasıl düzeltebilirim?
Ben çalıştırmak için çalışıyordu chmod -R 777 ./
ama yazmaya sona erdi chmod -R 777 /
ve set 777
benim bütün makinede. Ne yanlış gidebilir? Nasıl düzeltebilirim?
Yanıtlar:
Sorunlar? Evet çok. Sabitlenebilir mi? Emin. Yeniden yüklemekten daha mı hızlı? Muhtemelen değil.
Benim tavsiyem yeniden yüklemektir. Mevcut sistemin yedeğini tutun ve paket listesi ve dosyaların içeriği geri /etc
ve /var
. Çünkü /usr/local
izinleri muhtemelen el ile geri yükleyebilirsiniz. İçin /home
ve /srv
, sen yedeklerden izinleri geri gerekecek.
Bu, birden fazla yerel kullanıcının bulunduğu bir sistemse, bazı dosyaları dünya tarafından okunabilir kılmanın gizli kalması gereken bazı şeyleri ortaya çıkardığını unutmayın.
Onarmayı gerçekten denemek istiyorsanız (pratik bir kurtarma yolundan ziyade bir öğrenme alıştırması), önce birkaç dosyanın izinlerini geri yükleyin. Artık çoğu dosya çok açık olsa da, birkaçının gerekli ayarlanmış bitlerin eksik olduğunu unutmayın . Her şeyden önce atmanız gereken adımlar. Bunun kapsamlı bir liste olmadığını, sadece sistemi zar zor çalıştırabileceğine dikkat edin.
chmod -R go-w /
chmod 440 /etc/sudoers
chmod 640 /etc/shadow /etc/gshadow
chmod 600 /etc/ssh/*_key /etc/ssh*key # whichever matches
chmod 710 /etc/ssl/private /etc/cups/ssl
chmod 1777 /tmp /var/tmp /var/lock
chmod 4755 /bin/su /usr/bin/passwd /usr/bin/sudo /usr/bin/sudoedit
chmod 2755 /var/mail /var/spool/mail
O zaman her yerde tüm izinleri geri yüklemeniz gerekecek. Altındaki dosyalar /usr
için, dağıtımınıza bağlı olarak paketleri aşağıdaki komutlardan biriyle yeniden yükleyebilirsiniz:
apt-get --reinstall install
pacman -S $(pacman -Qq --dbpath /newarch/var/lib/pacman) --root /newarch --dbpath /newarch/var/lib/pacman
Live CD'de olduğunuzu ve Arch kurulumunuzun monte edildiğini varsayarak çalıştırabilirsiniz /newarch
.Altındaki /etc
ve /var
çalışmayan dosyalar için , çoğu olduğu gibi bırakılacaktır: çalışan bir kurulum için izinleri çoğaltmanız gerekir. Altında dosyalar için /srv
ve /home
, yine yedeklerden geri gerekecek. Gördüğünüz gibi yeniden yükleyebilirsiniz.
İlk başta fark etmeyebilirsiniz, ancak birçok şey yanlış gidebilir ve gider. Asıl sorun, tüm sistem için tüm güvenlik modelinin bozulmasıdır. Sanki derisiz bir vücuda sahip olmak, dışarıdaki organları çıkarmak gibi. Enfekte olma zorunluluğu var, çünkü bu şekilde işlev görmüyor. Birkaç dakika çalışacak gibi görünse bile, bunu temizlemeniz gerekir.
En iyi yol aslında sıfırdan başlamaktır. Bu yol riskinizi büyük ölçüde azaltır ve daha kısa sürede daha temiz bir sonuç verir. Uygun yedeklemeler varsa, bu da bir deneyim denememeli.
Temizlemeye çalışırsanız, birincil yöntem distro'nun paket yöneticisine config dosyalarının üzerine yazma da dahil olmak üzere sisteme HER ŞEY'i yeniden yüklemesini söylemektir. Ardından, sistemi incelemek için gerekenleri doğrulayın ve hiçbirinin normalden izinleri olmayan dosyalar olarak işaretlendiğinden emin olun. Daha sonra, kullanıcının giriş dizinleri gibi şeyler üzerinde çalışın ve toplu izinleri almak için her şeyi sıfırlayın, ardından özel izinleri olması gereken birkaç şey üzerinde çalışın (ssh anahtar dosyaları gibi). Son olarak, 777 olarak işaretlenmiş olan her şeyi bulmak için tam bir sistem bulun ve listeyi gözden geçirin (diğer adımları baştan sona koyduysanız, küçük olmalıdır) ve oldukları gibi olmalarını sağlayarak tek tek çalışın.
ÇÖZÜM: MERKEZDE BU TEST
Bu adam işimi kurtardı! (Bir şekilde erişmen gerekiyor)
http://www.adminlinux.org/2009/07/how-to-restore-default-system.html
1) Dosyalarda ve dizinlerde yer alan yardımları ve kılavuzları sıfırlamak için:
for u in $(rpm -qa); do rpm --setugids $u; done
2) Dosya ve dizinlerdeki izinlere
for p in $(rpm -qa); do rpm --setperms $p; done
sonra bu dosyalara izinleri manuel olarak değiştirin:
# ll /etc/ssh/
# chmod 600 /etc/ssh/ssh_host_rsa_key
# chmod 600 /etc/ssh/ssh_host_dsa_key
# service sshd restart
Güvenlik bilincine sahip bazı programlar, bazı dosyaların izinleri çok "gevşek" olduğunda başlamaz. @Ceving dediği gibi sshd
, bunun en tipik olanıdır.
Yanlış gidebilecek en önemli şey, artık herhangi bir kullanıcının sisteminizde herhangi bir dosyayı açabilmesi, okuyabilmesi ve yazabilmesidir . Bunun kötü olmasının iki sebebi şudur: A) Kötü niyetli bir kullanıcı, bir istismar veya yanlış yapılandırma yoluyla sisteminizin kontrolünü ele geçirirse, sisteminizdeki herhangi bir şeyi şu anda değiştirebilir ve B) istediğiniz bir şeyi silebilirsiniz. sen kök değilsin, o yüzden sadece root olarak çalışmamaya karşı korunmaların çoğunu ihmal ettin.
Önceden izinleri geri almadıysanız, durum biraz. Yeni kurulmuş bir sistemden izin listesini "alan" bir komut dosyası oluşturabilir ve daha sonra bunları sisteminizdeki her şeye "uygulayabilirsiniz". Yine de kullanışlı bir senaryom yok.
rm -rf /
normal kullanıcı olarak artık durma noktasına sisteminizi eziyet edeceğiz.