温馨提示×

centos用户账户如何管理

小樊
59
2025-09-17 22:20:38
栏目: 智能运维

CentOS用户账户管理指南

一、用户账户基础管理

1. 创建用户账户

使用useradd命令创建用户,常用选项包括:

  • -m:自动创建家目录(默认路径为/home/用户名);
  • -g:指定主组(需提前用groupadd创建);
  • -G:添加附加组(多个组用逗号分隔);
  • -u:指定UID(用户ID,需唯一)。
    示例:创建用户tom,自动创建家目录,主组为developers,附加组为admins
    sudo useradd -m -g developers -G admins -u 1005 tom

2. 设置/修改用户密码

使用passwd命令为用户设置密码:
sudo passwd tom
系统会提示输入并确认新密码(密码需符合复杂度要求,如包含大小写字母、数字和特殊字符)

3. 删除用户账户

使用userdel命令删除用户,常用选项:

  • -r:同时删除用户家目录及邮件池(/var/spool/mail/用户名)。
    示例:彻底删除用户tom及其家目录:
    sudo userdel -r tom
    注意:删除前需确认用户未登录系统(可通过wwho命令查看)

4. 修改用户信息

使用usermod命令调整用户属性,常用选项:

  • -l:修改登录名(如将tom改为tommy);
  • -d:修改家目录路径(需配合-m保留原目录内容);
  • -g:修改主组;
  • -G:修改附加组(需用-a追加,避免覆盖原有组);
  • -s:修改默认shell(如改为/sbin/nologin禁止登录)。
    示例:将tom的登录名改为tommy,家目录改为/home/tommy
    sudo usermod -l tommy -d /home/tommy -m tom

二、用户组管理

1. 创建用户组

使用groupadd命令创建组:
sudo groupadd developers
示例:创建名为developers的用户组

2. 删除用户组

使用groupdel命令删除组:
sudo groupdel developers
注意:若组内有用户,需先将用户移出组(用usermod -G

3. 管理用户与组的关系

  • 添加用户到组:用usermod -aG-a表示追加,避免覆盖原有组);
    示例:将tom添加到admins组:
    sudo usermod -aG admins tom
  • 从组中移除用户:用gpasswd -d
    示例:将tomadmins组移除:
    sudo gpasswd -d tom admins
  • 查看用户所属组:用groupsid命令;
    示例:查看tom的所属组:
    groups tomid tom

三、权限与访问控制

1. 文件/目录权限管理

  • 修改所有者/组:用chown(修改所有者)、chgrp(修改所属组);
    示例:将/data目录所有者改为tom,组改为developers
    sudo chown tom:developers /data
  • 修改权限:用chmod(符号或数字模式);
    示例:给所有者读写执行权限,组和其他用户读执行权限:
    chmod 755 /datachmod u=rwx,g=rx,o=rx /data

2. sudo权限管理

  • 赋予sudo权限:将用户添加到wheel组(默认有sudo权限);
    示例:将tom加入wheel组:
    sudo usermod -aG wheel tom
  • 自定义sudo规则:用visudo安全编辑/etc/sudoers文件;
    示例:允许tom以root身份执行所有命令:
    tom ALL=(ALL) ALL
    示例:允许tom仅重启httpd服务:
    tom ALL=(ALL) /usr/sbin/restart httpd

3. ACL(访问控制列表)

  • 启用ACL:若文件系统未启用ACL,需修改挂载选项(如/etc/fstab中添加acl);
    示例:临时启用ACL:
    sudo mount -o remount,acl /
  • 设置ACL权限:用setfacl
    示例:给tom用户对/data目录读写权限:
    sudo setfacl -m u:tom:rw /data
    示例:给developers组对/data目录执行权限:
    sudo setfacl -m g:developers:x /data
  • 查看ACL权限:用getfacl
    示例:查看/data目录的ACL设置:
    getfacl /data

四、高级管理技巧

1. 密码策略管理

使用chage命令设置密码过期策略:

  • -E:设置密码过期日期(格式YYYY-MM-DD);
  • -M:设置密码有效期(天数);
  • -W:设置密码过期前警告天数。
    示例:设置tom的密码有效期为90天,过期前7天警告:
    sudo chage -M 90 -W 7 tom

2. 用户登录审计

  • 查看登录历史:用last命令(显示用户登录时间、IP等信息);
    示例:查看tom的登录历史:
    last tom
  • 实时监控登录:用whow命令(显示当前登录用户及操作);
    示例:查看当前登录用户:
    whow

3. SELinux安全管理

  • 查看SELinux状态:用sestatus(显示是否启用);
  • 临时关闭SELinux:用setenforce 0(重启后恢复);
  • 永久关闭SELinux:编辑/etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled,然后重启系统

0