ユーザー「git」がsudoを介して「www-data」として「git pull」を実行できるようにする


12

gitがユーザー「www-data」として「git pull」を実行できるようにしたいと思います。私が理解している限り、git ALL =(www-data)git pull in / etc / sudoersで作成できます。

悲しいことに、この行の構文エラーが表示され、「www-data」の「-」の直後にvisudo構文ハイライトが壊れます。

/ etc / sudoersユーザー名に禁止されている「-」に関する情報が見つかりません。任意のヒント?

回答:


11

'git'コマンドにはフルパス名を使用する必要があります。次の行はvisudoで構文エラーを生成せず、正常に動作します。

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


6
@ベンとあなたは共有しませんでしたか?
agrublev 2017

9

私はgitユーザー名を使用していることに注意してください。そのため、gitosisまたは他のユーザー名を使用している場合は、自分の名前入力してください。

rootユーザーのコンソールで、次のコマンドを実行します。

visudo

「vi」エディターが開きます。次の行を追加します。

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

その結果、ファイル(「visudo」を呼び出すことによって「vi」エディターで開かれる)は次のようになります。

# /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

次に、CTRL + Oを押してファイルを保存し、Enterキーを押してファイル名を受け入れ(bla bla bla)、CTRL + Xを押して「vi」エディタを閉じます。

出来上がり!これで、gitユーザーはwww-dataユーザーとしてコマンドを実行できます。

sudo -u www-data git pull origin master
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.