Sudoers'da komut argümanlarını nasıl belirlerim? Arka plan olarak, awskomut 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.