linux运维、架构之路-linux用户管理
一、 linux系统用户分类
1、分类
①超级用户:root,UID为0
②普通用户:UID是500-65535的用户
③虚拟用户:UID在1-499,一般不能登录,满足文件或服务启动的需要,/sbin/nologin
2、与用户相关的配置文件
[root@svn /]# ll /etc/passwd /etc/shadow /etc/group /etc/gshadow -rw-r--r-- 1 root root 594 Jul 3 14:01 /etc/group #——>用户组的信息 ---------- 1 root root 484 Jul 3 14:01 /etc/gshadow #——>用户组的密码文件信息 -rw-r--r-- 1 root root 1091 Jul 3 13:56 /etc/passwd #——>用户的信息
passwd每列所代表的含义
3、与用户相关的目录和文件
[root@svn /]# ll -a /etc/skel/ #——>创建新用户家目录的模板 drwxr-xr-x. 2 root root 4096 Apr 24 18:33 . drwxr-xr-x. 78 root root 4096 Jul 3 14:01 .. -rw-r--r--. 1 root root 18 Mar 23 08:15 .bash_logout -rw-r--r--. 1 root root 176 Mar 23 08:15 .bash_profile -rw-r--r--. 1 root root 124 Mar 23 08:15 .bashrc
*****企业小案例:请问登录oldboy用户出现如何情况,该如何处理
[root@svn ~]# su - oldboy
-bash-4.1$
-bash-4.1$
解答:原因是这个oldboy用户家目录下的环境变量文件被删除了,只需到/etc/skell/目录下,复制
.bash_profile
.bashrc到当前用户下,然后重新登录oldboy用户即可
二、用户管理命令
1、userad:添加用户
-g 指定用户属于的组
-u 指定用户的UID
-s 指定用户使用的shell解释器,系统默认为/bin/bash,虚拟用户为/sbin/nologin
-M 表示不创建用户家目录
2、userdel:删除用户
工作中一般不用的用户最好在/etc/passwd中注释掉,默认不删除用户的家目录和邮箱,加上-r参数删除与用户有关的所有信息
3、usermod:修改用户信息
-s 修改用户使用的shell
-g 修改用于属于的组
4、passwd为用户设置密码
--stdin 非交互式设置密码 [root@svn /]# echo 123456|passwd --stdin oldboy Changing password for user oldboy. passwd: all authentication tokens updated successfully.
5、groupadd 创建用户组
-g 指定用户组的GID
******企业面试题:批量添加10个用户stu01,stu02……stu10,设置8位随机密码(禁止使用for,while等循环)
方法一: echo stu{01..10}|xargs -n1|sed 's#.*#useradd &;pass=$(date +%N|md5sum |cut -c-8);echo $pass|passwd --stdin &;echo & $pass >>/tmp/pass.log#g' 方法二: seq -w 10|sed 's#.*#useradd &;pass=$(date +%N|md5sum |cut -c-8);echo $pass|passwd --stdin &;echo & $pass >>/tmp/pass.log#g'
三、用户查询命令
1、id查看用户的信息
2、w显示系统中已经远程登录的用户,以及系统的负载信息
3、last哪个用户在什么时候从哪里远程登录你的系统用户登录的信息
四、sudo临时让用户获得root权限
1、sudo –l查看当前用户的sudo权限
2、visudo给用户授予权限(相当于尚方宝剑)
visudo=====vim /etc/sudoers
①授权某一个命令:
oldboy ALL=(ALL) /bin/ls
②授权多个命令
oldboy ALL=(ALL) /bin/ls, /bin/rm, /usr/sbin/useradd
③授权某个目录下面的所有命令,排除某一个
oldboy ALL=(ALL) /sbin/*, ! /sbin/init
④授权所有命令且不用密码
⑤oldboy ALL=(ALL) NOPASSWD:ALL
一般运维人员自己使用的用户
五、记录用户的操作、行为/日志审计
六、CDN概念
成功最有效的方法就是向有经验的人学习!