Saya berada di grup sudo:
$ id
uid=1002(molot) gid=1002(molot) groups=1002(molot),27(sudo),33(www-data)
Di sudores saya, saya tampaknya memiliki pengaturan yang sesuai:
sudo ALL=(ALL:ALL) NOPASSWD: ALL
dan itu adalah baris terakhir tanpa komentar di sana.
Tetapi ketika saya mencoba git pull
, saya ingin mengetik ulang kata sandi saya:
$ sudo -u www-data git --git-dir /var/www/.git --work-tree /var/www pull "origin" master
[sudo] password for molot:
Ini bukan masalah ketika saya login konsol, tetapi tidak dapat diterima dalam skrip. Jadi, bagaimana saya bisa mengizinkan siapa pun di grup sudo git pull sebagai www-data tanpa mengetik ulang kata sandi?
Ketika saya meletakkan nama saya secara langsung:
molot ALL=(ALL) NOPASSWD: ALL
ini bekerja untuk saya. Tapi, jelas, tidak untuk pengguna maria atau lainnya dari grup sudo. Sejauh yang saya mengerti manual , baik nama pengguna dan nama grup harus berfungsi dalam file pertama.
sudoers
format file sudah benar) adalah nama pengguna dari pengguna yang memohon. Sudahkah Anda mencoba menggantinya dengan wildcard *
, atau pengguna mana saja yang menjalankan git hook?
sudo -u www-data ./your_script.sh
? Apa tujuan naskah?