美文网首页
day09-Linux基础学习 用户与组(上)

day09-Linux基础学习 用户与组(上)

作者: 云运维之道 | 来源:发表于2019-08-05 16:21 被阅读0次

一、什么是用户?

能够正常登录的账号用户
linux支持多个用户同一时刻登陆系统, 互相之间不影响
windows只允许同一时刻不允许多个用户登录
用户分为普通用户和超级用户
普通用户能逻辑上分为一个组 ,一个用户也能隶属于多个组

二、用户的作用,为什么要创建用户

1、系统上的每一个进程都需要一个特定的用户运行
2、root权限太大容易造成故障

三、查看用户

1、查看当前登录的用户信息

[root@oldboy ~]# id
uid=0(root) gid=0(root) groups=0(root)
[root@oldboy ~]# id Jgb
uid=6666(Jgb) gid=1001(students) groups=1001(students),1002(Jgb)

2、每一个进程都会由一个用户身份运行

[root@oldboy ~]# ps aux|less
root          2  0.0  0.0      0     0 ?        S    11:25   0:00 [kthreadd]
root          3  0.0  0.0      0     0 ?        S    11:25   0:00 [ksoftirqd/0]

四、用户信息的位置

/etc/passwd 存放用户的信息,但没有密码信息。
/etc/shadow 存放密码信息。

1、/etc/passwd

[root@oldboy ~]# head  -1 /etc/passwd
root:x:0:0:root:/root:/bin/bash

以:为分隔符
#第一列  用户名称
#第二列  密码占位符
#第三列  用户UID
#第四列  组GID
#第五列  注释信息
#第六列  用户家目录
#第七列  登录shell信息

2、/etc/shadow

[root@oldboy ~]# tail  -1 /etc/shadow
Jgb2:!!:18113:0:99999:7:::

以:为分隔符
#第一列  用户名称
#第二列  密码,!!为无密码
#第三列  从1970年到最近一次修改密码的天数
#第四列  密码最少使用天数,0无限制
#第五列  密码最长使用特数,默认999999不过期
#第六列  密码到期前七天提醒变更密码
#第七列  密码到期后两天强制提醒变更用户密码
#第八列  账户失效时间,从1970年起,用户在此日期内可用
#第九列  保留字段(未使用)

五、系统对用户的约定

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

六、用户相关命令

1、新增用户

useradd命令 adduser命令软链接指向useradd命令

#选项
# -u 指定要创建用户的UID,不允许冲突
# -g 指定要创建用户默认组
# -G 指定要创建用户附加组,逗号隔开可添加多个附加组
# -d 指定要创建用户家目录
# -s 指定要创建用户的bash shell
# -c 指定要创建用户注释信息
# -M 给创建的用户不创建家目录
# -r 创建系统账户,默认无家目录


1、创建Jgb用户,UID5001,基本组students,附加组sa 注释信息:2019 new student,登陆shell:/bin/bash
[root@oldboy ~]# groupadd sa
[root@oldboy ~]# groupadd students
[root@oldboy ~]# useradd -u 5001 -g students -G sa -c "2019 new student" -s /bin/bash Jgb

2、创建mysql系统用户,-M不建立用户家目录 -s指定nologin使其用户无法登陆系统
[root@oldboy ~]# useradd mysql -M -s /sbin/nologin
[root@oldboy ~]# useradd -r dba -s /sbin/nologin

2、修改用户信息

usermod命令

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

1、修改Jgb用户uid、gid,附加组
[root@oldboy ~]# groupadd -g 5008 aa
[root@oldboy ~]# groupadd -g 5009 bb
[root@oldboy ~]# usermod -u 6001 -g5008 -a -G 5009 Jgb

2、修改Jgb用户的注释信息, 用户家目录, 登录shell, 登录名
[root@oldboy ~]# usermod -c "2019 new student" -md /bgx -s /bin/sh -l JGB Jgb

3、锁定用户[扩展]
[root@oldboy ~]# echo "123" |passwd --stdin change_bgx
[root@oldboy ~]# usermod -L JGB  #锁定后会无法登陆系统

4、解锁用户[扩展]
[root@oldboy ~]# usermod -U JGB

PS: 当然还有很多命令可以查看用户的信息,以下简单列举一些,但都是我们常用,所以了解即可

  1. 使用finger命名查询用户信息以及登录信息,示例: finger UserName

  2. 使用chfn命令修改用户信息,示例: chfn UserName

  3. 使用chsh命令修改用户登录Bash Shell,示例: chsh UserName

  4. 使用who、whoami、w检查用户登陆情况

3、删除账户

userdel命令

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

1、删除user1用户,但不删除用户家目录和 mail spool
[root@oldboy ~]# userdel user1

2、-r参数可以连同用户家目录一起删除(慎用)
[root@oldboy ~]# userdel -r user1
image.png

相关文章

网友评论

      本文标题:day09-Linux基础学习 用户与组(上)

      本文链接:https://www.haomeiwen.com/subject/hevmdctx.html