Solusi sederhananya adalah dengan memasukkan perintah Anda ke dalam skrip dan kemudian memberi pengguna Anda akses ke skrip tersebut melalui sudo.
user ALL = (root) NOPASSWD: /path/to/yourscript
Lalu
#/bin/bash
chroot /chroots/box /bin/bash -c 'cd /repos/system && git pull'
Pastikan bahwa pengguna Anda tidak memiliki akses tulis ke skrip Anda.
sunting:Peringatan, tampaknya sudo tidak menangani spasi dengan aman dalam perintah, jadi tidak aman menggunakan sudo dengan cara ini. https://unix.stackexchange.com/a/279142/39281
Alih-alih menggunakan tanda kutip di file sudoers, Anda dapat keluar dari spasi menggunakan garis miring terbalik:
user ALL = (root) NOPASSWD: chroot /chroots/box /bin/bash -c cd\ /repos/system\ &&\ git\ pull
Anda masih dapat menggunakannya sebagai berikut, karena shell pengguna tetap menangani argumen yang dikutip:
chroot /chroots/box /bin/bash -c 'cd /repos/system && git pull'
Secara pribadi saya suka jawaban lain, untuk memasukkannya ke dalam skrip, tetapi ini menjawab pertanyaan sebenarnya.