HOWTO · Bash

Bash でユーザーを変更する

このチュートリアルでは、Bash でユーザーを変更する方法を示します。

このチュートリアルでは、Bash でユーザーを変更する方法を示します。

ユーザーを変更する

Bash でユーザーを変更するには、さまざまな方法があります。 su コマンドまたは sudo コマンドを使用して、ユーザーを直接変更するか、メソッドを使用して root ユーザーに切り替えることができます。

Bash でユーザーを変更するには、まず、環境内のユーザーの名前を知る必要があります。 ユーザーの名前を一覧表示するには、次のコマンドを実行します。

cat /etc/passwd

上記のコマンドは、環境内のすべてのユーザーを一覧表示します。 出力を参照してください。

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
systemd-network:x:100:102:systemd Network Management,,,:/run/systemd:/usr/sbin/nologin
systemd-resolve:x:101:103:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin
systemd-timesync:x:102:104:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin
messagebus:x:103:106::/nonexistent:/usr/sbin/nologin
syslog:x:104:110::/home/syslog:/usr/sbin/nologin
_apt:x:105:65534::/nonexistent:/usr/sbin/nologin
tss:x:106:111:TPM software stack,,,:/var/lib/tpm:/bin/false
uuidd:x:107:112::/run/uuidd:/usr/sbin/nologin
tcpdump:x:108:113::/nonexistent:/usr/sbin/nologin
sshd:x:109:65534::/run/sshd:/usr/sbin/nologin
landscape:x:110:115::/var/lib/landscape:/usr/sbin/nologin
pollinate:x:111:1::/var/cache/pollinate:/bin/false
sheeraz:x:1000:1000:,,,:/home/sheeraz:/bin/bash
delftstack:x:1001:1002::/home/delftstack:/bin/sh

これで、システム内のすべてのユーザーを確認できるので、要件に基づいてユーザーを変更できます。

su コマンドを使用して Bash でユーザーを変更する

su コマンドは、switch user コマンドと省略され、Bash でユーザーを変更するために使用されます。

このコマンドの構文は次のとおりです。

su <option> <UserName>

ユーザー名は、切り替え先のユーザーです。 たとえば、ユーザー delftstack に切り替えたい場合は、次のコマンドを実行する必要があります。

su - delftstack

上記のコマンドはユーザーのパスワードを要求し、正しいパスワードを使用してユーザーを切り替えます。 出力を参照してください。

Password:
delftstack@DESKTOP-Q5AQGI0:/mnt/c/Users/Sheeraz$

sudo コマンドを使用して Bash でユーザーを変更する

sudo コマンドは、管理者としてタスクを実行するために使用されます。 Bash でユーザーを変更するためにも使用できます。 sudo コマンドを実行するにはパスワードが必要です。

sudo コマンドを使用してユーザーを変更する構文は次のとおりです。

sudo -u <UserName> -s

上記のコマンドは UserName を探してそれに切り替えます。 例を試してみましょう:

sudo -u delftstack -s

このコマンドは、ユーザーを delftstack に切り替えます。 出力を参照してください。

delftstack@DESKTOP-Q5AQGI0:/mnt/c/Users/Sheeraz$

このコマンドを使用して、別のユーザーとしてコマンドを起動することもできます。 これは、ユーザー名が sheeraz で、delftstack からコマンドを実行したい場合、sheeraz ユーザーから直接実行できることを意味します。

ユーザー sheeraz からユーザー delftstack のパスワードを変更する例を試してみましょう。

sudo -u delftstack passwd

上記のコマンドは、現在のユーザー sheeraz を使用してユーザー delftstack のパスワードを変更します。 出力を見る

Changing user password for user delftstack
Current password:
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

Bash でユーザーを root に変更する

多くの場合、何らかの操作を実行するために root ユーザーに変更する必要があります。 デフォルトの su コマンドは、ユーザーを root ユーザーに変更できます。 su または su - を実行して、Bash の root ユーザーに切り替えることができます。

例を試してみましょう:

su -

または:

su

上記のコマンドは両方とも、ユーザーを現在のユーザーから root ユーザーに切り替えます。 出力を参照してください。

Password:
root@DESKTOP-Q5AQGI0:/mnt/c/Users/Sheeraz$

Password:
root@DESKTOP-Q5AQGI0:/mnt/c/Users/Sheeraz$