用户的定义以及相关的配置文件
1.什么是用户?
能正常登陆系统的都算用户
windows系统和linux系统的用户有什么区别?
本质上没有区别, linux支持多个用户同一时刻登陆系统, 互相之间不影响
而windows只允许同一时刻不允许多个用户登录.root 超级管理员用户 普通用户 多个普通用户能逻辑上分为一个组 当然一个用户也能隶属于多个组
2.为什么要创建用户?
1.系统上的每一个进程(运行的程序),都需要一个特定的用户运行
2.通常在公司是使用普通用户管理服务器,因为root权限过大,容易造成故障。
3.如何查看系统中所存在的用户
[root@oldboyedu ~]# id
uid=0(root) gid=0(root) groups=0(root)
[root@oldboyedu ~]# id zy
uid=1000(zy) gid=1000(zy) groups=1000(zy)
4.创建用户会在系统的哪个配置中保存信息当创建一个用户时,系统会操作/etc/passwd /etc/shadow 这两个文件,变更文件中的内容
[root@oldboyedu ~]# awk -F ":" 'NR ==1{print
2,
4,
6, $7}' ==/etc/passwd==
root x 0 0 root /root /bin/bash
用户名 密码占位 UID GID 注释信息 用户的家目录 bash的登录
[root@oldboyedu ~]# tail -1 ==/etc/shadow==
zy : !! : 18113 : 0 : 99999 : 7 : : :
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
useradd、usermod、userdel用户的添加修改和删除
useradd添加用户
1.创建用户
-
创建一个用户oldman;UID6666;基本组students;附加组type ;注释信息:I am studying Linux;登陆shell:/bin/bash
[root@oldboyedu ~]# useradd oldman -u 6666 -g student -G type -c "I am studying Linux" -s /bin/bash
-
检查用户
[root@oldboyedu ~]# id oldman
uid=6666(oldman) gid=1004(student) groups=1004(student),1005(type)
[root@oldboyedu ~]# grep 'oldman' /etc/passwd
oldman:x:6666:1004:I am studying Linux:/home/oldman:/bin/bash
2.创建mysql系统用户,-M不建立用户家目录 -s指定nologin使其用户
无法登陆系统
[root@oldboyedu ~]# useradd -r -M -s /sbin/nologin
mysql
检查用户
[root@oldboyedu ~]# id mysql
uid=997(mysql) gid=995(mysql) groups=995(mysql)
[root@oldboyedu ~]# grep "mysql" /etc/passwd
mysql:x:997:995::/home/mysql:/sbin/nologin
模拟登陆.登陆失败
[root@oldboyedu ~]# su - mysql
This account is currently not available.
3.创建一个xlw用户,uid为6666,附加组为sa,用户的家目录为/tmp/xlw 登陆的shell为/sbin/nologin
[root@oldboyedu ~]# useradd od -u 777 -G sa -d /tmp/od -s /sbin/nologin
UID GID 在整个系统是唯一的
选项
-u 指定要创建用户的UID,不允许冲突
-g 指定要创建用户默认组(基本组 主要的组)
-G 指定要创建用户附加组,逗号隔开可添加多个附加组
-d 指定要创建用户家目录
-s 指定要创建用户的bash shell /bin/bash /sbin/nologin
-c 指定要创建用户注释信息
-M 给创建的用户不创建家目录
-r 创建系统账户,默认无家目录 [999-200]
usermod修改用户[重要程度一般]
1.检查之前创建的od用户
[root@oldboyedu ~]# id od
uid=777(od) gid=6667(od) groups=6667(od),1004(sa)
2.修改od用户uid 9999、gid (devops),附加组 dba,sa,dsb
[root@oldboyedu ~]# groupadd devops
[root@oldboyedu ~]# groupadd dba
[root@oldboyedu ~]# groupadd sa
[root@oldboyedu ~]# groupadd dsb
[root@oldboyedu ~]# usermod od -u9999 -g devops -aG
dba,sa,dsb
3.修改od用户的注释信息, 用户家目录, 登录shell, 登录名
[root@oldboyedu ~]# usermod od -c "oldboyedu.com" -md
/home/oldboy -s /bin/bash -l oldboy
[root@oldboyedu ~]# grep "oldboy" /etc/passwd
oldboy:x:9999:6668:oldboyedu.com:/home/oldboy:/bin/bash
选项
-u 指定要修改用户的UID
-g 指定要修改用户基本组
-G 指定要修改用户附加组,使用逗号隔开多个附加组, 覆盖原有的附加组 -aG 追加
-s 指定要修改用户的bash shell# -c 指定要修改用户注释信息
-l 指定要修改用户的登陆名
-L 指定要锁定的用户
-U 指定要解锁的用户
-d 指定要修改用户家目录 -md 旧家搬新家
userdel删除用户
选项 -r 删除用户同时删除它的家目录
1.删除user1用户,但不删除用户家目录和 mail spool
[root@oldboyedu ~]# userdel user1
2.-r参数可以连同用户家目录一起删除(慎用)
[root@oldboyedu ~]# userdel -r user1
涉及到的命令
1.使用finger命名查询用户信息以及登录信息,
示例: finger UserName
2.使用chfn命令修改用户信息,示例: chfn UserName
3.使用chsh命令修改用户登录Bash Shell,示例: chsh UserName
4.使用who、whoami、w检查用户登陆情况
[root@oldboyedu ~]# who
root pts/0 2019-08-05 08:59 (10.0.0.1)
root pts/1 2019-08-05 10:14 (10.0.0.1)
root pts/2 2019-08-05 12:26 (10.0.0.1)
当前登录系统的用户是
[root@oldboyedu ~]# whoami
root
查看当前登陆的各个用户的信息和对系统的负载情况
[root@oldboyedu ~]# w
21:07:15 up 1 min, 1 user, load average: 1.24, 0.75, 0.30
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 10.0.0.1 21:07 3.00s 0.08s 0.04s w