SORU
17 EYLÜL 2008, ÇARŞAMBA


Sudo nasıl bir konuma çıkış yönlendirme için kullan ı't yazma izni yok?

Kalkınma RedHat linux kutusu üzerinde sudo erişim verildi ve kendimi normalde yazma erişimi yok bir yere çıkışı yeniden yönlendirme, gerek oldukça sık buluverdim.

Sorun şu ki, bu yapmacık örnek çalışmıyor

sudo ls -hal /root/ > /root/test.out

Ben sadece yanıt almak:

-bash: /root/test.out: Permission denied

Bunu nasıl çalıştırabilirim?

CEVAP
17 EYLÜL 2008, ÇARŞAMBA


Sizin komut yeniden yönlendirme yazma izni yok hangi kabuk tarafından 8 ** yapıldığı için çalışmıyor. Çıkış yönlendirmedeğilsudo tarafından yapıldı.

Birden çok çözümü vardır:

  • Sudo ile bir kabuk çalıştırın ve -c seçeneği kullanarak bu komutu verin:

    sudo sh -c 'ls -hal /root/ > /root/test.out'
    
  • Komutları ile bir komut dosyası oluşturmak ve sudo ile bir komut dosyası çalıştırın

    #!/bin/sh
    ls -hal /root/ > /root/test.out
    

    sudo ls.sh çalıştırın. Bakın Steve Bennett eğer geçici bir dosya oluşturmak istiyorsanız Eğer ... answer.

  • sudo -s ile bir kabuk sonra komutları çalıştırmak başlatmak:

    [nobody@so]$ sudo -s
    [root@so]# ls -hal /root/ > /root/test.out
    [root@so]# ^D
    [nobody@so]$
    
  • sudo tee -c seçeneği kullanırken çok kaçış (varsa):

    sudo ls -hal /root/ | sudo tee /root/test.out > /dev/null
    

    /dev/null yönlendir ekrana yazdırılıyor tee durdurmak için gereklidir. İçinekleyinçıktı dosyası üzerine yerine (>>) kullanın tee -a tee --append (Son GNU coreutils özgüdür).

Teşekkürler ikinci, üçüncü ve dördüncü çözümler için Jd, Adam J. Forster Johnathan git.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ricardo Cerqueira

    Ricardo Cerq

    28 Mayıs 2008
  • ShotgunSandwichENT

    ShotgunSandw

    3 EKİM 2012
  • TechSmartt

    TechSmartt

    29 Aralık 2010