newgrp は現在の実グループ ID を、指定したグループに (グループ名を指定しなかった場合は /etc/passwd に記載されたデフォルトのグループに) 変更する。 ユーザにはパスワードがなくグループにはある場合、 あるいはユーザがグループのメンバーではなく グループにパスワードがある場合には、 そのユーザはパスワードの入力を求められる。 グループのパスワードが設定されておらず、 かつユーザがグループのメンバーでない場合は、 アクセスは拒否される。
sg コマンドは newgrp と同様に動作するが、コマンドを受け付ける。 このコマンドは /bin/sh シェルで実行される。 コマンドが複数の単語からなる場合は、 sg の実行元となるであろうシェルのほとんどにおいて、 これらをクォートする必要があるだろう。 newgrp と sg のもう一つの違いは、 特定のシェルが newgrp を特別に扱う点にある。 このようなシェルは、自分自身を newgrp が生成した新しい実体と置き換える。このようなことは sg では起きないので、 sg コマンドから戻った際には以前のグループ ID に戻る。