Linux用户和组管理学习(用户/组/密码)

几个配置命令:

useradd     --- 添加新用户
        //格式: useradd [选项] <username>
            -c 注释信息(相关说明)
            -d 目录 用户的家目录
            -e YYYY-MM-DD——设置用户的失效日期
            -f 密码到期多少天后账号被禁用
                若为0,则表示账号到期后被立即禁用                
                若为-1,则表示账号过期后不被禁用(密码不禁用)
            -g 组名或GID号,为用户指定所属的基本组
            -G 为用户指定所属的附加组,各组在指定时已存在,附加组可以有多个
            -M 不创建用户家目录
            -N 不创建与用户名同名的基本组
            -p 用户的登录密码
            -s 指定用户登录后使用的Shell,默认是bash
            -u 用户号UID,默认是已有用户的最大UID加1。
               如果同时有-o选项,则可以重复使用其他用户的标识号

passwd      --- 用户设置密码
        //格式:passwd [账户名]
            -d 清空指定用户的口令
               与未设置口令的账户不同,未设置口令的账户无法登录系统,而口令为空的账户可以
            -f 强迫用户下次登录时必须修改口令
            -i 口令过期后多少天停用账户
            -l 锁定(停用)用户账户
            -n 指定口令的最短存活期
            -S 显示账户口令的简短状态信息(是否被锁定)
            -u 解锁用户账户
            -n 指定密码的最短使用期限
            -x 指定密码的最长使用期限

chpasswd    --- 批量修改密码

usermod     --- 修改用户属性
        //格式:usermod [选项] username
            -l 更改账户的名称,必须在该用户未登录的情况下才能使用
            -L 锁定(暂停)用户账户,使其不能登录使用
            -U 解锁用户账户

userdel     --- 删除用户
        //格式:userdel [-r] 账户名

su          --- 用户切换
        //格式:su [用户名]

sudo        --- 控制用户对系统命令使用权限

groupadd    --- 添加新组
        //格式: groupadd [-r] 用户组名称
            -g 指定新用户组的组标识号(GID),默认值是已有的最大的GID加1。
            -r 建立一个系统组账号,与-g不同时使用时,则分配一个1~999的GID。

gpasswd     --- 修改组密码
         //格式:gpasswd [选项] [用户] [组]
            -r 删除组密码
            -a 把用户加入组
            -d 把用户从组中删除
            -M 可同时添加多个用户
            -A 给组指派管理员
groupmod    --- 修改组属性
        //格式: groupmod 选项 用户组
            -g 为用户组指定新的组标识号
            -n 将用户组的名字改为新名字修改用户组的名称和用户组的GID值
groupdel    --- 删除组
        //格式: groupdel 用户组名
last        ---列出登录系统的用户信息
        //格式:last [-n] [-f file] [-t tty] [-y] [-x]
            -n指定输出记录的条数
            -f file:指定用文件file作为查询用的log文件
            -i IP:只显示指定的IP上登录的情况
            -x:显示系统关机、重新开机以及执行等级的改变等信息
            w:显示登录到系统的用户信息。
w           --- 显示登录到系统的用户信息
        //格式:w [options] user
            -h 不显示输出信息的标题
who         --- 显示登录到系统的用户
        //格式:who [OPTION]... [ FILE | ARG1 ARG2 ]
            -a 列出所有信息
            -b 列出系统最近启动的日期
            -m 列出关于当前终端的信息,who -m=who am i=who am I
            -q 列出在本地系统上的用户和用户数的清单
            -r 显示当前系统的运行级别
            -s 仅显示名称、终端、时间字段信息和主机名
            -u 显示当前每个用户的用户名、登录终端、登录时间、终端活动、进程表示和主机名
            -T或-w 显示tty终端的状态
            “+”表示对任何人可写,“-”表示仅对root用户或所有者可写,“?”表示遇到终端故障

关于Linux的用户,组的基本信息:

 Liunx有对于文件用户有AAA认证(认证,授权,审计)

//***用户存储位置:
用户账户信息存储在   --- /etc/passwd
用户密码文件存储在   --- /etc/shadow 
用户组账户信息存储在 --- /etc/group
用户组密码文件存储在 --- /etc/gshadow

而Linux的用户分类:

Linux下的用户可以分为三类:
①管理员用户 用户名为root,它具有一切权限
②系统用户主 要是为了满足相应的系统进程对文件属主的要求而建立的系统用户不能用来登录
③普通用户   使用Linux系统资源而建立的,我们的大多数用户属于此类

Linux中的组有以下三种:
①基本组(私有组) 
        建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是基本组
        基本组只容纳一个用户,当把其他用户加入到该组中,则基本组就变成了附加组
②附加组(公有组) 可以容纳多个用户,组中的用户都具有组所拥有的权利
③系统组   一般加入一些系统用户

Linux中用户和用户组的配置文件,每个用户都有一个UID数值:
超级用户的UID——0
系统用户的UID——1~999 
        //其中1-200 为系统管理用户
        //而201-999 为系统普通用户
普通用户的UID——≥1000
    //系统用户禁止用户登录验证!!!
    //普通用户可以验证登录

user用户信息:

//用户信息
[root@localhost /]# head -1 /etc/passwd
root:x:0:0:root:/root:/bin/bash
-A- |B|C|D|- E-|-- F--|---G---
A --- 用户名
B --- 密码占位符
C --- UID用户id
D --- GID组id
E --- 描述信息(注释字段)
F --- 家目录
G --- shell(可交互shell(可登录)/不可交互shell(不可登录))

//用户密码信息
[root@lxb ~]# tail -1 /etc/shadow
new_stu1:!!:18964:0:99999:7:::
--- A --| B|--C--|D|--E--|F|G|H|I
A --- 用户名
B --- 密码
        // !!表示密码已锁定
            *表示该账号不能用于登录系统
            若为空,表示该用户无需密码即可登录,
C --- 最后一次修改时间 (以距离1970.1.1开始计算)
D --- 密码多少天内不能修改   (最小间隔时间)
        //若为0表示不限制
E --- 密码多少天后必须修改    (最大间隔时间)
        //默认99999,表示不进行限制
F --- 警告时间,多少天后密码过期
        //默认为7天,0表示不提供警告
G --- 不活动时间,密码过期多少天后禁用此用户
H --- 失效时间,默认为空,表示永久
I --- 标志,保留未用

user用户的增删改及密码:

        ①useradd 增

[root@lxb ~]# useradd new_stu1
//创建了一个新用户new_stu1
[root@lxb ~]# tail -1 /etc/passwd
new_stu1:x:1006:1008::/home/new_stu1:/bin/bash
//用tail列出new_stu1的相关信息
[root@lxb ~]# tail -1 /etc/shadow
new_stu1:!!:18964:0:99999:7:::
//用tail列出new_stu1的密码信息
//此时密码字段的内容为!!表示密码尚未设置

eg1:新建一个辅助管理员用户new_stu2,将其用户家目录指定为/admin,基本组指定为wheel,附加组同
时属于adm组和root组
[root@lxb ~]# useradd -d /admin -g wheel -G adm,root admin new_stu2
        //-d 设置家目录 -g 组名 -G 附加组 

eg2:新建一个用于访问FTP的new_stu3用户,禁止其登录且不创建家目录
[root@lxb ~]# useradd -M -s /sbin/nologin new_stu3
        //-M  不创建用户家目录。

eg3:新建一个用户new_stu4,指定其UID为1005,登录Shell为/bin/bash,账号永不过期
[root@lxb ~]# useradd -u 1005 -s /bin/bash -f -1 new_stu4

        ②userdel删

        使用useradd创造新用户时会创造   /etc/passwd    /etc/group    /etc/shadow    /etc/gshadow  /home/USERDIR   /var/spoo/mail/USERFILE 这些文件夹,所以在删除时必须加上-r,不然无法完全删除(递归删除)

eg:
[root@a ~]# useradd nihao
[root@a ~]# userdel nihao
[root@a ~]# useradd nihao
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
Creating mailbox file: File exists
[root@a ~]# userdel -r nihao

        ③usermod改

        usermod和useradd的格式是一样的(但是增加了 -l 修改用户名和锁定与解锁)

[root@lxb ~]# useradd new_stu1
[root@lxb ~]# tail -1 /etc/passwd
new_stu1:x:1006:1008::/home/new_stu1:/bin/bash
//修改new_stu1,增加新信息"usermod_New_stu1"
[root@lxb ~]# usermod -c "usermod_New_stu1" new_stu11
[root@lxb ~]# tail -1 /etc/passwd
new_stu1:x:1006:1008:usermod_New_stu1:/home/new_stu1:/bin/bash
 //此时已经修改成功

[root@lxb ~]# usermod -l usermod_New_stu1 new_stu1
[root@lxb ~]# tail -1 /etc/passwd
usermod_New_stu1:x:1006:1008:usermod_New_stu1:/home/new_stu1:/bin/bash
//修改用户名

        ④passwd密码

        Linux的账户必须设置密码后,才能登录系统

//设置usermod_New_stu1的用户密码
[root@lxb ~]# passwd usermod_New_stu1
Changing password for user usermod_New_stu1.
New password: 
BAD PASSWORD: No password supplied
Retype new password: 
No password supplied

//此时查看shadow发现密码已经改变
[root@lxb ~]# head -1 /etc/shadow
root:$6$0bOi02CzKF6bU4I8$6n4RRQSblQJK.UQwaxZsIwhxyUovfcL16o28fCWRDnBI9QMxzQUyko60ADYLUqoWOl8PucMmiynf.lKj05E6B0:18948:0:99999:7:::

//chpasswd 批量修改密码

用户间的切换(su和sudo):

①su
su命令和su -命令区别就是:
su只是切换了root身份,但Shell环境仍然是普通用户的Shell
而su -连用户和Shell环境一起切换成root身份了

⑥sudo
sudo:控制用户对系统命令的使用权限,root允许的操作
通过sudo可以提高普通用户的操作权限,不过这个权限是需要进行配置才可使用。

sudo配置文件/etc/sudoers
//sudo的内容***

用户组信息:

//组信息
[root@lxb ~]# tail -1 /etc/group
new_stu1:x:1008:
---A ---|B|-C -|E
A --- 组名GID
B --- 组密码
C --- 组id(主组)
E --- 附加组信息

//组密码
[root@lxb ~]# tail -1 /etc/gshadow
new_stu1:!::
---A ---|B|C|D
A --- 组名
B --- 组密码(同之前的用户密码)
C --- 失效时间
D --- 标志

每个组都有一个GID数值:
管理员组的GID——0
系统组的GID——1~999
普组的GID——≥1000
    
管理组:gid=0
一般组:
    ---基本组/默认组:用户默认的组(主要)
    ---附加组:用户默认组织外的组(次要)

组的增删改和密码:

        ①groupadd创建组

//组创建 可以-g指定为系统用户(1-999)
[root@lxb ~]# groupadd new_group1

//列出创建的组信息
[root@lxb ~]# tail -1 /etc/group
new_group1:x:1009:

//列出创建组的密码
[root@lxb ~]# tail -1 /etc/gshadow
new_group1:!::

        ②groupmod 修改组

//修改GID
[root@lxb ~]# tail -1 /etc/group
new_group1:x:1234:
//修改组名
[root@lxb ~]# groupmod -n groupmod_New_group1   new_group1
[root@lxb ~]# tail -1 /etc/group
groupmod_New_group1:x:1234:

        ③groupdel 组删除

!!!可以删除所有附加组,组里可以有用户

!!!不能删除主组(基本组)--主组需要通过删除用户来删除(确认主组下面没有其他用户)

[root@lxb ~]# groupdel  groupmod_New_group1  

        ④组添加用户

//增加组和用户
[root@lxb ~]# groupadd new_group1
[root@lxb ~]# useradd stu1
[root@lxb ~]# useradd stu2
//增加组员
[root@lxb ~]# gpasswd -a stu1 new_group1
Adding user stu1 to group new_group1
[root@lxb ~]# gpasswd -a stu2 new_group1
Adding user stu2 to group new_group1
//此时new_group显示出现附加成员
[root@lxb ~]# tail -3 /etc/group
new_group1:x:1009:stu1,stu2
stu1:x:1011:
stu2:x:1012:
//用户显示的附加组
[root@lxb ~]# tail -3 /etc/passwd
usermod_New_stu1:x:1006:1008:usermod_New_stu1:/home/new_stu1:/bin/bash
stu1:x:1008:1011::/home/stu1:/bin/bash
stu2:x:1009:1012::/home/stu2:/bin/bash

//此时new_group1为主组

查看用户登录情况:

        ①last:列出目前与过去登入系统的用户相关信息,该命令默认会去读取/var/log/wtmp文件,并把该文件记录的登入系统的用户名单全部显示出来。

[root@lxb ~]# last 
root     pts/1        192.168.220.1    Fri Dec  3 14:00   still logged in
root     pts/3        192.168.220.1    Thu Dec  2 14:42 - 15:50 (1+01:08)
root     pts/2        192.168.220.1    Wed Dec  1 21:50 - 16:44  (18:53)
root     pts/1        192.168.220.1    Tue Nov 30 22:59 - 14:57 (1+15:58)
root     tty2         tty2             Tue Nov 30 22:57    gone - no logout
reboot   system boot  4.18.0-193.el8.x Tue Nov 30 22:56   still running
root     pts/1        192.168.220.1    Tue Nov 30 22:33 - 22:56  (00:22)
root     tty2         tty2             Tue Nov 30 22:31 - down   (00:24)
reboot   system boot  4.18.0-193.el8.x Tue Nov 30 22:30 - 22:56  (00:25)
root     pts/2        192.168.220.1    Wed Nov 17 10:20 - crash (13+12:10)
root     pts/1        192.168.220.1    Wed Nov 17 10:10 - 12:29  (02:19)
root     pts/2        192.168.220.1    Wed Nov 17 09:53 - 09:53  (00:00)
root     pts/1        192.168.220.1    Wed Nov 17 09:41 - 10:09  (00:27)
root     pts/1        192.168.220.1    Wed Nov 17 09:26 - 09:40  (00:14)
root     pts/2        192.168.220.1    Tue Nov 16 16:16 - 16:16  (00:00)
root     pts/1        192.168.220.1    Tue Nov 16 15:13 - 18:58  (03:44)
root     tty2         tty2             Tue Nov 16 22:30 - crash (13+23:59)
lxb      tty2         tty2             Tue Nov 16 22:09 - 22:30  (00:21)
reboot   system boot  4.18.0-193.el8.x Tue Nov 16 22:06 - 22:56 (14+00:49)

wtmp begins Tue Nov 16 22:06:32 2021

        ②w:显示登录到系统的用户信息

[root@lxb ~]# w
 16:08:24 up 13:45,  2 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     tty2     tty2             Tue22    2days  2:12   1.12s /usr/libexec/tracker-miner-fs
root     pts/1    192.168.220.1    14:00    0.00s  1.09s  0.07s w

USER   --- 表示登录系统的用户
TTY    --- 表示用户使用的TTY名称
FROM   ---表示用户从哪里登录进来
LOGIN@ --- 用户登录的日期和时间
idle   --- 表示空闲时间
JCPU   --- 在某段时间内所有与该终端相关的进程任务所耗费的cpu时间
PCPU   --- 当前活动进程使用的系统时间
WHAT   --- 表示当前用户执行的进程名称和选项

        ③who:

[root@lxb ~]# who 
root     tty2         2021-11-30 22:57 (tty2)
root     pts/1        2021-12-03 14:00 (192.168.220.1)
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值