1.什么是用户
能正常登录系统的都算用户
windows系统和linux系统的用户有什么区别?
本质上没有区别,linux支持多个用户同一时刻登录系统,互相之间不影响,而windows只允许同一时刻单个用户登录(WindowsServer2008)
root超级管理员用户
普通用户 多个普通用户能逻辑上分为一个组 当然一个用户也能隶属于多个组
2.为什么创建用户
①.系统上的每一个进程(运行的程序),都需要一个特定的用户运行
②.通常在公司是使用普通用户管理服务器,因为root权限过大,容易造成故障。
3.如何查看系统中所存在的用户
[root@bgx ~]# id #查看当前所登陆的用户信息
uid=0(root) gid=0(root) groups=0(root)
[root@bgx ~]# id oldboy #查看其它用户的信息
uid=1000(oldboy) gid=1000(oldboy) groups=1000(oldboy)
4.创建用户会在系统的那个配置中保存信息
Linux系统会将用户的信息存放在/etc/passwd,记录了用户的信息,但没有密码信息,密码被存放在/etc/shadow中。也就是说这两个文件非常的重要,不要轻易删除与修改。
当创建一个用户时,系统会操作/etc/passwd, /etc/shadow这两个文件
系统对用户有一个约定
用户UID系统中约定的含义
0超级管理员,最高权限,有着极强的破坏能力
1~200系统用户,用来运行系统自带的进程,默认已创建
201~999系统用户,用来运行用户安装的程序,所以此类用户无需登录系统
1000+普通用户,正常可以登陆系统的用户,权限比较小,能执行的任务有限
PS:在CentOS7系统之前, UID1-499用于系统用户, 而UID 500+则用于普通用户
5.如何创建用户,删除用户,修改用户 useradd userdel usermod
1.使用useradd命令新增用户
-u 指定要创建用户的UID,不允许冲突
-g 指定要创建用户默认组
-G 指定要创建用户附加组,逗号隔开可添加多个附加组
-d 指定要创建用户家目录
-s 指定要创建用户的bash shell /bin/bash /sbin/nologin
-c 指定要创建用户注释信息
-M 给创建的用户不创建家目录
-r 创建系统账户,默认无家目录(999-200)
①.创建lh用户,UID5001,基本组students,附加组sa 注释信息:2020 new student,登陆shell为:/bin/bash
groupadd sa
groupadd students
useradd -u 5001 -g students -G sa -c "2020 new student" -s /bin/bash lh
检查
id lh
grep "lh" /etc/passwd
②.创建mysql系统用户,-M不建立用户家目录 -s 指定nologin使其用户无法登陆系统
useradd mysql -M -s /sbin/nologin useradd -r dba -s /sbin/nologin
检查
id mysql
grep "mysql" /etc/passwd
su - mysql
③创建一个oldboyedulh用户,uid 66666,附加组 sa 家目录 /tmp/name 登录的shell为/sbin/nologin
useradd -u 66666 -G sa -d /tmp/name -s /sbin/nologin oldboyedulh
临时关闭SElinux
setenforce 0
2.如何使用usermod命令修改用户信息 (重要程度一般)
-u 指定要修改用户的UID
-g 指定要修改用户基本组
-G 指定要修改用户附加组,使用逗号隔开多个附加组, 覆盖原有的附加组
-d 指定要修改用户家目录
-s 指定要修改用户的bash shell
-c 指定要修改用户注释信息
-l 指定要修改用户的登陆名
-L 指定要锁定的用户
-U 指定要解锁的用户
#修改bgx用户uid、gid,附加组
groupadd -g 5008 network
groupadd -g 5009 devops
usermod oldboyedulh -u 6001 -g5008 -aG 5009 aG追加
#.修改bgx用户的注释信息, 用户家目录, 登录shell, 登录名bxg
usermod oldboyedulh -c "2019 new student" -md /bgx -s /bin/sh -l bxg
md 将家目录移到
检查
grep "bxg" /etc/passwd
#.锁定用户[扩展]echo "123" |passwd --stdin bxgusermod -L bxg #锁定后会无法登陆系统
#.解锁用户[扩展] usermod -U bxg
3.使用userdel命令删除账户
-r 删除用户同时删除它的家目录
#1.删除user1用户,但不删除用户家目录和 mail spooluserdel user1
#2.-r参数可以连同用户家目录一起删除(慎用)userdel -r user1
PS: 当然还有很多命令可以查看用户的信息,以下简单列举一些,但都是我们常用,所以了解即可
1) 使用finger命名查询用户信息以及登录信息,示例: finger UserName
2) 使用chfn命令修改用户信息(注释),示例: chfn UserName
3) 使用chsh命令修改用户登录Bash Shell,示例: chsh UserName
4) 使用who、whoami、w检查用户登陆情况