Komut dosyasını kökten farklı bir kullanıcı olarak çalıştır [kapalı]


11

Kök kullanıcıdan, /root/script.sh dosyasını yürütmesi için başka bir kullanıcıya nasıl izin verebilirim?

Fikir senaryoyu çalıştırmak gibi sudo -u user1 /root/script.sh


1
Soru tamamen açık değil: "Kökünüz ve betiği user1 olarak çalıştırmak istiyorsunuz" ya da "siz user1'siniz ve betiği root olarak çalıştırmak istiyorsunuz"? İlk durum buysa, sudoyazdığınız komutla ilgili sorun nedir?
michas

Check outsu(1)
vonbrand

Yanıtlar:


11

Hiç sevmediğimi söylemeliyim sudo(özellikle konfigürasyonları). Düz eski su:

su -c 'command' - user

Kökten yürütülürse, parola istenmez.


0

Kullanıcının

  1. tüm dizin yolu için izin yürüt ( /rootsadece burada )

  2. dosya için izin yürüt

  3. dosya için okuma izni

El /rootdeğmeden bırakmak ve bu amaç için farklı bir dizin oluşturmak (veya kullanmak) iyi bir fikir olabilir (örn. /usr/local/bin). user1Komut dosyasını dosyanın sahibi yaparak veya rootsahip ve grup olarak bırakarak komut dosyasını yürütmesine izin verilen tek kullanıcıyı yapabilir , ACL'lere ( ) basit erişim izinlerini ( chmod) ayarlayabilir 770ve ekleyebilirsiniz .user1setfacl


0

Komut dosyanız kök dizininde bulunuyorsa,

$ LC_ALL=C ls -ld /root
drwx------ 17 root root 4096 Mar  5 20:14 /root

user1 sadece kök olabilir.

Kişisel /etc/sudoersgiriş benzeyecek

Cmnd_Alias SCRIPT=/root/script.sh

# user who is allowed executing /root/script.sh
%user ALL = (ALL) SCRIPT

Normalde dosyayı şu şekilde düzenlersiniz: visudo

Daha sonra da koymak gerekmez -u rootsizin için sudokomuta.

%Kullanıcı grubu anlamına gelir. Dışarıda bıraktığınızda, yalnızca kullanıcının komutu yürütmesine izin verilir. Bir grup kullanıcının onu yürütmesini istiyorsanız, olduğu gibi bırakın.

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.