day8-Linux用户管理

1.什么是用户?
2.为什么要创建用户?
3.如何查看当前用户的详请?
4.创建用户会在系统的哪个配置中保存信息
5.如何创建用户、删除用户、修改用户?

1.什么是用户?

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

Windows系统和Linux系统的用户有什么区别?

  • 本质上没有区别,linux支持多个用户同一时刻登录系统,互相之间不影响
  • 而Windows不允许同一时刻多个用户登录(WindowsServer 2008除外)


    image.png

    root 超级管理员用户
    普通用户 多个普通用户能逻辑上分为一个组,当然一个用户也能隶属于多个组

2.为什么要创建用户?

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

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

[root@oldboyedu ~]# id
uid=0(root) gid=0(root) groups=0(root)
[root@oldboyedu ~]# id oldboy
uid=1000(oldboy) gid=1000(oldboy) groups=1000(oldboy)

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

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

image.png

image.png

5.如何创建用户、删除用户、修改用户?

系统对用户有一个约定?

image.png

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

useradd添加用户

#1. 创建bgxy用户,UID5001,基本组students,附加组sa,注释信息:2019 new student,登陆shell:/bin/bash

[root@oldboyedu ~]# groupadd students
[root@oldboyedu ~]# groupadd sa

[root@oldboyedu ~]# useradd bgx -u5001 -g >students -G sa -c  "2019 new student" -s >/bin/bash

#检查用户

[root@oldboyedu ~]# id bgx
uid=5001(bgx) gid=1001(students) >groups=1001(students),1002(sa)

[root@oldboyedu ~]# grep "bgx" /etc/passwd
bgx:x:5001:1001:2019 new >student:/home/bgx:/bin/bash

#3.创建mysql系统用户,-M不建立用户家目录 -s指定nologin使其用户无法登陆系统

[root@oldboyedu ~]# useradd >mysql -r -M -s /sbin/nologin

#检查用户

[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:/sb>in/nologin

#模拟登陆,登陆失败

[root@oldboyedu ~]# su mysql
This account is currently not >available.

#3.创建一个xlw用户,UID为6666,附加组为sa,用户家目录为/tmp/xiw 登陆的shell为/sbin/nolgin

[root@oldboyedu ~]# useradd xlw >-u6666 -G sa -d /tmp/xlw -s >/sbin/nologin
[root@oldboyedu ~]# id xlw
uid=6666(xlw) gid=6666(xlw) >groups=6666(xlw),1002(sa)
[root@oldboyedu ~]# grep "xlw" >/etc/passwd
xlw:x:6666:6666::/tmp/xlw:/sbin/no>login

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

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

#1.检查之前创建的xlw用户

[root@oldboyedu ~]# id xlw
uid=6666(xlw) gid=6666(xlw) groups=6666(xlw),1002(sa)

#2.修改xlw用户uid 9999,gid (devops),附加组 dba,sa,dsb

[root@oldboyedu ~]# groupadd devops
[root@oldboyedu ~]# groupadd dba
[root@oldboyedu ~]# groupadd dsb
[root@oldboyedu ~]# usermod xlw -u9999 -g devops -aG >dba,sa,dsb

#3.修改xlw用户的注释信息,用户家目录, 登录shell, 登录名

[root@oldboyedu ~]#  usermod xlw -c "oldboyedu.com" -md /home/oldboy -s /bin/bash -l oldboy

[root@oldboyedu ~]# grep "xlw" /etc/passwd
oldboy:x:9999:6668:oldboyedu.com:/home/oldboy:/bin/bash

#选项
# -u 指定要修改用户的UID
# -g 指定要修改用户基本组
# -G 指定要修改用户附加组,使用逗号隔开多个附加组, 覆盖原有的附加组 -aG 追加
# -d 指定要修改用户家目录 -md 旧家搬新家
# -s 指定要修改用户的bash shell
# -c 指定要修改用户注释信息
# -l 指定要修改用户的登陆名
# -L 指定要锁定的用户
# -U 指定要解锁的用户

userdel删除用户

#选项 -r 删除用户同时删除它的家目录
#1.删除user1用户,但不删除用户家目录和 mail spool

[root@bgx ~]# userdel user1

#2.-r参数可以连同用户家目录一起删除(慎用)

[root@bgx ~]# userdel -r user1

PS: 与用户相关的还有很多命令,以下简单列举一些,但都不是>常用命令,所以了解即可
(1) 使用finger命名查询用户信息以及登录信息,
示例: finger UserName
(2) 使用who、whoami、w检查用户登陆情况

[root@oldboyedu ~]# who
root     pts/0        2019-08-05 11:47 (10.0.0.1)
root     pts/1        2019-08-05 14:55 (10.0.0.1)

#当前登录系统的用户是

[root@oldboyedu ~]# whoami
root
image.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容