Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

How to Audit User Commands When sudo su - to Another User

Posted on 2011-09-28
5
Medium Priority
?
1,318 Views
Last Modified: 2012-06-21
We have a team of people that login to unix servers as their individual ID, then need to "sudo su - shareduser" to a shared user ID.  It is possible that you could have several people logged into the same server at the same time that has switched to the shared user.  The question is - is it possible to keep an audit trail of the commands that each individual user runs as the shared ID?  Is so, can you tell me how this is done?  We are using two flavors of UNIX, AIX and RedHat Linux.
0
Comment
Question by:lphillips
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
5 Comments
 
LVL 31

Expert Comment

by:farzanj
ID: 36813150
Normally script command is used.  Did you try that?

script filename


And then you log everything.  You should script in a folder where everyone can write.  I am not sure if it would persist su but it is worth trying at least.

You will have to type exit twice at the end, once to revert to original account and second to terminate script command.
0
 
LVL 68

Expert Comment

by:woolmilkporc
ID: 36814300
Does it have to be "sudo su -"?

Wouldn't it be sufficient runnig "sudo -u shareduser some_command" ?

Of course this will require a bit more effort in setting up the sudoers file, but on the other hand you can have a perfect audit trail this way.

wmp

0
 

Author Comment

by:lphillips
ID: 36814384
woolmilkporc - is it possible to setup it up where any command/script in a certain directory can be run?  For example if we had:

/allmycommands/bin/

And there were lots of scripts, AND they need to have arguments passed on the command line, is this doable?  How would that look in the sudoers file?
0
 
LVL 68

Accepted Solution

by:
woolmilkporc earned 2000 total points
ID: 36814537
Yes, that's simple. Let's assume there is a group "individuals" where all concerned users belong to.

Add to the sudoers file using "visudo":

Defaults:%individuals   syslog=local7
%individuals ALL=(shareduser) NOPASSWD:/allmycommands/bin/


The "individuals" members are allowed to run eyerything (scripts/commands) which are in /allmycommands/bin/
with any number of arguments under the credentials of "shareduser", like this:

sudo -u shareduser /allmycommands/bin/somescript parm1 parm2 parm3

The example sudoers entry above isolates the log data of this particular group by using "local7" as the log facility.
Choose a different one if local7 is already in use at your system(s).

Add to /etc/syslog.conf:

local7.* /var/adm/individuals.sudolog

issue touch /var/adm/individuals.sudolog

and restart syslogd (AIX: refresh -s syslogd).

wmp

0
 

Author Closing Comment

by:lphillips
ID: 36814567
thank you!
0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In tuning file systems on the Solaris Operating System, changing some parameters of a file system usually destroys the data on it. For instance, changing the cache segment block size in the volume of a T3 requires that you delete the existing volu…
Java performance on Solaris - Managing CPUs There are various resource controls in operating system which directly/indirectly influence the performance of application. one of the most important resource controls is "CPU".   In a multithreaded…
Learn how to get help with Linux/Unix bash shell commands. Use help to read help documents for built in bash shell commands.: Use man to interface with the online reference manuals for shell commands.: Use man to search man pages for unknown command…
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
Suggested Courses

610 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question