03-22-2005
For the most part, you can't do that. Certainly not via a script anyway. The login program starts out as a root process and may become a process owned by someone else. It does this by calling setuid() internally. But that only works for a root process.
10 More Discussions You Might Find Interesting
1. OS X (Apple)
Strangely, chown and chmod don't seem to work on symlinks. In particular, I tried this (as root):
# touch foo
# ln -s foo mysymlink
# chown SOMEUSER mysymlink
as well as changing the last line to:
# chown -h someuser mysymlink
where "-h" is supposed to change the UID of the actualy... (1 Reply)
Discussion started by: noahcowan
1 Replies
2. UNIX for Advanced & Expert Users
Hi,
I have a file in my system as below
My user and grp id is sns / sns
-rwxrwxrwx 1 sns sns 6012357 Sep 27 06:01 sample
Is there a way to change the owner and grp of this file to app / app ... ie. as given below
-rwxrwxrwx 1 app app 6012357 Sep 27 06:01 sample
I guessed... (1 Reply)
Discussion started by: Sabari Nath S
1 Replies
3. UNIX for Dummies Questions & Answers
Hi there,
How do I get the owner of a process?
Regards (4 Replies)
Discussion started by: Parker_
4 Replies
4. Solaris
Hi,
I own a file, when i try to change the owner of my file to other user it is throwing error like
chown: changing ownership of `a.txt': Not owner
my OS is sunOS 5.8
Thanks. (1 Reply)
Discussion started by: shahnazurs
1 Replies
5. UNIX for Dummies Questions & Answers
How to change the owner of a file.
example:
suppose original owner is A and we want to change to B
Please provide the syntax
Thanks (1 Reply)
Discussion started by: skyineyes
1 Replies
6. Solaris
Hi Folks,
I know that changing users and groups is pretty basic admin, but this one has got me stumped. When I try to change the group of a file for which I am the owner for, it still gives me a 'Not owner' error.
For example, when I am logged in as 'webadmin', I have the following file:
... (4 Replies)
Discussion started by: brizrobbo
4 Replies
7. UNIX for Advanced & Expert Users
Hi all,
We have some files are under 744 permissions and the the owner is say owner1 and group1.
Now we have another user owner2 of group2, owner2 can remove files of the owner1 and the permission of those files are 744, unix admin told us he did some config at his side so we can do that.
... (14 Replies)
Discussion started by: TheGunMan
14 Replies
8. Solaris
Hi ,
I want to change owner of files or folder from 23186 to dsadm,
Present
-------
-rw-r--r-- 1 23186 gdstage 10240 Oct 31 2007 BLTRS
drwxrwxrwx 3 23186 gdstage 512 Sep 1 2010 sql
Required as
-----------
-rw-r--r-- 1 dsadm gdstage 10240 Oct 31 2007 BLTRS
drwxrwxrwx 3 dsadm gdstage... (6 Replies)
Discussion started by: sridhardwh
6 Replies
9. Solaris
i need to do the following operations in solaris 10:
1.change owner and group owner for files which are not owned by the current user and user group
2.to can delete files in the /tmp directory which are not of the current user
3. allow to a standard user the deletion of files in the /tmp... (1 Reply)
Discussion started by: sirmark
1 Replies
10. AIX
Hi all,
How to inform server owner if the particular process is down.
I need command or script to do the above.
TIA (3 Replies)
Discussion started by: sumanthupar
3 Replies
SETUID(2) Linux Programmer's Manual SETUID(2)
NAME
setuid - set user identity
SYNOPSIS
#include <sys/types.h>
#include <unistd.h>
int setuid(uid_t uid);
DESCRIPTION
setuid() sets the effective user ID of the calling process. If the effective UID of the caller is root, the real UID and saved set-user-ID
are also set.
Under Linux, setuid() is implemented like the POSIX version with the _POSIX_SAVED_IDS feature. This allows a set-user-ID (other than root)
program to drop all of its user privileges, do some un-privileged work, and then reengage the original effective user ID in a secure man-
ner.
If the user is root or the program is set-user-ID-root, special care must be taken. The setuid() function checks the effective user ID of
the caller and if it is the superuser, all process-related user ID's are set to uid. After this has occurred, it is impossible for the
program to regain root privileges.
Thus, a set-user-ID-root program wishing to temporarily drop root privileges, assume the identity of an unprivileged user, and then regain
root privileges afterwards cannot use setuid(). You can accomplish this with seteuid(2).
RETURN VALUE
On success, zero is returned. On error, -1 is returned, and errno is set appropriately.
ERRORS
EAGAIN The uid does not match the current uid and uid brings process over its RLIMIT_NPROC resource limit.
EPERM The user is not privileged (Linux: does not have the CAP_SETUID capability) and uid does not match the real UID or saved set-user-ID
of the calling process.
CONFORMING TO
SVr4, POSIX.1-2001. Not quite compatible with the 4.4BSD call, which sets all of the real, saved, and effective user IDs.
NOTES
Linux Notes
Linux has the concept of file system user ID, normally equal to the effective user ID. The setuid() call also sets the file system user ID
of the calling process. See setfsuid(2).
If uid is different from the old effective uid, the process will be forbidden from leaving core dumps.
SEE ALSO
getuid(2), seteuid(2), setfsuid(2), setreuid(2), capabilities(7), credentials(7)
COLOPHON
This page is part of release 3.27 of the Linux man-pages project. A description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.
Linux 2010-02-21 SETUID(2)