SG(1) User Commands SG(1)

.SH "NAME" sg - execute command as different group ID

.SH "SYNOPSIS"

.HP 72u

**sg**  
\[*-*]  
*group*  
\[\[*-c*] *command*]

.SH "DESCRIPTION"

.PP The **sg** command works similar to **newgrp** but accepts a command. The command will be executed with the /bin/sh shell. With most shells you may run **sg** from, you need to enclose multi-word commands in quotes. Another difference between **newgrp** and **sg** is that some shells treat **newgrp** specially, replacing themselves with a new instance of a shell that **newgrp** creates. This doesn't happen with **sg**, so upon exit from an **sg** command you are returned to your previous group ID.

.SH "OPTIONS"

.PP The options which apply to the **sg** command are:

.PP **-**, **-l**

Start the shell as a login shell.

.RE  
.PP **-c**

Specify a command that will be invoked by the shell using its **-c**.

This is the default; for backward compatibility.

.RE

.SH "CONFIGURATION"

.PP The following configuration variables in /etc/login.defs change the behavior of this tool:

**SYSLOG\_SG\_ENAB** (boolean)

Enable "syslog" logging of **sg** activity.

.SH "FILES"

.PP /etc/passwd

User account information.

.RE  
.PP /etc/shadow

Secure user account information.

.RE  
.PP /etc/group

Group account information.

.RE  
.PP /etc/gshadow

Secure group account information.

.RE

.SH "SEE ALSO"

.PP [**id**(1)](/man/os/shadow/id.1), [**login**(1)](/man/os/shadow/login.1), [**newgrp**(1)](/man/os/shadow/newgrp.1), [**su**(1)](/man/os/shadow/su.1), [**gpasswd**(1)](/man/os/shadow/gpasswd.1), [**group**(5)](/man/os/shadow/group.5), [**gshadow**(5)](/man/os/shadow/gshadow.5).

10/09/2026 shadow-utils 4.20.3

---

Document: sg(1) from shadow 4.20.3-r0 (Chainguard OS)
Source: https://github.com/shadow-maint/shadow
