LOADING...

加载中请稍等...

loading

Linux每日一篇 - 27 - su

Linux用户切换神器!掌握su命令,安全切换用户身份,让系统管理更灵活!

su命令是什么?

su(Switch User)是Linux中用于切换用户身份的命令,可以让当前用户以其他用户(通常是root)的身份执行命令。

基本用法

# 切换到root用户(需要root密码)
su

# 切换到指定用户
su username

# 切换到指定用户并使用其环境变量
su - username

# 切换到root并使用其环境变量
su -

# 以指定用户身份执行单个命令
su - username -c "command"

# 切换到用户并指定shell
su -s /bin/bash username

实用技巧

# 完全切换到root用户(推荐)
su -

# 切换到普通用户
su - john

# 以其他用户身份执行命令
su -c "systemctl restart nginx" root

# 在脚本中使用su(需要处理密码输入)
echo "password" | su -c "command" - username

# 使用sudo替代su进行权限提升(更安全)
sudo command

# 临时使用root权限执行命令
su -c "apt update && apt upgrade"

# 切换到用户并保持当前目录
su username

# 切换到用户并切换到其主目录
su - username

常用场景

# 紧急情况下的root访问
su -

# 安装软件包
su -c "apt install package_name"

# 修改系统配置文件
su -
# 然后编辑 /etc/hosts 或其他系统文件

# 执行需要root权限的服务管理
su -c "systemctl restart apache2"

# 管理其他用户的文件
su - otheruser
# 然后操作该用户的文件

# 执行系统维护任务
su -
# 进行系统备份、日志清理等工作

# 临时获得root权限
su -c "whoami"  # 验证是否为root

安全注意事项

# 1. 使用sudo替代su(如果已配置)
sudo command

# 2. 限制su的使用(编辑/etc/pam.d/su)
# auth required pam_wheel.so use_uid

# 3. 记录su使用日志
# 在 /etc/audit/rules.d/audit.rules 中添加:
# -a always,exit -F path=/bin/su -F perm=x

# 4. 设置强密码策略
# 在 /etc/pam.d/common-password 中配置

关于我

全平台同名”汪多多是只猫”,专注分享实用技术教程,让你的IT学习之路更轻松!

关注我,每天一个Linux命令,轻松入门Linux系统!

头像
汪多多是只猫
失业的运维工程师
热爱开源与分享
微信公众号