Jak określić argumenty polecenia w sudoers? Jako tło, aws
polecenie jest w rzeczywistości bramą do całej gamy podsystemów i chcę ograniczyć użytkownika do działaniaaws s3 cp ...any other args...
Kiedy spróbuję wykonać następujące czynności /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
Niestety powłoka prosi o podanie hasła
$ sudo -u gbt-ops aws s3 cp helloworld s3://my-bucket/hw.1
gbt-ops's password:
Jeśli usunę argumenty polecenia w Cmnd_Alias, to przepłynie zgodnie z potrzebami (bez pytania o hasło), ale autoryzacja jest zbyt szeroka. Więc jaki jest właściwy sposób ograniczania się tylko do niektórych rodzajów wywołań poleceń .
Cmnd_Alias AWSS3_CMD = /usr/local/bin/aws, /usr/local/aws/bin/aws
Następnie
$ sudo -u gbt-ops aws s3 cp helloworld s3://my-bucket/hw.1
...happy
Wielkie dzięki.