Linux入门(Kali)
sudo用法示例:
基本用法
执行单个命令
sudo [命令]
例如:
sudo apt update
这会以root权限运行apt update命令,用于更新软件包列表。
编辑文件
sudo nano [文件名]
或
sudo vim [文件名]
例如:
sudo nano /etc/hosts
这会以root权限打开/etc/hosts文件进行编辑。
运行脚本
sudo bash [脚本文件]
例如:
sudo bash install.sh
这会以root权限运行install.sh脚本。
配置相关
查看sudo权限
sudo -l
这会列出当前用户可以使用sudo执行的命令及其限制。
编辑sudoers文件
sudo visudo
这是一个安全的方式,用于编辑/etc/sudoers文件,该文件定义了哪些用户可以使用sudo以及他们可以执行哪些命令。
切换到root用户
sudo su
或
sudo -i
这会切换到root用户,后续命令都将直接以root权限执行。
其他用法
无密码执行命令
如果你在sudoers文件中配置了无密码权限,可以这样使用:
sudo -n [命令]
例如:
sudo -n apt update
这会尝试在不输入密码的情况下执行命令。
运行图形界面程序
如果需要以root权限运行图形界面程序,可以使用:
sudo -H [图形界面程序]
例如:
sudo -H gedit
这会以root权限打开gedit文本编辑器。
查看sudo日志
sudo tail -f /var/log/auth.log
这可以查看sudo命令的执行日志,了解哪些用户在什么时间使用了sudo
在Kali Linux中,su(substitute user)命令用于切换用户身份,允许用户切换到另一个用户账户(包括超级用户root)。
以下是一些常见的su命令用法:
-
切换到root用户
这是su命令最常见的用途之一。su:切换到root用户,但不会改变当前的环境变量(如HOME目录)。
su -:切换到root用户,并加载root用户的环境变量(包括HOME目录)。这通常更安全,因为它会切换到root用户的主目录。 -
切换到其他用户
你可以使用su命令切换到任何其他用户账户。su [用户名]:切换到指定用户,但不会改变当前的环境变量。
su - [用户名]:切换到指定用户,并加载该用户的环境变量。
例如:
su john
或者
su - john -
查看当前用户
虽然su本身没有直接查看当前用户的功能,但你可以结合其他命令来查看当前用户:whoami 或者 echo $USER
-
退出当前用户
当你使用su切换到另一个用户后,可以通过以下命令退出并返回到原来的用户:exit 或者 直接按Ctrl + D。
-
强制切换用户
在某些情况下,你可能需要强制切换用户,尤其是在用户密码已知的情况下。可以使用以下命令:su -l [用户名] 这会强制重新登录指定用户,加载其完整的用户环境。
-
使用su执行单个命令
你可以使用su命令直接以另一个用户的身份执行单个命令,而无需完全切换到该用户。su - [用户名] - "[c命令]" 例如: su - john -c "ls -l"
这会以用户john的身份执行ls -l命令。
-
查看su日志
在某些系统中,su命令的使用会被记录在日志文件中。你可以查看这些日志来了解谁在什么时间切换了用户:cat /var/log/auth.log 或者 journalctl _COMM=su
注意事项
安全性:su命令允许用户切换到root用户,因此需要谨慎使用。只有在必要时才切换到root用户,并且在完成操作后尽快退出。
密码:切换到root用户或其他用户时,通常需要输入目标用户的密码。
配置文件:在某些系统中,su的行为可以通过配置文件(如/etc/login.defs)进行调整。
总之,su是一个非常有用的命令,用于在不同用户之间切换,但使用时需要注意安全性和权限。管理
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南