su和sudo命令详解
https://www.cnblogs.com/yangliguo/p/8463143.html
su
Linux su命令用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码。
使用权限:所有使用者。
语法
su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]
选项
选项 | 说明 |
---|---|
-c<指令>或--command=<指令> | 执行完指定的指令后,即恢复原来的身份; |
-f或——fast | 适用于csh与tsch,使shell不用去读取启动文件; |
-l或——login | 改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,logname。此外,也会变更PATH变量; |
-m,-p或--preserve-environment | 变更身份时,不要变更环境变量; |
-s<shell>或--shell=<shell> | 指定要执行的shell; |
--help | 显示帮助; |
--version | 显示版本信息。 |
实例
变更帐号为 root 并在执行 ls 指令后退出变回原使用者
su -c ls root
变更帐号为 root 并传入 -f 参数给新执行的 shell
su root -f
变更帐号为 clsung 并改变工作目录至 clsung 的家目录(home dir)
su - clsung
切换用户
hnlinux@ylg:~$ whoami //显示当前用户 hnlinux hnlinux@wylg:~$ pwd //显示当前目录 /home/hnlinux hnlinux@ylg:~$ su root //切换到root用户 密码: root@ylg:/home/hnlinux# whoami root root@ylg:/home/hnlinux# pwd /home/hnlinux
切换用户,改变环境变量
hnlinux@ylg:~$ whoami //显示当前用户 hnlinux hnlinux@ylg:~$ pwd //显示当前目录 /home/hnlinux hnlinux@ylg:~$ su - root //切换到root用户 密码: root@ylg:/home/hnlinux# whoami root root@ylg:/home/hnlinux# pwd //显示当前目录 /root
sudo
Linux sudo命令用来以其他身份来执行命令,预设的身份为root。在/etc/sudoers
中设置了可执行sudo指令的用户。若其未经授权的用户企图使用sudo,则会发出警告的邮件给管理员。用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限则必须重新输入密码。
语法
sudo(选项)(参数)
选项
选项 | 说明 |
---|---|
-b | 在后台执行指令; |
-h | 显示帮助; |
-H | 将HOME环境变量设为新身份的HOME环境变量; |
-k | 结束密码的有效期限,也就是下次再执行sudo时便需要输入密码;。 |
-l | 列出目前用户可执行与无法执行的指令; |
-p | 改变询问密码的提示符号; |
-s<shell> | 执行指定的shell; |
-u<用户> | 以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份; |
-v | 延长密码有效期限5分钟; |
-V | 显示版本信息。 |
故乡明
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话