温馨提示×

centos ssh如何管理用户权限

小樊
58
2025-08-14 13:08:40
栏目: 智能运维

在CentOS系统中,通过SSH管理用户权限主要涉及以下几个方面:

1. 用户账户管理

  • 创建用户

    sudo adduser username
    

    或者使用useradd命令:

    sudo useradd username
    
  • 设置密码

    sudo passwd username
    
  • 删除用户

    sudo deluser username
    
  • 修改用户信息

    sudo usermod -l new_username old_username
    sudo usermod -d /new/home/directory username
    sudo usermod -m -G groupname username
    

2. 权限设置

  • 文件和目录权限: 使用chmod命令来更改文件或目录的权限。

    chmod 755 filename
    chmod u+x filename  # 给文件所有者添加执行权限
    chmod g-w filename  # 移除组用户的写权限
    
  • 特殊权限位

    • setuid (suid):允许程序以文件所有者的身份运行。
      sudo chmod u+s /path/to/executable
      
    • setgid (sgid):允许程序以文件所属组的身份运行。
      sudo chmod g+s /path/to/executable
      
    • sticky bit:防止用户删除或重命名其他用户的文件。
      sudo chmod +t /path/to/directory
      

3. 用户组管理

  • 创建组

    sudo groupadd groupname
    
  • 将用户添加到组

    sudo usermod -aG groupname username
    
  • 从组中移除用户

    sudo gpasswd -d username groupname
    

4. SSH配置

  • 限制SSH访问: 编辑/etc/ssh/sshd_config文件,设置允许登录的用户或组。

    AllowUsers username1 username2
    AllowGroups groupname
    
  • 禁止root直接登录: 在sshd_config中设置:

    PermitRootLogin no
    
  • 使用公钥认证: 生成SSH密钥对并将公钥添加到用户的~/.ssh/authorized_keys文件中。

    ssh-keygen -t rsa
    ssh-copy-id username@hostname
    

5. 审计和日志

  • 查看SSH登录日志

    sudo tail -f /var/log/secure
    
  • 配置审计规则: 使用auditd服务来监控和记录系统活动。

    sudo systemctl enable auditd
    sudo systemctl start auditd
    sudo auditctl -a exit,always -F arch=b32 -S execve -k processes
    

6. SELinux

  • 启用SELinux(如果尚未启用):

    sudo setenforce 1
    
  • 配置SELinux策略: 编辑/etc/selinux/config文件,设置SELinux模式为enforcingpermissive

通过以上步骤,你可以有效地管理CentOS系统中的用户权限,确保系统的安全性和稳定性。

0