diff options
Diffstat (limited to 'lib/libc/sys')
-rw-r--r-- | lib/libc/sys/Makefile.inc | 9 | ||||
-rw-r--r-- | lib/libc/sys/execve.2 | 2 | ||||
-rw-r--r-- | lib/libc/sys/setregid.2 | 2 | ||||
-rw-r--r-- | lib/libc/sys/setreuid.2 | 2 | ||||
-rw-r--r-- | lib/libc/sys/setuid.2 | 121 | ||||
-rw-r--r-- | lib/libc/sys/sigsuspend.2 | 4 |
6 files changed, 132 insertions, 8 deletions
diff --git a/lib/libc/sys/Makefile.inc b/lib/libc/sys/Makefile.inc index 3deb3bbcc702..d0689839bf9d 100644 --- a/lib/libc/sys/Makefile.inc +++ b/lib/libc/sys/Makefile.inc @@ -1,4 +1,5 @@ -# @(#)Makefile.inc 5.11 (Berkeley) 6/23/91 +# From: @(#)Makefile.inc 5.11 (Berkeley) 6/23/91 +# $Id: Makefile.inc,v 1.16 1994/03/16 19:01:06 wollman Exp $ # sys sources .PATH: ${.CURDIR}/${MACHINE}/sys ${.CURDIR}/sys @@ -19,7 +20,8 @@ ASM= accept.o access.o acct.o adjtime.o async_daemon.o bind.o chdir.o \ getpriority.o getrlimit.o getrusage.o getsockname.o getsockopt.o \ gettimeofday.o getuid.o ioctl.o kill.o ktrace.o link.o listen.o \ lseek.o lstat.o madvise.o mincore.o mkdir.o mkfifo.o mknod.o \ - mmap.o mount.o mprotect.o msgsys.o msync.o munmap.o nfssvc.o open.o \ + mmap.o mount.o mprotect.o msgsys.o msync.o munmap.o nfssvc.o \ + ntp_adjtime.o ntp_gettime.o open.o \ profil.o quotactl.o read.o readlink.o readv.o recvfrom.o recvmsg.o \ rename.o revoke.o rmdir.o select.o semsys.o sendmsg.o sendto.o \ setdomainname.o setegid.o seteuid.o setgid.o setgroups.o sethostid.o \ @@ -96,7 +98,7 @@ MAN2+= sys/accept.2 sys/access.2 sys/acct.2 sys/adjtime.2 sys/async_daemon.2 \ sys/msync.2 sys/munmap.2 sys/nfssvc.2 sys/open.2 sys/pipe.2 \ sys/quotactl.2 sys/read.2 sys/readlink.2 sys/reboot.2 sys/recv.2 \ sys/rename.2 sys/rmdir.2 sys/select.2 sys/send.2 sys/setgroups.2 \ - sys/setpgid.2 sys/setregid.2 sys/setreuid.2 sys/setsid.2 \ + sys/setpgid.2 sys/setregid.2 sys/setreuid.2 sys/setsid.2 sys/setuid.2 \ sys/shutdown.2 sys/sigaction.2 sys/sigprocmask.2 sys/sigreturn.2 \ sys/sigstack.2 sys/sigsuspend.2 sys/socket.2 sys/socketpair.2 \ sys/stat.2 sys/statfs.2 sys/swapon.2 sys/symlink.2 sys/sync.2 \ @@ -127,6 +129,7 @@ MLINKS+=mount.2 unmount.2 MLINKS+=read.2 readv.2 MLINKS+=recv.2 recvfrom.2 recv.2 recvmsg.2 MLINKS+=send.2 sendmsg.2 send.2 sendto.2 +MLINKS+=setuid.2 setegid.2 setuid.2 seteuid.2 setuid.2 setgid.2 MLINKS+=setpgid.2 setpgrp.2 MLINKS+=stat.2 fstat.2 stat.2 lstat.2 MLINKS+=statfs.2 fstatfs.2 diff --git a/lib/libc/sys/execve.2 b/lib/libc/sys/execve.2 index 726de1f88448..48405320181d 100644 --- a/lib/libc/sys/execve.2 +++ b/lib/libc/sys/execve.2 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)execve.2 6.9 (Berkeley) 3/10/91 -.\" $Id: execve.2,v 1.2.2.1 1994/05/01 16:06:05 jkh Exp $ +.\" $Id: execve.2,v 1.4 1994/03/16 19:10:39 wollman Exp $ .\" .Dd March 16, 1994 .Dt EXECVE 2 diff --git a/lib/libc/sys/setregid.2 b/lib/libc/sys/setregid.2 index 86b0aa7949be..764f89403e3a 100644 --- a/lib/libc/sys/setregid.2 +++ b/lib/libc/sys/setregid.2 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)setregid.2 6.4 (Berkeley) 3/10/91 -.\" $Id: setregid.2,v 1.1.1.1.2.1 1994/05/01 16:06:13 jkh Exp $ +.\" $Id: setregid.2,v 1.2 1994/03/16 19:01:08 wollman Exp $ .\" .Dd March 16, 1994 .Dt SETREGID 2 diff --git a/lib/libc/sys/setreuid.2 b/lib/libc/sys/setreuid.2 index de34b029ab57..62f5dcdae68d 100644 --- a/lib/libc/sys/setreuid.2 +++ b/lib/libc/sys/setreuid.2 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)setreuid.2 6.4 (Berkeley) 3/10/91 -.\" $Id: setreuid.2,v 1.1.1.1.2.1 1994/05/01 16:06:14 jkh Exp $ +.\" $Id: setreuid.2,v 1.2 1994/03/16 19:01:09 wollman Exp $ .\" .Dd March 16, 1994 .Dt SETREUID 2 diff --git a/lib/libc/sys/setuid.2 b/lib/libc/sys/setuid.2 new file mode 100644 index 000000000000..eb596cc4918f --- /dev/null +++ b/lib/libc/sys/setuid.2 @@ -0,0 +1,121 @@ +.\" Copyright (c) 1983, 1991 Regents of the University of California. +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" From: @(#)setuid.3 6.4 (Berkeley) 4/19/91 +.\" $Id: setuid.2,v 1.2 1994/04/21 21:30:20 wollman Exp $ +.\" +.Dd March 16, 1994 +.Dt SETUID 2 +.Os +.Sh NAME +.Nm setuid , +.Nm seteuid , +.\" .Nm setruid , +.Nm setgid , +.Nm setegid , +.\" .Nm setrgid +.Nd set user and group ID +.Sh SYNOPSIS +.Fd #include <sys/types.h> +.Ft int +.Fn setuid "uid_t uid" +.Ft int +.Fn seteuid "uid_t euid" +.\" .Ft int +.\" .Fn setruid "uid_t ruid" +.Ft int +.Fn setgid "gid_t gid" +.Ft int +.Fn setegid "gid_t egid" +.\" .Ft int +.\" .Fn setrgid "gid_t rgid" +.Sh DESCRIPTION +The +.Fn setuid +function +.Pq Fn setgid +sets the real, effective, and saved +user IDs (group IDs) of the current process +as specified. +.Pp +The +.Fn seteuid +function +.Pq Fn setegid +sets the effective user ID (group ID) of the +current process. +.\".Pp +.\" The +.\" .Fn setruid +.\" function +.\" .Pq Fn setrgid +.\" sets the real user ID (group ID) of the +.\" current process. +.Pp +When any of these calls succeed, the +.Dv SUGID +process flag is turned on, and remains on until the process calls +.Xr execve 2 ; +this flag can be inspected with +.Xr ps 1 . +.Sh RETURN VALUES +Upon success, these functions return 0; +otherwise \-1 is returned. +.Pp +If the user is not the super user, and the ID specified is not the +current real ID, the +.Nm setuid +and +.Nm setgid +functions return \-1. +.Pp +If the user is not the super user, and the ID specfied is not the +current real ID, the +.\" nor the saved ID, the +.\" should this really be true that setuid(geteuid()) is not allowed? +.Nm seteuid +and +.Nm setegid +functions return \-1. +.Sh SEE ALSO +.Xr setreuid 2 , +.Xr setregid 2 , +.Xr getuid 2 , +.Xr getgid 2 , +.Xr execve 2 , +.Xr ps 1 +.Sh HISTORY +A +.Fn setuid +and +.Fn setgid +syscall appeared in +.At v6 . diff --git a/lib/libc/sys/sigsuspend.2 b/lib/libc/sys/sigsuspend.2 index 8e0c73001c10..2b09e707f5e5 100644 --- a/lib/libc/sys/sigsuspend.2 +++ b/lib/libc/sys/sigsuspend.2 @@ -36,7 +36,7 @@ .Os .Sh NAME .Nm sigsuspend -.Nd automatically release blocked signals and wait for interrupt +.Nd atomically release blocked signals and wait for interrupt .Sh SYNOPSIS .Fd #include <sys/signal.h> .Ft int @@ -74,7 +74,7 @@ set to .Xr sigsetops 3 .Sh STANDARDS The -.Nm sigsupend +.Nm sigsuspend function call conforms to .St -p1003.1-88 . |