Benim sorunum: Bir Python programım var ve kullanıcı onu kullanarak başlattı sudo
. Bazen kullanıcının evini almak zorundayım ve bunu sadece adını bilerek yapabilirim:
import pwd
pwd.getpwnam(username)
Peki: programı başlatan kullanıcının adını nasıl alabilirim?
Tavsiye için teşekkür ederim. Tamam, benim ayarlayacaktır
—
rubik
euid
To SUDO_UID
.
sudo
yapraklarHOME
sağlam ortam değişkeni (bu derleme ya da çalışma zamanında geçersiz kılınmış olabilir). Ancak kullanıcı için farklı bir değer belirtirse ne olmasını istediğinize bağlı olarak ortam değişkenini kullanabilir veya kullanamayabilirsinizHOME
(ya bob çalışırsaHOME=/home/joe sudo your_script
?). Muhtemelen gerektiğini çağıran kullanıcıya senin EUID ayarlayın (tarafından verilenSUDO_UID
(aslında komut kök izin gerektirir ne olursa olsun dışında) herhangi bir dosya sistemi erişimi yapmadan önce).