Kwan Lowe
2015-Jul-13 14:04 UTC
[CentOS] Wrapper script for shutdown, passwd, etc. commands
Hello all. Thank you for reading. I'm hoping someone can point me in the right direction here. I am looking to implement a wrapper script/utility that will prompt for a ticket number before running certain commands. I've used similar scripts in the past on systems that I didn't have admin access. The wrapper would do something like this: [root at vm-helios-019] shutdown -h now *** WARNING *** You are attempting to shutdown a production server: vm-helios-019.digitalhermit.com Please enter the Change Log Ticket for shutdown CHG-FL-102122 Please confirm by entering your login password: xxxxxxxxxxxxxxxxxx Ticket number CHG-GL-102122 for user Kwan Lowe (klowe) has been logged at Sun Feb 4, 2001 at 14:23 (2:23PM). Ideally this would only kick in if the request is coming from an interactive session. Thinking about it, just replacing the command with a wrapper could cause other problems. Has anyone done anything similar? Thanks, Kwan
Jonathan Billings
2015-Jul-13 14:21 UTC
[CentOS] Wrapper script for shutdown, passwd, etc. commands
On Mon, Jul 13, 2015 at 10:04:49AM -0400, Kwan Lowe wrote:> Please confirm by entering your login password: xxxxxxxxxxxxxxxxxxAre you saying that this is an interactive process on the system? I'd suggest you make sure this isn't some sort of email ticket that stores a password or emails it. You could probably use 'sudo' to handle the part of authenticating the user, and run a very limited service that queried a secure system for approval and initiated the shutdown. -- Jonathan Billings <billings at negate.org>
Kwan Lowe
2015-Jul-13 14:47 UTC
[CentOS] Wrapper script for shutdown, passwd, etc. commands
On Mon, Jul 13, 2015 at 10:21 AM, Jonathan Billings <billings at negate.org> wrote:> Are you saying that this is an interactive process on the system? I'd > suggest you make sure this isn't some sort of email ticket that stores > a password or emails it. >Thanks for the reply. I'm thinking that the password would only be there to confirm. It would not be stored but would possibly leverage PAM.> You could probably use 'sudo' to handle the part of authenticating the > user, and run a very limited service that queried a secure system for > approval and initiated the shutdown. >sudo was a possibility.. However, I want to this specifically for folks with root access so sudo's checks won't work. This is for two reasons: Audit requirements and as a second check for the admin. We've had a couple instances recently where the admin did work on the wrong server. Though i don't see any way to totally lock it down for someone with root access, I want to make it at least give some sort of warning. The other tool I looked at was selinux. Combined with audit it could possibly work but not all the systems have selninux enabled.