
su 命令通常与其他命令一起使用,如用于临时提升访问权限的 sudo、用于更改密码的 passwd,以及用于检查当前登录用户的 whoami。了解 su 对于系统管理任务和需要在多用户环境中运行的用户来说至关重要。
因此,让我们开始学习如何有效使用 su 命令来切换用户账户和提升权限。
su 命令的一般语法:
$ su [OPTIONS] [USER [ARGUMENT...]]
su [username]
将用户名传递给 su 命令,密码验证通过后,它将提供一个登录会话。
例 1:切换到根用户
如果运行 su 命令时没有输入用户名,则默认为根用户。系统会提示你输入 root 密码。
$ su Password: [Enter root password here] # [You are now in a shell as the root user]
例 2:切换到特定用户
要切换到特定用户,可以指定用户名作为参数。例如,要切换到名为 john 的用户,可以这样做:
$ su john Password: [Enter john's password here] $ [You are now in a shell as john]
例 3:以其他用户身份运行命令
你也可以以其他用户的身份运行一条命令,而无需进入他们的 shell。例如,以 john 的身份运行 whoami:
$ su -c "whoami" john Password: [Enter john's password here] john
su [username] -c [command]
使用 -c 选项可以在不同的用户账户下运行特定命令,并在当前登录会话中显示结果。
例 1:以根用户身份运行命令
假设你想运行 ls /root 命令来列出 /root 目录的内容,通常只有 root 用户才能访问该目录。你可以使用:
su root -c "ls /root"
执行该命令后,系统会提示你输入 root 密码。通过身份验证后,将执行 ls /root 命令,并查看 /root 目录的内容。
例 2:以其他用户身份运行命令
假设系统中有另一个名为 john 的用户,你想以该用户身份运行位于 /home/john/script.py 的 Python 脚本:
su john -c "python3 /home/john/script.py"
同样,系统会提示你输入 john 账户的密码。通过身份验证后,Python 脚本将以 john 的身份执行。
例 3:运行多条命令
您还可以依次运行多条命令。例如,要切换到一个目录,然后以用户 john 的身份列出目录内容,可以执行以下命令:
su john -c "cd /home/john/documents && ls"
这将切换到 john 用户,导航到 /home/john/documents ,然后列出该目录的内容。
su -s /bin/[shell]
使用 -s 选项将现有默认 shell 更改为其他 shell。
示例:
假设你当前以用户 john 登录,而你想切换到使用 bash shell 的用户 alice 。你可以执行以下命令:
su -s /bin/bash alice
运行此命令后,系统会提示你输入 alice 的密码。如果密码正确,就会切换到 alice 的用户账户,shell 将是 bash。
su –p [another_user]
使用 -p 选项可以保留当前用户账户的环境。
示例:
举例说明假设你当前以用户 john 登录,你想切换到用户 alice,但保留 john 的环境变量。
输入以下命令:
su -p alice
系统会提示你输入 alice 的密码。
成功输入密码后,您将切换到用户 alice,但您的环境仍将包含 john 的设置。
下面罗列了最常见的一些 Linux 命令,您可以根据自己的需要查阅对应命令的详细解析:
| 目录操作 | · · · · |
| 文件操作 | · · · · · · · · |
| 文件系统操作 | · · |
| *** | · · · · |
| 搜索和文本处理 | · · · · · · |
| 系统信息和管理 | · · · · · · |
| 用户和会话管理 | · · · |
此外,我们还整理 ,以帮助大家全面深入地学习 Linux。
谁在尝试访问某些网站时没有遇到过更新Java的请求? 虽然许多人通过交互式网站功能熟悉Java,但用户可能不太熟悉JavaScript——或者,实际上,他们可能错误地认为两者是相同的。 在本文中,我们将讨论JavaScript 是什么以及Java和JavaScript之间的区别。然后我们将概...
本章节主要是对宝塔面板的主界面的各个版本进行一个简单的说明。 宝塔面板主界面主要包括:服务器操作系统、服务器状态、站点信息、软件管理及网络流量几个部分。 Windows面板有部分功能未实现,其余部分与Linux面板同步。 系统操作...
宝塔面板另外一个特质是,你无需通过Linux命令行来查看服务器各项指标状况,即可以阿里云服务器类似的可视化图表,查看资源使用、负载、CPU占用及内容使用百分比等指标。 默认监控是关闭,有需要的,可以开启,监控数据默认保存30天,可以自行修改,默认监控数据保存在日志,可手动清理该日志。 监控管理,...
宝塔面板提供丰富的软件以一键安装,这让服务器环境搭建提供不少的便利性,站长可以根据实际需求快速编译安装以实现不同的功能需求。 软件管理,主要是宝塔提供的一些面板扩展插件。 Nginx Nginx是一个高性能的HTTP和反向代理服务器,具有轻量级、占用内存小,并发能力强等优势。 w...
JavaScript是世界上最流行的编程语言之一。今天,它为数百万个网站提供支持,并吸引了成群的开发人员和设计人员为Web构建功能。如果您是编程新手,那么 JavaScript很容易成为之一。 在最初的20年里,JavaScript主要用于客户端脚本。由于JavaScript只能在<scr...
Laravel多年来一直是PHP应用程序开发的摇滚明星,这是有充分理由的。庞大的生态系统、活跃的社区、强大的就业市场、成功的初创公司——它拥有一切让采用新技术变得值得的东西。 如果你想学习Laravel,你不需要更进一步。通过浏览本指南,您可以找到最适合您的Laravel教程,与您的知识水平和...