Sudo ayrıcalıkları olmadan uygulama nasıl oluşturulur?


15

Bir kullanıcının sudo / admin ayrıcalıklarına gerek kalmadan oradaki uygulamaları (yani ./configure, make && make install) oluşturabilmesi için bir Ubuntu 9.10 sunucusunda ne kurmam gerekiyor?

Ben sadece bir kullanıcı bir uygulama oluşturmak için ihtiyaç olmayabilir sistem bölümlerine erişim vermek zorunda bir güvenlik riski biraz hissediyorum.

Yanıtlar:


40

Kullanıcılarınız kullanıyorsa

./configure --prefix=/home/user/opt/

Veya cmake projeleri için

cmake -D CMAKE_INSTALL_PREFIX:PATH=/home/user/opt/ ../source/

Bu, programı bu önekte kurar (varsayılan / usr / local / yerine) ve kullanıcılarınız programı şu şekilde çalıştırabilmelidir:

/home/user/opt/bin/program

Programların yalnızca adı kullanarak (tam yol olmadan) /home/user/opt/binyol ortamı değişkenine eklemelerini istiyorsanız , users .profile dosyasını düzenleyin ve aşağıdaki satırı ekleyin:

export PATH=/home/user/opt/bin:$PATH

Bu şekilde yüklenen programların belirli bir kullanıcıya özel olacağını unutmayın, ancak bunu yapmanın bir yolu


Diğer kullanıcılar, tam yolu sağlarlar ve izinler uygun şekilde ayarlanırsa, bu tür yüklü programları kullanabilirler; ve varsayılan umask'ın masaüstü kurulumumda buna izin verdiği görülüyor.
Alistair Buxton

Ben derleme kod temeli bir Makefileama hiçbir yapılandırma vardı , ben sadece içine girdi ve prefix = /some/pathbenim kendi dizini (izleyen eğik çizgi) satır değiştirdi ve sonra make installsudo olmadan koştu - hepsi şimdi çalışıyor, çok teşekkürler.
Büyük Zengin

8

Kullanıcılar sudo hakları olmadan uygulama oluşturabilir. Sudo haklarına ihtiyacınız olan tek zaman, sistem dizinlerine bir şey yüklemek istediğiniz zamandır.

./configureve makeher zaman sudo hakları olmadan çalışır. make installgenellikle sudo haklarına ihtiyaç duyar çünkü uygulamayı /usr/localveya /usrbazen (bazen /opt) kuracaktır .

Ancak, yükleme yolunun önekini (ör. ./configure --prefix=~/usr/local), Kuruluşun kullanıcı dizin ağacı içinde gerçekleştirilecek şekilde değiştirirseniz, sudo hakları gerekmez make install.


Hala cevabınızın tamamen yedeklenmediğini düşünüyorum. Neden ./configureve makeçalışma daima olmadan sudo? sudo make installMesela idam etmeye devam eden birine nasıl haklı göstermeliyim ?
Nikos Alexandris

0

Txwikinger'in söylediklerine ek olarak , aynı zamanda kontrol etmek isteyebilirsiniz fakeroot, bu da dpkgyükseltilmiş ayrıcalıklara ihtiyaç duymadan .deb paketleri oluşturma fırsatı verir . Tabii ki, bunları yüklemek genellikle sudo erişimine ihtiyaç duyacaktır.

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.