CentOS虚拟机多用户环境设置指南
使用useradd命令创建用户时,建议添加-m参数自动生成家目录(如/home/username),并可通过-s指定默认shell(如/bin/bash)。例如创建dev1、dev2两个开发用户:
sudo useradd -m -s /bin/bash dev1
sudo useradd -m -s /bin/bash dev2
创建用户组可使用groupadd命令,如为项目创建project_dev组:
sudo groupadd project_dev
将用户添加到组可实现权限共享,使用usermod -aG命令(-a表示追加,避免移除原有组):
sudo usermod -aG project_dev dev1
sudo usermod -aG project_dev dev2
创建用户时直接指定组(主组):
sudo useradd -m -G project_dev dev3
使用passwd命令为用户设置强密码(包含大小写字母、数字、特殊字符,长度≥10位):
sudo passwd dev1
系统会提示输入并确认密码,密码需符合复杂度要求以避免安全风险。
通过chmod设置文件/目录权限(r=4、w=2、x=1),例如:
sudo chmod 744 /path/to/filesudo chmod 750 /path/to/directorysudo chmod u=rwx,g=rx,o= /path/to/file通过chown更改属主/属组,例如将文件属主改为dev1,属组改为project_dev:
sudo chown dev1:project_dev /path/to/file
/usr/bin/passwd),设置命令:sudo chmod u+s /path/to/file/var/www),设置命令:sudo chmod g+s /path/to/directory/tmp),设置命令:sudo chmod +t /path/to/directory或sudo chmod 1777 /path/to/directorywheel组wheel组是CentOS中默认的sudo权限组,将用户添加到该组即可使用sudo执行管理员命令:
sudo usermod -aG wheel dev1
sudo usermod -aG wheel dev2
visudo编辑/etc/sudoersvisudo会检查语法避免配置错误,推荐使用。例如:
dev1所有sudo权限(谨慎使用):dev1 ALL=(ALL) ALLdev2特定命令权限(如重启服务):dev2 ALL=(ALL) /usr/bin/systemctl restart httpd%project_dev ALL=(ALL) /usr/bin/chown, /usr/bin/chmod, /usr/bin/mkdir /var/www/project
禁止用户修改root密码(避免权限滥用):
dev1 ALL=(ALL) ALL, !/usr/bin/passwd root
允许安全管理员组(secadmin)管理防火墙:
%secadmin ALL=(ALL) /usr/bin/firewall-cmd, /usr/sbin/iptables
编辑SSH配置文件/etc/ssh/sshd_config,设置:
PermitRootLogin no
重启SSH服务使配置生效:
sudo systemctl restart sshd
在/etc/profile或用户家目录的.bash_profile中添加:
export TMOUT=180 # 180秒无操作自动注销
使配置生效:
source /etc/profile
编辑/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(带家目录和环境变量)whoamigroups usernamesudo userdel -r username(-r删除家目录及邮件池)sudo groupdel groupname