Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

setgroups(2) [osx man page]

SETGROUPS(2)						      BSD System Calls Manual						      SETGROUPS(2)

NAME
setgroups -- set group access list SYNOPSIS
#include <sys/param.h> #include <unistd.h> int setgroups(int ngroups, const gid_t *gidset); DESCRIPTION
Setgroups() sets the group access list of the current user process according to the array gidset. The parameter ngroups indicates the number of entries in the array and must be no more than {NGROUPS_MAX}. Only the super-user may set new groups. Use of setgroups() is highly discouraged. RETURN VALUES
A 0 value is returned on success, -1 on error, with an error code stored in errno. ERRORS
The setgroups() call will fail if: [EINVAL] The value of ngroups is greater than {NGROUPS_MAX}. [EPERM] The caller is not the super-user. [EFAULT] The address specified for gidset is outside the process address space. SEE ALSO
getgroups(2), initgroups(3) HISTORY
The setgroups() function call appeared in 4.2BSD. 4.2 Berkeley Distribution September 15, 2010 4.2 Berkeley Distribution

Check Out this Related Man Page

getgroups(2)							   System Calls 						      getgroups(2)

NAME
getgroups, setgroups - get or set supplementary group access list IDs SYNOPSIS
#include <unistd.h> int getgroups(int gidsetsize, gid_t *grouplist); int setgroups(int ngroups, const gid_t *grouplist); DESCRIPTION
The getgroups() function gets the current supplemental group access list of the calling process and stores the result in the array of group IDs specified by grouplist. This array has gidsetsize entries and must be large enough to contain the entire list. This list cannot be larger than NGROUPS_MAX. If gidsetsize equals 0, getgroups() will return the number of groups to which the calling process belongs without modifying the array pointed to by grouplist. The setgroups() function sets the supplementary group access list of the calling process from the array of group IDs specified by grou- plist. The number of entries is specified by ngroups and can not be greater than NGROUPS_MAX. RETURN VALUES
Upon successful completion, getgroups() returns the number of supplementary group IDs set for the calling process and setgroups() returns 0. Otherwise, -1 is returned and errno is set to indicate the error. ERRORS
The getgroups() and setgroups() functions will fail if: EFAULT A referenced part of the array pointed to by grouplist is an illegal address. The getgroups() function will fail if: EINVAL The value of gidsetsize is non-zero and less than the number of supplementary group IDs set for the calling process. The setgroups() function will fail if: EINVAL The value of ngroups is greater than {NGROUPS_MAX}. EPERM The {PRIV_PROC_SETID} privilege is not asserted in the effective set of the calling process. USAGE
Use of the setgroups() function requires the {PRIV_PROC_SETID} privilege. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |getgroups() is Standard. | +-----------------------------+-----------------------------+ |MT-Level |Async-Signal-Safe | +-----------------------------+-----------------------------+ SEE ALSO
groups(1), chown(2), getuid(2), setuid(2), getgrnam(3C), initgroups(3C), attributes(5), privileges(5), standards(5) SunOS 5.10 1 Feb 2003 getgroups(2)
Man Page

6 More Discussions You Might Find Interesting

1. Programming

setgid

I have a setuid to root program that has now to be changed to setuid to oracle depending on who is running it. Oracle has only two groups, dba (primary) and osgrp1 (secondary). But running 'id' if oracle shows all the secondary groups belonging to root, and only dba or osgrp1 as the primary group... (2 Replies)
Discussion started by: blowtorch
2 Replies

2. Solaris

sshd (openssh) on SunOS without root privileges

Hi, I've just managed to install openssh in my home directory on a server I have access to by using --prefix=$HOME/local after ./configure. Another thing I was having trouble with without root access was privilege separation, so I disabled that in my sshd_config. However, when I run... (10 Replies)
Discussion started by: sayeo
10 Replies

3. AIX

cant su to user or root AIX 5.3

Hi all, I cannt use 'su' to login to root or any other users though everything seems ok. I read some articles that says if you do recursive chmod 777 on /usr it can create this problem. I did the same. can anybody tell me how to repair it. Any ideas will be appreciated. thnks (7 Replies)
Discussion started by: itesh.dash
7 Replies

4. AIX

Cannot create user using SMITTY

i'm using smitty to create user...what happen is it prompt me "failed" with error 3004-703 Check "/etc/security/login.cfg" file. 3004-691 Error changing "shell". 3004-703 Check "/usr/lib/security/mkuser.default" file. 3004-721 Could not create user. 3004-703 Check... (13 Replies)
Discussion started by: thecobra151
13 Replies

5. Ubuntu

Passwordless ssh authentication fails

Unable to set ssh passwordless authentication I am unable to ssh with passwordless authentication from Windows client onto UBuntu server. The ssh version on UBuntu is OpenSSH_5.8p1 Debian-7ubuntu1, OpenSSL 1.0.0e , while SSH on Windows Client is OpenSSH_5.1p1, OpenSSL 0.9.8k. I turned on ssh... (5 Replies)
Discussion started by: tkota
5 Replies

6. Solaris

Rpcbind service not starting

Hello all, I have read just about every rpcbind not starting thread and article on the internet it seems, but I have not found a solution to my problem as of yet. I have a solaris 10 server that has been running with no problems for a while. The other day it crashed and would not boot to the gui... (2 Replies)
Discussion started by: Madrox72
2 Replies