用户基本概述
用户指的是能够正常登陆Linux和Windows系统
1.区别:本质都是登录系统
linux:可以创建多个用户,允许同一时刻多个用户同时登陆,登陆之后相互操作并不影响
windows:可以创建多个用户,但不允许同一时刻多个用户登陆系统
root 超级管理员用户
普通用户 多个普通用户能逻辑上分为一个组 当然一个用户也能隶属于多个组
2.创建用户的作用
系统上的每一个进程(运行的程序),都需要一个特定的用户运行
通常在公司是使用普通用户管理服务器,因为root权限过大,容易造成故障
3.查看系统中国所存在的用户
(1)查看当前登录的用户信息 #id
(2)每一个进程都会由一个用户身份运行
4.用户存在的位置
linux系统会将用户的信息存放在/etc/passwd,记录了用户的信息,但没有密码,密码被存放在/etc/shadow中,也就是说这两个文件非常的重要,不要轻易删除和修改
(1)/etc/passwd配置文件解释
(2)/etc/shadow配置文件解释
5.系统对用户的约定
PS:在CentOS7之前,UID1-499用于系统用户,而UID 500+则用于普通用
用户相关命令
用户的创建(useradd)、变更(usermod)、删除(userdel)
useradd 添加用户
选项
-u 指定要创建用户的UID,不允许冲突
-g 指定要创建用户默认组(基本组 主要的组)
-G 指定要创建用户附加组,逗号隔开可添加多个附加组
-d 指定要创建用户家目录
-s 指定要创建用户的bash shell /bin/bash /sbin/nologin
-c 指定要创建用户注释信息
-M 给创建的用户不创建家目录
-r 创建系统账户,默认无家目录 【999-200】
PS:UID GID 在整个系统是唯一的
例如:
创建bgx用户,UID5001,基本组students,附加组sa 注释信息:2019-8-5,登陆shell:/bin/bash
[root@oldboy ~]# useradd bgx -u5001 -g students -G sa -c "2019-8-5" -s /bin/bash
[root@oldboy ~]# id bgx
uid=5001(bgx) gid=1000(students) groups=1000(students),1001(sa)
[root@oldboy ~]# grep "bgx" /etc/passwd
bgx:x:5001:1000:2019-8-5:/home/bgx:/bin/bash
2.创建mysql系统用户,-M不建立用户家目录 -s指定nologin使其用户无法登陆系统
[root@oldboy ~]# useradd -r -M -s /sbin/nologin mysql
[root@oldboy ~]# id mysql
uid=998(mysql) gid=994(mysql) groups=994(mysql)
[root@oldboy ~]# grep "mysql" /etc/passwd
mysql:x:998:994::/home/mysql:/sbin/nologin
[root@oldboy ~]# su - mysql #检查登陆,登陆失败
This account is currently not available.
usermod 修改用户
选项
-u 指定要修改用户的UID,不允许冲突
-g 指定要修改用户默认组(基本组 主要的组)
-G 指定要修改用户附加组,逗号隔开可添加多个附加组 -aG 追加
-d 指定要修改用户家目录 -md 旧家搬新家
-s 指定要修改用户的bash shell /bin/bash /sbin/nologin
-c 指定要修改用户注释信息
-l 指定要修改用户的登陆名
-L 指定要锁定的用户
-U 指定要解锁的用户
例如:
1.检查之前创建的bgx用户,修改bgx用户的UID 9999,GID(devops),附加组dba sa dsb
[root@oldboy ~]# groupadd devops
[root@oldboy ~]# groupadd dba
[root@oldboy ~]# groupadd sa
[root@oldboy ~]# groupadd dsb
[root@oldboy ~]# usermod od -u9999 -g devops -aG dba,sa,dsb
修改bgx用户的注释信息,用户家目录,登陆shell,登陆名
[root@oldboy ~]# usermod bgx -c "oldboyedu.com" -md/home/oldboy -s /bin/bash -l oldboy
[root@oldboy~]# grep "oldboy" /etc/passwd
oldboy:x:9999:6668:oldboyedu.com:/home/oldboy:/bin/bash
userdel 删除用户
选项
-r 删除用户同时删除它的家目录(慎用)
PS:于用户相关的还有很多命令(了解)
1.使用finger命令查询用户信息以及登陆信息
2.使用chfn命令修改用户信息
3.使用chsh命令修改用户登陆Bash Shell
4.使用who、whoami、w检查用户登陆情况