su与su -,sudo 的区别
"sudo" , "su" , "su - " 区别;
一、sudo是一种权限管理机制,依赖于/etc/sudoers,其定义了授权给哪个用户可以以管理员的身份能够执行什么样的管理命令;
格式: sudo -u USERNAME COMMAND
默认情况下,系统只有root用户可以执行sudo命令。需要root用户通过使用visudo命令编辑sudo的配置文件/etc/sudoers,才可以授权其他普通用户执行sudo命令。
二、su 为 switch user,即切换用户的简写。
格式为两种: su -l USERNAME(-l为login,即登陆的简写) su USERNAME
如果不指定USERNAME(用户名),默认即为 root,
su USERNAME,与su - USERNAME的不同之处如下: 1、su - USERNAME 切换用户后,同时切换到新用户的工作环境中。 2、su USERNAME 切换用户后,不改变原用户的工作目录,及其他环境变量目录。
三、
su -,su -l 或 su --login 命令改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,LOGNAME。此外,也会变更PATH变量。
"su" 与 "su - " 切换最大的就是 更改了环境变量一块切换。
用su -命令则默认转换成成root用户了。
所以切换到root的身份的命令即为:su -root 或 su -,su root 或 su。
而不带参数的"su命令"不会改变当前工作目录以及 HOME,SHELL,USER,LOGNAME。只是拥有了root的权限而已。
分类:
Linux
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~