Movatterモバイル変換


[0]ホーム

URL:


Skip Navigation Links
Exit Print View
Link to oracle.comman pages section 2: System Calls    Oracle Solaris 11 Information Library
Oracle Technology Network
Library
PDF
Print View
Feedback
search filter icon
search icon
 Search Scope:

Document Information

Preface

Introduction

System Calls

access(2)

acct(2)

acl(2)

adjtime(2)

alarm(2)

brk(2)

chdir(2)

chmod(2)

chown(2)

chroot(2)

close(2)

creat(2)

dup(2)

exec(2)

execl(2)

execle(2)

execlp(2)

execv(2)

execve(2)

execvex(2)

execvp(2)

_Exit(2)

_exit(2)

exit(2)

faccessat(2)

facl(2)

fchdir(2)

fchmod(2)

fchmodat(2)

fchown(2)

fchownat(2)

fchroot(2)

fcntl(2)

fexecve(2)

fgetlabel(2)

fork1(2)

fork(2)

forkall(2)

forkallx(2)

forkx(2)

fpathconf(2)

fstat(2)

fstatat(2)

fstatvfs(2)

futimens(2)

futimesat(2)

getacct(2)

getcontext(2)

getdents(2)

getegid(2)

geteuid(2)

getgid(2)

getgroups(2)

getisax(2)

getitimer(2)

getlabel(2)

getmsg(2)

getpflags(2)

getpgid(2)

getpgrp(2)

getpid(2)

getpmsg(2)

getppid(2)

getppriv(2)

getprojid(2)

getrctl(2)

getrlimit(2)

getsid(2)

gettaskid(2)

getuid(2)

getustack(2)

ioctl(2)

issetugid(2)

kill(2)

lchown(2)

link(2)

linkat(2)

llseek(2)

lseek(2)

lstat(2)

_lwp_cond_broadcast(2)

_lwp_cond_reltimedwait(2)

_lwp_cond_signal(2)

_lwp_cond_timedwait(2)

_lwp_cond_wait(2)

_lwp_continue(2)

_lwp_info(2)

_lwp_kill(2)

_lwp_mutex_lock(2)

_lwp_mutex_trylock(2)

_lwp_mutex_unlock(2)

_lwp_self(2)

_lwp_sema_init(2)

_lwp_sema_post(2)

_lwp_sema_trywait(2)

_lwp_sema_wait(2)

_lwp_suspend(2)

memcntl(2)

meminfo(2)

mincore(2)

mkdir(2)

mkdirat(2)

mknod(2)

mknodat(2)

mmap(2)

mmapobj(2)

mount(2)

mprotect(2)

msgctl(2)

msgget(2)

msgids(2)

msgrcv(2)

msgsnap(2)

msgsnd(2)

munmap(2)

nice(2)

ntp_adjtime(2)

ntp_gettime(2)

open(2)

openat(2)

pathconf(2)

pause(2)

pcsample(2)

pipe(2)

poll(2)

p_online(2)

ppoll(2)

pread(2)

priocntl(2)

priocntlset(2)

processor_bind(2)

processor_info(2)

profil(2)

pset_assign(2)

pset_bind(2)

pset_create(2)

pset_destroy(2)

pset_getattr(2)

pset_info(2)

pset_list(2)

pset_setattr(2)

putacct(2)

putmsg(2)

putpmsg(2)

pwrite(2)

read(2)

readlink(2)

readlinkat(2)

readv(2)

rename(2)

renameat(2)

resolvepath(2)

rmdir(2)

sbrk(2)

semctl(2)

semget(2)

semids(2)

semop(2)

semtimedop(2)

setcontext(2)

setegid(2)

seteuid(2)

setgid(2)

setgroups(2)

setitimer(2)

setpflags(2)

setpgid(2)

setpgrp(2)

setppriv(2)

setrctl(2)

setregid(2)

setreuid(2)

setrlimit(2)

setsid(2)

settaskid(2)

setuid(2)

setustack(2)

shmadv(2)

shmat(2)

shmctl(2)

shmdt(2)

shmget(2)

shmids(2)

shmop(2)

sigaction(2)

sigaltstack(2)

sigpending(2)

sigprocmask(2)

sigsend(2)

sigsendset(2)

sigsuspend(2)

sigwait(2)

__sparc_utrap_install(2)

stat(2)

statvfs(2)

stime(2)

swapctl(2)

symlink(2)

symlinkat(2)

sync(2)

sysfs(2)

sysinfo(2)

time(2)

times(2)

uadmin(2)

ulimit(2)

umask(2)

umount(2)

umount2(2)

uname(2)

unlink(2)

unlinkat(2)

ustat(2)

utime(2)

utimensat(2)

utimes(2)

uucopy(2)

vfork(2)

vforkx(2)

vhangup(2)

waitid(2)

wracct(2)

write(2)

writev(2)

yield(2)

setuid

, setegid

, seteuid

, setgid

- set user and group IDs

Synopsis

#include <sys/types.h>#include <unistd.h>intsetuid(uid_tuid);
intsetgid(gid_tgid);
intseteuid(uid_teuid);
intsetegid(gid_tegid);

Description

Thesetuid() function sets the real user ID, effective user ID, andsaved user ID of the calling process. Thesetgid() function sets the realgroup ID, effective group ID, and saved group ID of the callingprocess. Thesetegid() andseteuid() functions set the effective group and userIDs respectively for the calling process. SeeIntro(2) for more information on real,effective, and saved user and group IDs.

At login time, the real user ID, effective user ID, and saveduser ID of the login process are set to the login IDof the user responsible for the creation of the process. The sameis true for the real, effective, and saved group IDs; they areset to the group ID of the user responsible for the creation ofthe process.

When a process calls one of theexec(2) family of functions toexecute a file (program), the user and/or group identifiers associated with theprocess can change. If the file executed is a set-user-ID file, the effectiveand saved user IDs of the process are set to the ownerof the file executed. If the file executed is a set-group-ID file,the effective and saved group IDs of the process are set tothe group of the file executed. If the file executed is nota set-user-ID or set-group-ID file, the effective user ID, saved user ID, effectivegroup ID, and saved group ID are not changed.

If the {PRIV_PROC_SETID} privilege is asserted in the effective set of theprocess callingsetuid(), the real, effective, and saved user IDs are setto theuid argument. If theuid argument is 0 andnone of the saved, effective or real UID is 0, additional restrictions apply.Seeprivileges(5).

If the {PRIV_PROC_SETID} privilege is not asserted in the effective set, butuid is either the real user ID or the saved user IDof the calling process, the effective user ID is set touid.

If the {PRIV_PROC_SETID} privilege is asserted in the effective set of theprocess callingsetgid(), the real, effective, and saved group IDs are setto thegid argument.

If the {PRIV_PROC_SETID} privilege is not asserted in the effective set, butgid is either the real group ID or the saved group IDof the calling process, the effective group ID is set togid.

Return Values

Upon successful completion,0 is returned. Otherwise,-1 is returned anderrnois set to indicate the error.

Errors

Thesetuid() andsetgid() functions will fail if:

EINVAL

The value ofuid orgid is out of range.

EPERM

Forsetuid() andseteuid(), the {PRIV_PROC_SETID} privilege is not asserted in the effective set of the calling process and theuid argument does not match either the real or saved user IDs, or an attempt is made to change to UID 0 and none of the existing UIDs is 0, in which case additional privileges are required.

Forsetgid() andsetegid(), the {PRIV_PROC_SETID} privilege is not asserted in the effective set and thegid argument does not match either the real or saved group IDs.

Attributes

Seeattributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
Async-Signal-Safe
Standard

See Also

Intro(2),exec(2),getgroups(2),getuid(2),stat.h(3HEAD),attributes(5),privileges(5),standards(5)

Copyright © 2011, Oracle and/or its affiliates. All rights reserved.Legal Notices
PreviousNext

[8]ページ先頭

©2009-2025 Movatter.jp