LinuxLinux学习之路Hyman7和他的Linux学习之路

Day08-用户管理1(Linux系统的用户是什么),usera

2019-08-05  本文已影响25人  郝煜_Hyman

1.什么是用户?

能正常登陆系统的都算用户


2.为什么要创建用户?

1.系统上的每一个进程(运行的程序),都需要一个特定的用户运行。
2.通常在公司是使用普通用户管理服务器,因为root权限过大,容易造成故障。


3.如何查看系统中所存在的用户?

[root@haoyu1 ~]# id   #id默认是查看当前用户的信息
uid=0(root) gid=0(root) groups=0(root) 
[root@haoyu1 ~]# id hyman1   #查看用户hyman1的信息
uid=6667(hyman1) gid=6667(hyman1) groups=6667(hyman1)

4.创建用户会在系统的哪个配置中保存信息?

当创建一个用户时,系统会操作/etc/passwd /etc/shadow 这两个文件,变更文件中的内容。

[root@haoyu1 ~]# head -1 /etc/passwd #查看/etc/passwd的第一行
root:x:0:0:root:/root:/bin/bash #以:作为分隔符,总共七列
root:x:0:0:root:/root:/bin/bash #以:作为分隔符,总共七列
第一列 root:用户名称
第二列 x:密码占位符
第三列 0:用户UID
第四列 0:组GID
第五列 root注释信息
第六列 /root用户家目录
第七列 /bin/bash登录shell
[root@haoyu1 ~]# head -1 /etc/shadow #查看/etc/shadow的第一行
hyman1:!!:16312:0:99999:7:2:66275: #以:作为分隔符,总共九列
hyman1:!!:16312:0:99999:7:2:66275:
第一列 hyman1:用户名称
第二列 !!:密码为一长串字符,!!则表示无密码
第三列 16312:最近一次变更密码,从1970年到现在,过了多少天
第四列 0:密码最少使用天数,0无限制
第五列 99999:密码最长使用天数,默认99999不过期
第六列 7:密码到期前,系统会在密码到期前7天提醒变更密码
第七列 2:密码到期后,密码过期后2天强制提示变更用户密码
第八列 66275:账户失效时间,从1970年起,账户在这个日期前可使用,到期后失效

5.系统对用户有一个约定?

用户UID 系统中约定的含义
0 超级管理员,最高权限,有着极强的破坏能力
1~200 系统用户,用来运行系统自带的进程,默认已创建
201~999 系统用户,用来运行用户安装的程序,所以此类用户无需登录系统
1000+ 普通用户,正常可以登录系统的用户,权限比较小,能执行的任务有限

PS:在CentOS7系统之前,UID1-499用于系统用户,而UID500+则用于普通用户。


6.下面我们就围绕着用户的创建、变更、删除等来讲讲涉及到的命令: useradd、usermod、userdel

useradd添加用户

1.创建bgx用户,UID5001,基本组students,附加组sa 注释信 息:2019 new student,登陆shell:/bin/bash
[root@hyman1 ~]# groupadd students 
[root@hyman1 ~]# groupadd sa
[root@hyman1 ~]# useradd oldxu -u5001 -g students G sa -c "2020 new" -s /bin/bash
[root@hyman1 ~]# id oldxu 
uid=5001(oldxu) gid=1003(students) groups=1003(students),1004(sa)
[root@hyman1 ~]# grep "oldxu" /etc/passwd 
oldxu:x:5001:1003:2020 new:/home/oldxu:/bin/bash
2.创建mysql系统用户,-M不建立用户家目录 -s指定nologin使其用户无法登陆系统
[root@hyman1 ~]# useradd -r  -M -s /sbin/nologin   mysql
[root@hyman1 ~]# id mysql 
uid=997(mysql) gid=995(mysql) groups=995(mysql)
[root@hyman1 ~]# grep "mysql" /etc/passwd
mysql:x:997:995::/home/mysql:/sbin/nologin
[root@hyman1 ~]# su - mysql 
This account is currently not available.
3.创建一个xlw用户,uid为6666,附加组为sa,用户的家目录 为/tmp/xlw 登陆的shell为/sbin/nologin
[root@hyman1 ~]# useradd od -u 777 -G sa -d /tmp/od -s /sbin/nologin

PS: UID GID 在整个系统是唯一的。

useradd命令的选项
-u 指定要创建用户的UID,不允许冲突
-g 指定要创建用户的默认组(基本组)
-G 指定要创建用户的附加组,逗号隔开可添加多个附加组
-d 制定要创建用户的家目录
-s 指定要创建用户的bash shell /bin/bash /sbin/nologin
-c 指定要创建用户的注释信息
-M 给创建的用户不创建家目录
-r 创建系统用户,默认无家目录 [999-200]

usermod修改用户[重要程度一般]

1.检查之前创建的od用户
[root@hyman1 ~]# id od 
uid=777(od) gid=6667(od) groups=6667(od),1004(sa)
2.修改od用户uid 9999、gid (devops),附加组 dba,sa,dsb
[root@hyman1 ~]# groupadd devops 
[root@hyman1 ~]# groupadd dba 
[root@hyman1 ~]# groupadd sa 
[root@hyman1 ~]# groupadd dsb 
[root@hyman1 ~]# usermod od -u9999 -g devops -aG dba,sa,dsb
3.修改od用户的注释信息, 用户家目录, 登录shell, 登录名
[root@hyman1 ~]# usermod od -c "oldboyedu.com" -md /home/oldboy -s /bin/bash -l oldboy
[root@hyman1 ~]# grep "oldboy" /etc/passwd
oldboy:x:9999:6668:oldboyedu.com:/home/oldboy:/bin/bas h
usermod命令的选项
-u 指定要修改用户的UID
-g 指定要修改用户基本组
-G 指定要修改用户附加组,使用逗号隔开,覆盖原有的附加组
-aG 追加指定用户的附加组(不覆盖)
-d 指定要修改用户家目录 -md 旧家搬新家
-s 指定要修改用户的bash shell
-c 指定要修改用户的注释信息
-l 指定要修改用户的登录名
-L 指定要锁定的用户
-U 指定要解锁的用户

userdel删除用户

选项 -r 删除用户同时删除它的家目录

1.删除user1用户,但不删除用户家目录和 mail spool
[root@hyman1 ~]# userdel user1
2.-r参数可以连同用户家目录一起删除(慎用)
[root@hyman1 ~]# userdel -r user1

PS: 与用户相关的还有很多命令,以下简单列举一些,但都不是常用 命令,所以了解即可。

[root@hyman1 ~]# 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@hyman1 ~]# whoami #当前登录系统的用户是
root
[root@haoyu1 ~]# w  #用于显示已经登陆系统的用户列表,并显示用户正在执行的指令。
 17:50:39 up  6:23,  3 users,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    10.0.0.1         11:27    7.00s  0.09s  0.02s w
root     pts/1    10.0.0.1         17:50   33.00s  0.00s  0.00s -bash
hyman1   pts/2    10.0.0.1         17:50    3.00s  0.01s  0.01s -bash
w命令各项代表的意思
上一篇 下一篇

猜你喜欢

热点阅读