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$