当前位置: 代码网 > 服务器>服务器>Linux > Linux用户切换与管理的完整指南

Linux用户切换与管理的完整指南

2025年07月01日 Linux 我要评论
一、用户切换核心方法1. su 基础切换完整环境切换(加载目标用户的配置文件)su - 目标用户名仅切换用户身份(保留当前环境变量)su 目标用户名操作流程:输入命令后按回车输入目标用户的密码执行 e

一、用户切换核心方法

1. su 基础切换

完整环境切换(加载目标用户的配置文件)
su - 目标用户名
仅切换用户身份(保留当前环境变量)
su 目标用户名

操作流程

  1. 输入命令后按回车
  2. 输入目标用户的密码
  3. 执行 exitctrl+d 返回原用户

示例

su - root       # 切换到root并加载环境
su developer    # 切换用户但保留当前shell环境

2. sudo 权限提升

以目标用户身份执行单条命令
sudo -u 目标用户名 命令
进入交互式root shell
sudo -i

配置要求

当前用户必须在 /etc/sudoers 文件中被授权

典型场景

sudo -u www-data cat /var/log/nginx.log  # 以web用户查看日志
sudo -i                                  # 获得完整root环境

二、远程用户切换

1. ssh 直接登录

ssh 目标用户名@服务器ip

密钥认证配置

ssh-copy-id 目标用户名@服务器ip  # 部署公钥
ssh -i ~/.ssh/private_key.pem 目标用户名@服务器ip

2. 多跳服务器切换

ssh -j 跳板机用户@跳板机ip 目标用户@目标服务器ip

三、会话管理技巧

1. 终端复用(tmux)

tmux new -s dev_session  # 创建新会话
ctrl+b → c               # 新建窗口
ctrl+b → 数字键          # 窗口切换

2. 后台任务管理

保持会话持续运行
nohup 命令 &
disown -h %1            # 脱离终端关联

查看所有用户进程
ps -ef | grep 用户名

四、安全增强配置

1. sudoers 文件配置

visudo
添加内容:
用户名 all=(all:all) nopasswd: /usr/bin/apt  # 免密执行特定命令
%groupname all=(all) all                      # 组权限配置

2. ssh 安全加固

/etc/ssh/sshd_config 修改:
permitrootlogin no            # 禁止root直接登录
passwordauthentication no     # 强制密钥认证
allowusers 白名单用户         # 用户访问控制

五、状态监控命令

1. 实时会话查看

命令功能输出示例
w显示登录用户及活动09:30:45 up 20 days, user load average
who -u带空闲时间显示dev_user pts/0 2024-05-07 09:30 (192.168.1.100)

2. 历史登录审计

last -n 5 用户名  # 查看最近5次登录记录
lastlog           # 所有用户最后登录时间

六、故障排查指南

1. 切换失败诊断流程

  1. 检查用户是否存在:
    getent passwd 用户名
  2. 验证密码是否正确:
    sudo passwd -s 用户名
  3. 确认sudo权限:
    sudo -l -u 用户名

2. 紧急恢复方法

单用户模式恢复(物理服务器)
1. 重启系统并在grub菜单选择"recovery mode"
2. 选择 "root drop to root shell prompt"
3. 执行 `passwd 用户名` 重置密码

最佳实践建议

  1. 生产环境优先使用 sudo 代替直接 su root
  2. 定期执行 sudo -k 清除授权缓存
  3. 敏感操作前通过 echo $user 确认当前用户身份
  4. 重要会话使用 script 命令记录完整操作日志:
script -a /var/log/admin_operations.log

到此这篇关于linux用户切换与管理的完整指南的文章就介绍到这了,更多相关linux用户切换与管理内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

  • Nginx报错403问题排查与解决办法

    前言今天领导让我部署一个前端项目,一顿操作报错访问报错403,让我们一起搞定他。环境centos 7 x86 的服务器上部署了 nginx 服务器。配置文件我把前端项目打包后的 d…

    2025年06月27日 服务器
  • Linux下的进程控制解读

    进程创建在linux环境下,我们使用系统调用接口 fork()函数,来创建进程!参数:无参;返回值:创建失败,返回负值;创建成功,对于子进程返回0,对于父进程返回子进程的pid;f…

    2025年06月27日 服务器
  • Linux程序替换方式

    创建子进程的目的?目的:为了帮助父进程完成一些特定的任务;子进程帮助父进程完成任务的方式有那些?1、执行一段父进程的代码;(这是我们初学者经常使用子进程的方式):2、让子进程执行一…

    2025年06月27日 服务器
  • Linux nmcli设置bond的过程

    Linux nmcli设置bond的过程

    1、介绍nmcli是networkmanager提供的网络管理工具,nmcli设置的bond可以持久化,因为会写入配置文件,下面我们就来通过nmcli来配置bo... [阅读全文]
  • Linux进程信号的使用解读

    什么是信号信号是进程之间事件异步通知的一种方式,属于软中断。信号的处理能力是进程的内置功能的一部分进程即便没有收到信号也知道要如何处理信号当进程收到一个信号时可能不会立刻处理,而是…

    2025年06月25日 服务器
  • Linux线程概念和控制方式

    linux线程概念linux中线程如何理解线程<=执行流<=进程linux中的线程模拟进程实现(线程就是轻量级进程)与独立的进程相比,线程创建和销毁的开销较小,因为它们…

    2025年06月25日 服务器

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com