Sudoers'da komut argümanlarını nasıl belirlerim? Arka plan olarak, aws
komut aslında tüm alt sistem gruplarına açılan bir ağ geçididir ve kullanıcının yalnızca çalışmasını kısıtlamak istiyorumaws s3 cp ...any other args...
Aşağıdakileri denediğimde /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
Kabuk maalesef şifre ister
$ sudo -u gbt-ops aws s3 cp helloworld s3://my-bucket/hw.1
gbt-ops's password:
Komutu Cmnd_Alias'ta kaldırırsam, istenildiği gibi akar (şifre istemi olmadan), ancak yetkilendirme çok geniştir. Öyleyse, sadece belirli emir çağrı türlerini kısıtlamanın doğru yolu nedir ?
Cmnd_Alias AWSS3_CMD = /usr/local/bin/aws, /usr/local/aws/bin/aws
Sonra
$ sudo -u gbt-ops aws s3 cp helloworld s3://my-bucket/hw.1
...happy
Çok teşekkürler.