ユーザ名の後ろに追加の引数を与えることもでき、 その場合引数はユーザのログインシェルに渡される。 特に、その引数の一つとして -c を渡した場合、 それに続く引数は大部分のコマンドインタプリタにコマンドとして解釈される。 コマンドはそのユーザに (/etc/passwd で) 指定されているシェルで実行される。
必要な場合には、ユーザにはパスワードの入力が促される。 間違ったパスワードが入力された場合にはエラーメッセージが出力される。 suしようとした場合は、システムの濫用を検知するために、 それが正しい場合も不正な場合も常に記録が残される。
現在の環境は新しいシェルに引き継がれる。 ただし $PATH の値は、 通常のユーザでは /bin:/usr/bin に、 スーパーユーザでは /sbin:/bin:/usr/sbin:/usr/bin に再設定される。 これは /etc/login.defs の ENV_PATH と ENV_SUPATH で変更できる。
サブシステムログインでは、 ログインシェルの最初の文字に "*" を置く。 渡されたホームディレクトリは、 ユーザが実際にログインする新しいファイルシステムのルートとして扱われる。