温馨提示×

centos虚拟机权限设置

小樊
71
2025-09-22 01:42:50
栏目: 云计算

CentOS虚拟机权限设置指南

一、用户与组权限基础配置

1. 创建用户并设置密码

使用useradd命令创建新用户(如myuser),并通过passwd命令设置密码:

sudo useradd myuser      # 创建用户
sudo passwd myuser       # 设置密码(需输入两次)

2. 将用户加入sudoers组(CentOS使用wheel组)

CentOS中,sudo权限通过wheel组管理。将用户添加到wheel组,使其获得sudo权限:

sudo usermod -aG wheel myuser  # -aG表示追加到组(不删除原有组)

注意:添加后需重新登录用户,使组权限生效。

二、sudo权限精细化管理

1. 使用visudo安全编辑sudoers文件

visudo是编辑/etc/sudoers安全命令(会检查语法,避免配置错误)。默认情况下,wheel组已被允许使用sudo(需取消注释%wheel ALL=(ALL) ALL行):

sudo visudo

找到以下行(通常在文件中部),确保未被注释:

%wheel ALL=(ALL) ALL  # 允许wheel组用户以root身份执行所有命令

2. 自定义用户权限(可选)

  • 限制用户执行特定命令:如仅允许myuser重启httpd服务,可添加:
    myuser ALL=(ALL) NOPASSWD: /usr/sbin/systemctl restart httpd, /usr/sbin/systemctl stop httpd
    
    NOPASSWD:表示执行该命令无需输入密码,慎用)。

三、文件与目录权限设置

1. 更改文件/目录所有者

将文件或目录的所有权转移给指定用户(如myuser)和组(如mygroup):

sudo chown -R myuser:mygroup /path/to/directory  # -R表示递归修改(适用于目录)

2. 调整文件/目录权限

使用chmod设置权限,常见场景:

  • 目录权限:允许所有者读写执行,同组用户读执行,其他用户读执行:
    sudo chmod -R 755 /var/www/html  # -R递归修改(如网站目录)
    
  • 文件权限:允许所有者读写,其他用户只读:
    sudo chmod 644 /etc/config.conf
    

3. 共享文件夹权限(VirtualBox场景)

若需在VirtualBox中共享宿主机文件夹,需完成以下步骤:

  1. 安装VirtualBox Guest Additions:在虚拟机中运行sudo yum install -y virtualbox-guest-additions,并按提示安装。
  2. 配置共享文件夹:在VirtualBox的“设置→共享文件夹”中,添加共享路径(如host_share),勾选“自动挂载”和“永久”。
  3. 挂载共享文件夹:在虚拟机中创建挂载点(如/mnt/share),并挂载:
    sudo mkdir /mnt/share
    sudo mount -t vboxsf host_share /mnt/share
    
  4. 授权用户访问:将用户加入vboxsf组(共享文件夹的默认组):
    sudo usermod -aG vboxsf myuser
    
    (重新登录后生效)。

四、安全加固措施

1. 禁用root直接登录

编辑SSH配置文件(/etc/ssh/sshd_config),将PermitRootLogin设置为no

sudo vi /etc/ssh/sshd_config

修改以下行:

PermitRootLogin no  # 禁止root通过SSH直接登录

重启SSH服务使配置生效:

sudo systemctl restart sshd

2. 强化密码策略

修改/etc/login.defs文件,设置密码复杂度要求:

sudo vi /etc/login.defs

调整以下参数:

PASS_MIN_LEN 12     # 密码最小长度12位
PASS_REQUIRE_MIX 1  # 要求包含大小写字母、数字和特殊字符

3. 启用SELinux

SELinux是CentOS的强制访问控制(MAC)系统,能有效降低权限滥用风险:

  • 检查SELinux状态:
    getenforce  # 显示Enforcing(启用)/Permissive(宽松)/Disabled(禁用)
    
  • 若未启用,修改配置文件(/etc/selinux/config):
    sudo vi /etc/selinux/config
    
    SELINUX=disabled改为SELINUX=enforcing,然后重启系统。

五、权限问题排查

  • 检查用户所属组:使用id命令查看用户所属组,确认是否包含wheel组:
    id myuser
    
  • 测试sudo权限:运行sudo -l -U myuser查看用户sudo权限,或执行sudo whoami(成功则显示root)。

0