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

  • BradleyWuzHere

    BradleyWuzHe

    25 NİSAN 2011
  • Gigawipf

    Gigawipf

    18 ŞUBAT 2010
  • joshsnice

    joshsnice

    28 Kasım 2006