一、简介
在Linux服务器管理中,不建议直接向开发人员提供root账号,原因有多个
1、安全性:root账号拥有系统上的最高权限,可以执行任何操作,包括删除重要文件、修改系统配置、安装恶意软件等。如果开发人员不小心或恶意滥用root权限,可能会导致严重的安全问题。
2、责任划分:使用普通用户而非root账号,可以让系统管理员更容易追踪谁做了什么操作。每个用户有自己的账号,他们的活动会被记录在系统日志中,便于审计。
3、最小权限原则:根据最小权限原则,每个用户应该只拥有完成其工作所需的最小权限。直接使用root账号则违反了这一原则,增加了风险。
4、误操作风险:开发人员的主要工作是开发应用程序,而不是系统管理。如果开发人员不熟悉系统管理的最佳实践,他们可能会无意中做出有害的操作。
5、合规性:很多行业标准和法规要求严格控制超级用户的访问权限。直接分配root权限可能会违反这些规定。
6、易于管理:为开发人员创建专用账户,可以根据他们的具体需求定制权限,而不是给予全面的root权限。这样可以更好地管理用户权限,并减少因权限过多而带来的潜在风险。
二、解决办法
创建普通用户账号:为开发人员创建一个普通用户账号,并根据需要加入相应的用户组。
创建用户办法Linux命令
adduser userName
使用adduser命令添加用户,用户名最好见闻知意
添加完毕后打开/home目录,可以看到已经自动创建与用户名同名的用户目录。
设置新增账户的密码命令
sudo passwd lhsaction
使用命令后会让输入密码以及确认密码,密码一定要包含字母、数字、符号三种,安全级别要够。
设置完毕密码后设置账户权限
添加的用户可以通过修改 /etc/sudoers 文件内容添加用户权限。
命令
sudo vim /etc/sudoers
注意,sudoers文件一般情况下即便是root用户也是没有写入权限的,要先授权。
sudo chmod u+w /etc/sudoers
授权完毕后打开可以看到
lighthouse ALL=(ALL) NOPASSWD: ALL或者 root ALL=(ALL) ALL
在其下面添加 “xxx ALL=(ALL) ALL” (这里的 xxx是你的用户名),然后保存退出。
lhsaction ALL=(ALL) ALL
修改完毕后撤销root账户对sudoers的修改权限
sudo chmod u-w /etc/sudoers
这个时候就可以使用新创建的用户登录服务器了。
下篇文章介绍使用新建用户搭建Javaweb开发环境,包括Java、nginx、MySQL、maven、git、node.js的安装等等。