Bagaimana cara menentukan argumen perintah dalam sudoers? Sebagai latar belakang, aws
perintah sebenarnya adalah pintu gerbang ke sejumlah besar sub-sistem dan saya ingin membatasi pengguna untuk hanya menjalankanaws s3 cp ...any other args...
Ketika saya mencoba yang berikut ini /etc/sudoers
Cmnd_Alias AWSS3_CMD = /usr/local/bin/aws s3 cp, /usr/local/aws/bin/aws s3 cp
gbt1 ALL=(gbt-ops) NOPASSWD: AWSS3_CMD
Sayangnya shell meminta kata sandi
$ sudo -u gbt-ops aws s3 cp helloworld s3://my-bucket/hw.1
gbt-ops's password:
Jika saya menghapus perintah args di Cmnd_Alias, maka itu mengalir sesuai keinginan (tanpa kata sandi), tetapi otorisasi terlalu luas. Jadi, apa cara yang benar untuk membatasi hanya jenis perintah tertentu saja .
Cmnd_Alias AWSS3_CMD = /usr/local/bin/aws, /usr/local/aws/bin/aws
Kemudian
$ sudo -u gbt-ops aws s3 cp helloworld s3://my-bucket/hw.1
...happy
Terima kasih banyak.