Assigning proc_owner privilege to particular user in RBAC


Login or Register for Dates, Times and to Reply

 
Thread Tools Search this Thread
Operating Systems Solaris Assigning proc_owner privilege to particular user in RBAC
# 8  
I do not think there is a "group_proc" privilege. You are going to have to set up sudo and and specifically allow those users to become the user that runs the application. But then they can "tink" with the application process.

sudo -
man pages section 1M: System Administration Commands
It is part of Solaris 11.

Suppose the app runs with appuser. sudo su - appuser is the command they would use. I assume they are already in the same group as appuser. Let's call that group "foo"

You will have read up on sudoedit and /etc/sudoers You grant the permission to become "appuser" based on the fact that they are only in the special group I mentioned, "foo". Actually appuser does not have to be in the "foo" group, but then you open up access to anything that appuser can do in its own group to these newcomers.
Login or Register for Dates, Times and to Reply

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #129
Difficulty: Easy
The original Linux source code was developed by Linus Torvalds and the GNU Foundation.
True or False?

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Create user with different privilege

Hi , I want to create 3 different user with below privilege in Solaris and Linux. 1) Read Only 2)Read and Write Only 3) Admin user Can you guys help me on this . (3 Replies)
Discussion started by: Naveen Pathak
3 Replies

2. AIX

sudo - User privilege specification

I am planning to implement sudo for users. Under , it looks I have to put the users who need to have sudo access: What are the recommended for users? I don't think I need to give the ALL privilege (i.e ) to AIX users. I'd like to know the commonly used privilege specification for sudo... (9 Replies)
Discussion started by: Daniel Gate
9 Replies

3. AIX

User Privilege

How to assign superuser privilege to an ordinary user temporarily (1 Reply)
Discussion started by: udtyuvaraj
1 Replies

4. UNIX for Dummies Questions & Answers

How to create/restrict a user with to have no privilege from other group

Hello experts I am new to Unix. Env : HPUX I need to create a user say testuser such that it does not have access to file/directories from the other group i.e the last 3 digits . How do I do that. Reason for such a request :- I have an existing user oracle which has default umask... (3 Replies)
Discussion started by: simonsimon
3 Replies

5. Solaris

Root privilege for user

Can anyone please tell how to give root privilege to a normal user in solaris 10? (5 Replies)
Discussion started by: nicktrix
5 Replies

6. Linux

Sudo user vs RBAC

Hi all, What the difference between the sudo users & RBAC when the talk of effects after doing the above comes??? any differences between them ,kindly list ?? (1 Reply)
Discussion started by: saurabh84g
1 Replies

7. AIX

[Help] Give privilege to an ordinary user

I'm trying to give a non-root user the right to start IBM HTTP Server, the web server is listening on port 80, but for AIX, ports under 1024 are privilege ports which can be used only by root. /usr/IBMIHS/bin# ./apachectl start (13)Permission denied: make_sock: could not bind to address :::80... (1 Reply)
Discussion started by: ibmer414
1 Replies

8. UNIX for Advanced & Expert Users

RBAC: create a user to shut the server

Hi, I have created a user to shutdown the server using RBAC. Here are my steps: 1. roleadd -u 1000 -g 10 -d /home/stopsys -m stopsys 2. passwd stopsys 3. edit /etc/security/prof_attr to include: Shut:::able to shut the server: 4. modrole -P Shut stopsys 5. useradd -u 1001 -g 10 -d... (2 Replies)
Discussion started by: chaandana
2 Replies

9. UNIX for Dummies Questions & Answers

Write privilege for user

Is it possible to grant write privileges to a user on a directory with out having to add the user to a group or make the user the owner of the directory? My background is in Windows and in Windows you can grant specific privileges to a user without having to put the user in a group or making the... (3 Replies)
Discussion started by: here2learn
3 Replies
rbac(5) 						Standards, Environments, and Macros						   rbac(5)

NAME
rbac - role-based access control DESCRIPTION
The addition of role-based access control (RBAC) to the Solaris operating environment gives developers the opportunity to deliver fine- grained security in new and modified applications. RBAC is an alternative to the all-or-nothing security model of traditional superuser- based systems. With RBAC, an administrator can assign privileged functions to specific user accounts (or special accounts called roles). There are two ways to give applications privileges: 1. Administrators can assign special attributes such as setUID to application binaries (executable files). 2. Administrators can assign special attributes such as setUID to applications using execution profiles. Special attribute assignment along with the theory behind RBAC is discussed in detail in "Role Based Access Control" chapter of the System Administration Guide: Security Services. This chapter describes what authorizations are and how to code for them. Authorizations An authorization is a unique string that represents a user's right to perform some operation or class of operations. Authorization defini- tions are stored in a database called auth_attr(4). For programming authorization checks, only the authorization name is significant. Some typical values in an auth_attr database are shown below. solaris.jobs.:::Cron and At Jobs::help=JobHeader.html solaris.jobs.grant:::Delegate Cron & At Administration::help=JobsGrant.html solaris.jobs.admin:::Manage All Jobs::help=AuthJobsAdmin.html solaris.jobs.user:::Cron & At User::help=JobsUser.html Authorization name strings ending with the grant suffix are special authorizations that give a user the ability to delegate authorizations with the same prefix and functional area to other users. Creating Authorization Checks To check authorizations, use the chkauthattr(3SECDB) library function, which verifies whether or not a user has a given authorization. The synopsis is: int chkauthattr(const char *authname, const char *username); The chkauthattr() function checks the policy.conf(4), user_attr(4), and prof_attr(4) databases in order for a match to the given authoriza- tion. If you are modifying existing code that tests for root UID, you should find the test in the code and replace it with the chkauthattr() function. A typical root UID check is shown in the first code segment below. An authorization check replacing it is shown in the second code segment; it uses the solaris.jobs.admin authorization and a variable called real_login representing the user. Example 1: Standard root check ruid = getuid(); if ((eflag || lflag || rflag) && argc == 1) { if ((pwp = getpwnam(*argv)) == NULL) crabort(INVALIDUSER); if (ruid != 0) { if (pwp->pw_uid != ruid) crabort(NOTROOT); else pp = getuser(ruid); } else pp = *argv++; } else { Example 2: Authorization check ruid = getuid(); if ((pwp = getpwuid(ruid)) == NULL) crabort(INVALIDUSER); strcpy(real_login, pwp->pw_name); if ((eflag || lflag || rflag) && argc == 1) { if ((pwp = getpwnam(*argv)) == NULL) crabort(INVALIDUSER); if (!chkauthattr("solaris.jobs.admin", real_login)) { if (pwp->pw_uid != ruid) crabort(NOTROOT); else pp = getuser(ruid); } else pp = *argv++; } else { For new applications, find an appropriate location for the test and use chkauthattr() as shown above. Typically the authorization check makes an access decision based on the identity of the calling user to determine if a privileged action (for example, a system call) should be taken on behalf of that user. Applications that perform a test to restrict who can perform their security-relevant functionality are generally setuid to root. Programs that were written prior to RBAC and that are only available to the root user may not have such checks. In most cases, the kernel requires an effective user ID of root to override policy enforcement. Therefore, authorization checking is most useful in programs that are setuid to root. For instance, if you want to write a program that allows authorized users to set the system date, the command must be run with an effective user ID of root. Typically, this means that the file modes for the file would be -rwsr-xr-x with root ownership. Use caution, though, when making programs setuid to root. For example, the effective UID should be set to the real UID as early as possible in the program's initialization function. The effective UID can then be set back to root after the authorization check is performed and before the system call is made. On return from the system call, the effective UID should be set back to the real UID again to adhere to the principle of least privilege. Another consideration is that LD_LIBRARY path is ignored for setuid programs (see SECURITY section in ld.so.1(1)) and that shell scripts must be modified to work properly when the effective and real UIDs are different. For example, the -p flag in Bourne shell is required to avoid resetting the effective UID back to the real UID. Using an effective UID of root instead of the real UID requires extra care when writing shell scripts. For example, many shell scripts check to see if the user is root before executing their functionality. With RBAC, these shell scripts may be running with the effective UID of root and with a real UID of a user or role. Thus, the shell script should check euid instead of uid. For example, WHO=`id | cut -f1 -d" "` if [ ! "$WHO" = "uid=0(root)" ] then echo "$PROG: ERROR: you must be super-user to run this script." exit 1 fi should be changed to WHO=`/usr/xpg4/bin/id -n -u` if [ ! "$WHO" = "root" ] then echo "$PROG: ERROR: you are not authorized to run this script." exit 1 fi Authorizations can be explicitly checked in shell scripts by checking the output of the auths(1) utility. For example, for auth in `auths | tr , " "` NOTFOUND do [ "$auth" = "solaris.date" ] && break # authorization found done if [ "$auth" != "solaris.date" ] then echo >&2 "$PROG: ERROR: you are not authorized to set the date" exit 1 fi SEE ALSO
ld.so.1(1), chkauthattr(3SECDB), auth_attr(4), policy.conf(4), prof_attr(4), user_attr(4) System Administration Guide: Security Services SunOS 5.10 15 Jul 2003 rbac(5)

Featured Tech Videos