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$
Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.
LinkedIn Facebook