Wie gebe ich Befehlsargumente in sudoers an? Als Hintergrund ist aws
Befehl eigentlich ein Gateway zu einer ganzen Reihe von Subsystemen, und ich möchte den Benutzer darauf beschränken, nur ausgeführt zu werdenaws s3 cp ...any other args...
Wenn ich folgendes versuche in /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
Die Shell fordert leider zur Passworteingabe auf
$ sudo -u gbt-ops aws s3 cp helloworld s3://my-bucket/hw.1
gbt-ops's password:
Wenn ich die Befehlsargumente in Cmnd_Alias entferne, fließt es wie gewünscht (ohne Passwortabfrage), aber die Berechtigungen sind viel zu breit. Also, was ist der richtige Weg, um nur bestimmte Arten von Befehlsaufrufen einzuschränken .
Cmnd_Alias AWSS3_CMD = /usr/local/bin/aws, /usr/local/aws/bin/aws
Dann
$ sudo -u gbt-ops aws s3 cp helloworld s3://my-bucket/hw.1
...happy
Vielen Dank.