Linux 系统中用户切换

1. Linux系统中用户切换的命令为su,语法为:

su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]

参数说明

-f , –fast:不必读启动文件(如 csh.cshrc 等),仅用于csh或tcsh两种Shell。

-l , –login:加了这个参数之后,就好像是重新登陆一样,大部分环境变量(例如HOME、SHELL和USER等)都是以该使用者(USER)为主,并

且工作目录也会改变。如果没有指定USER,缺省情况是root。

-m, -p ,–preserve-environment:执行su时不改变环境变数。

-c command:变更账号为USER的使用者,并执行指令(command)后再变回原来使用者。

–help 显示说明文件
–version 显示版本资讯

USER:欲变更的使用者账号,
ARG: 传入新的Shell参数。

2. su [user] 和 su - [user]的区别:

su [user]切换到其他用户,但是不切换环境变量,su - [user]则是完整的切换到新的用户环境。

如:

[root@rac1 ~]# pwd  --当前目录
/root
[root@rac1 ~]# su oracle --使用su [user]
[oracle@rac1 root]$ pwd  --当前目录没有改变,还是之前的用户目录
/root
[oracle@rac1 root]$ su - oracle --使用su - [user]
Password:
[oracle@rac1 ~]$ pwd   --当前目录变为当前用户的家目录
/home/oracle
[oracle@rac1 ~]$

所以建议大家在切换用户时,尽量用su - [user],否则可能会出现环境变量不对的问题。

posted @   TwinStudio  阅读(242)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示