'Git' kullanıcısının sudo üzerinden 'git pull' komutunu 'www-data' olarak çalıştırmasına izin ver


12

Git 'kullanıcı' www-veri 'olarak' git pull 'çalıştırmak için izin vermek istiyorum. Anladığım kadarıyla git ALL = (www-data) git pull / etc / sudoers yapmalı.

Ne yazık ki bu satır için bir sözdizimi hatası alıyorum ve 'www-data' içinde "-" hemen sonra visudo sözdizimi vurgu sonları

/ Etc / sudoers kullanıcı adlarında yasak '-' ile ilgili bilgi bulunamıyor. Herhangi bir ipucu?

Yanıtlar:


11

'Git' komutu için tam yol adı kullanmanız gerekir, aşağıdaki satırlar visudo'da sözdizimi hatası üretmez ve iyi çalışır.

git ALL = (www-data) /usr/bin/git pull


6
@ Ben ve sen paylaşmadın mı?
agrublev

9

Bildirim ben kullanıyorum o git kullandığınız takdirde kullanıcı adı, bu nedenle, gitosis veya başka bir kullanıcı adı, sadece yıllarda doldurun!

Kök kullanıcılı konsolda şu komutu yürütün:

visudo

"Vi" editörü açılacaktır. Bu satırları ekleyin:

Defaults:git    !authenticate
git ALL=(www-data) ALL

Sonuç olarak ("vi" düzenleyicisinde "visudo" çağrıldığında açılan) dosya şöyle görünmelidir:

# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#

Defaults    env_reset
Defaults:git    !authenticate

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL) ALL
git ALL=(www-data) ALL


# Allow members of group sudo to execute any command
# (Note that later entries override this, so you might need to move
# it further down)
%sudo ALL=(ALL) ALL
#
#includedir /etc/sudoers.d

Daha sonra dosyayı kaydetmek için CTRL + O tuşlarına basın, ardından dosya adını (bla bla bla) kabul etmek için Enter tuşuna basın, ardından "vi" düzenleyicisini kapatmak için CTRL + X tuşlarına basın.

İşte bu kadar! Artık git kullanıcı www-data kullanıcısı olarak komut yürütebilir :

sudo -u www-data git pull origin master
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.