温馨提示×

centos虚拟机多用户环境设置

小樊
56
2025-09-17 16:49:55
栏目: 云计算

CentOS虚拟机多用户环境设置指南

一、基础用户与组管理

1. 创建用户与组

使用useradd命令创建用户时,建议添加-m参数自动生成家目录(如/home/username),并可通过-s指定默认shell(如/bin/bash)。例如创建dev1dev2两个开发用户:

sudo useradd -m -s /bin/bash dev1
sudo useradd -m -s /bin/bash dev2

创建用户组可使用groupadd命令,如为项目创建project_dev组:

sudo groupadd project_dev

2. 分配用户到组

将用户添加到组可实现权限共享,使用usermod -aG命令(-a表示追加,避免移除原有组):

sudo usermod -aG project_dev dev1
sudo usermod -aG project_dev dev2

创建用户时直接指定组(主组):

sudo useradd -m -G project_dev dev3

3. 设置用户密码

使用passwd命令为用户设置强密码(包含大小写字母、数字、特殊字符,长度≥10位):

sudo passwd dev1

系统会提示输入并确认密码,密码需符合复杂度要求以避免安全风险。

二、权限精细化配置

1. 文件/目录权限管理

通过chmod设置文件/目录权限(r=4、w=2、x=1),例如:

  • 给所有者(user)读写执行权限,组和其他用户(others)只读:sudo chmod 744 /path/to/file
  • 给所有者读写执行,组读执行,其他用户无权限:sudo chmod 750 /path/to/directory
    使用符号模式更直观:sudo chmod u=rwx,g=rx,o= /path/to/file

通过chown更改属主/属组,例如将文件属主改为dev1,属组改为project_dev

sudo chown dev1:project_dev /path/to/file

2. 特殊权限(可选)

  • SUID:允许用户以文件属主身份执行(如/usr/bin/passwd),设置命令:sudo chmod u+s /path/to/file
  • SGID:允许用户以组身份执行或创建文件继承组(如/var/www),设置命令:sudo chmod g+s /path/to/directory
  • Sticky Bit:限制目录内文件只能由创建者删除(如/tmp),设置命令:sudo chmod +t /path/to/directorysudo chmod 1777 /path/to/directory

三、sudo权限管理(最小权限原则)

1. 将用户添加到wheel

wheel组是CentOS中默认的sudo权限组,将用户添加到该组即可使用sudo执行管理员命令:

sudo usermod -aG wheel dev1
sudo usermod -aG wheel dev2

2. 使用visudo编辑/etc/sudoers

visudo会检查语法避免配置错误,推荐使用。例如:

  • 授予dev1所有sudo权限(谨慎使用):dev1 ALL=(ALL) ALL
  • 授予dev2特定命令权限(如重启服务):dev2 ALL=(ALL) /usr/bin/systemctl restart httpd
  • 实现权限分离(如项目管理员只能管理项目目录):
    %project_dev ALL=(ALL) /usr/bin/chown, /usr/bin/chmod, /usr/bin/mkdir /var/www/project
    

3. 最小权限示例

禁止用户修改root密码(避免权限滥用):

dev1 ALL=(ALL) ALL, !/usr/bin/passwd root

允许安全管理员组(secadmin)管理防火墙:

%secadmin ALL=(ALL) /usr/bin/firewall-cmd, /usr/sbin/iptables

四、登录安全强化

1. 禁止root远程登录

编辑SSH配置文件/etc/ssh/sshd_config,设置:

PermitRootLogin no

重启SSH服务使配置生效:

sudo systemctl restart sshd

2. 设置用户会话超时

/etc/profile或用户家目录的.bash_profile中添加:

export TMOUT=180  # 180秒无操作自动注销

使配置生效:

source /etc/profile

3. 强制密码策略

编辑/etc/login.defs,设置密码有效期(如90天)、最小长度(如10位):

PASS_MAX_DAYS 90
PASS_MIN_LEN 10

修改现有用户密码策略:

sudo chage -M 90 dev1
sudo chage -m 10 dev1

五、常用操作命令

  • 切换用户su - username(带家目录和环境变量)
  • 查看当前用户whoami
  • 查看用户所属组groups username
  • 删除用户sudo userdel -r username-r删除家目录及邮件池)
  • 删除组sudo groupdel groupname

0