Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
一、Linux的用户操作
在root账号登录的情况下,查看当前有几个用户,首先进入到/home目录下,使用ls命令列出用户:
cd /home
ls
新建一个用户名为vainycos的账号
useradd vainycos
分配密码,并需要输入两次密码进行校验:
passwd vainycos
需要注意的是密码中不能出现与用户名一样的字符,且不能用简单的密码,不然会提示你密码太过简单修改失败
最终,我将密码设置为qaz134679
二、分配用户权限
将/usr/local/apache-tomcat-8.5.31目录及其子文件夹都开放给所有用户访问、更改和控制:
chmod -R 777 /usr/local/apache-tomcat-8.5.31
更改文件的所有者信息,例如将/usr/local/apache-tomcat-8.5.31目录的所有者信息从root更改为vainycos,由于目前没有涉及到群组概念,所以群组和用户名都是同一个:
chown vainycos:vainycos /usr/local/apache-tomcat-8.5.31
三、删除用户
若需要删除用户,则直接执行以下命令即可:
userdel -r vainycos
有个小插曲,一开始执行userdel命令的时候没有加-r参数,直接执行了userdel vainycos,实际上用户已经删除了,但是关联用户的文件夹都还保留着,即进入到/home目录下还是能够看到用户文件夹,这个时候就需要手动删除用户文件夹:
rm -rf /home/vainycos/
所以,还是推荐使用userdel -r vainycos来进行用户删除。
四、操作历史日志
我们为了检测各个分配出去的用户在服务器上做了哪些操作,这就需要我们设置按照用户名为文件夹记录每一次登录服务器后使用了哪些命令,一共只需要两步:
- 编辑/etc/profile文件
vim /etc/profile
- 在该文件结尾加上以下内容
history
USER=`whoami`
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
if [ "$USER_IP" = "" ]; then
USER_IP=`hostname`
fi
if [ ! -d /var/log/history ]; then
mkdir /var/log/history
chmod 777 /var/log/history
fi
if [ ! -d /var/log/history/${LOGNAME} ]; then
mkdir /var/log/history/${LOGNAME}
chmod 300 /var/log/history/${LOGNAME}
fi
export HISTSIZE=4096
DT=`date +"%Y%m%d_%H:%M:%S"`
export HISTFILE="/var/log/history/${LOGNAME}/${USER}@${USER_IP}_$DT"
chmod 600 /var/log/history/${LOGNAME}/*history* 2>/dev/null
以上内容表示会将操作日志记录在/var/log/history下,该目录可自定义。
之后我们就能够看到以用户名为文件夹,记录每一次登录上线后执行了哪些命令。
五、总结
分配用户权限能够有效保护root账号的安全,面对chmod文件夹权限分配的读写执行的数字对应表仍然需要通过熟练操作后进行熟记。
参考资料: