在 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
jiyik:x:1001:1002::/home/jiyik:/bin/sh
现在,我们可以看到系统中的所有用户,我们可以根据需要更改用户。
使用 su 命令更改 Bash 中的用户
su
命令,缩写为切换用户命令,用于在 Bash 中更改用户。
此命令的语法如下所示:
su <option> <UserName>
其中用户名是你要切换到的用户。 现在,例如,如果我们想切换到用户 jiyik,那么我们需要运行以下命令:
su - jiyik
上面的命令会询问用户密码,输入正确的密码就会切换用户。 查看输出:
Password:
jiyik@DESKTOP-Q5AQGI0:/mnt/c/Users/Sheeraz$
使用 sudo 命令更改 Bash 中的用户
sudo
命令用于以管理员身份执行任务; 它还可以用于更改 Bash 中的用户。 sudo
命令需要密码才能运行。
使用 sudo
命令更改用户的语法是:
sudo -u <UserName> -s
上面的命令将查找用户名并切换到它。 让我们尝试一个例子:
sudo -u jiyik -s
此命令会将用户切换到 jiyik。 查看输出:
jiyik@DESKTOP-Q5AQGI0:/mnt/c/Users/Sheeraz$
此命令也可用于以其他用户身份启动命令。 这意味着如果我们的用户名是 sheeraz 并且我们想从 jiyik 运行命令,我们可以直接从 sheeraz 用户执行。
让我们尝试一个例子,我们尝试从用户 sheeraz 更改用户 jiyik 的密码:
sudo -u jiyik passwd
上面的命令将使用当前用户 sheeraz 更改用户 jiyik 的密码。 查看输出
Changing user password for user jiyik
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$
相关文章
在 Bash 中运行后台进程
发布时间:2023/05/18 浏览次数:191 分类:操作系统
-
本篇文章将讨论如何在 Bash 中创建在后台运行的命令。 此外,我们将通过使用必要的示例和解释来讨论该主题,以使该主题更容易理解。
Bash 等待后台进程
发布时间:2023/05/18 浏览次数:121 分类:操作系统
-
本篇文章介绍如何在 Bash 中等待后台进程。Bash 等待后台进程。Bash 中的 wait 命令可用于等待所有后台进程完成。
Bash 中检查变量是否包含值
发布时间:2023/05/18 浏览次数:173 分类:操作系统
-
有时,我们需要检查变量是否包含值。 这在处理包含要运行的用户输入的项目时很重要。在 Bash 脚本中,我们可以通过多种方式来检查变量是否包含值。 本文将展示我们如何检查变量的值。
Bash 脚本中的变量插值
发布时间:2023/05/18 浏览次数:79 分类:操作系统
-
本文是关于在 Bash 脚本中使用变量以及如何在 Bash 脚本中插入这些变量。Bash 脚本中的变量。每种编程语言都有具有特定数据类型的变量。
在 Bash 中修改函数内的全局变量
发布时间:2023/05/18 浏览次数:181 分类:操作系统
-
在本文中,我们将学习如何在 Bash 的函数内修改全局变量。在 Bash 中修改函数内的全局变量 如果你在脚本中声明你的变量,Bash 中的每个变量默认都是全局的,这意味着它可以被任何函数、脚本
Shell 编程中变量值加一
发布时间:2023/05/18 浏览次数:135 分类:操作系统
-
本篇文章我们将介绍如何在 bash 中增加一个变量。 我们还将学习在 Linux 中的 bash 脚本中使用的不同类型的增量运算符。
在 Bash 脚本中执行变量中的命令
发布时间:2023/05/18 浏览次数:107 分类:操作系统
-
本篇文章是关于将 Bash 命令存储在一个变量中,然后直接从这个变量中执行它。 首先,我们将讨论执行变量中包含的命令的多种方法,然后是几个脚本示例。