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系统!