2011-08-01 13 views
122

Kullanıcı2 olarak çalıştırılması gereken script.sh var. Ancak, bu betik benim uygulamamda sadece user1 altında çalıştırılabilir.Kod başka bir kullanıcı olarak nasıl şifre olmadan çalıştırılır

su user2 -C script.sh 

ancak şifre olmadan çalıştırmak mümkün:

aşağıdaki komutu çalıştırmak istiyorum.

Ayrıca user1 kullanıcı script.sh user2 ve başka bir şey çalıştırabilirsiniz gibi de, çok kısıtlayıcı olmak istiyorum.

Bunu sudoers dosyasıyla yapmayı denedim ve saatler geçtikten sonra bitmek bilmeyen kafa karıştırdı. Birisi bunun nasıl gerçekleştirilebileceğine dair açık bir örnek sağlayabilirse (sudoers kullanımı gibi genel bir şey yerine), büyük bir memnuniyetle karşılanacaktır.

+13

Özellikle yakınım yok. Bu, sistemi belirli bir şekilde programlamanın nasıl bir sorusu; bu nedenle, kabuk programlama ile ilgilidir ve programlama ile ilgili sorular için SO kapsamındadır. Açıkça görülüyor ki, bir dizi insan bu konuyu bu kadar reddedilmemelidir; soru ve cevapların hepsinin önemli bir sayıya kadar oyu vardır. –

cevap

97

Çağrı visudo ve bu ekleyin:

user1 ALL=(user2) NOPASSWD: /home/user2/bin/test.sh 

komut yolları mutlak olmalı! Ardından, user1 kabuğundan sudo -u user2 /home/user2/bin/test.sh numaralı telefonu arayın. Bitti.

+2

Ubuntu yardımında [sudoers'ın güzel bir tanımı] (https://help.ubuntu.com/community/Sudoers) biçimi var. Sudoers için Man sayfa çirkin :( – Mifeet

165

deneyin koşu: Bu o kullanıcı olarak sudo izinlerine sahip olduğunuz verilen kullanıcı adı olarak komutunu çalıştıracak

su -c "Your command right here" -s /bin/sh username 

.

+10

Bu gibi tam sudo hakları ile normal kullanıcı olarak çalıştı: sudo su-c "Sizin komutunuz burada" -s/bin/sh otheruser' – rubo77

+5

Sadece herhangi bir mac kullanıcıları için bir not, görünüşte sözdizimi biraz farklı: 'su kullanıcı adı -c" komutu "'. – NHDaly

+1

"Ekranı başka bir kullanıcı olarak başlatmaya çalışıyorsanız o zaman bu yardımcı olabilir - http://www.linuxquestions.org/questions/linux-software -2/running-screen-command-for-startup-at-startup-401990/# post2041890 – Mint

İlgili konular