(day6)Linux系统用户管理

一、用户组(group)

用户的用户组,类似于【人】的家庭,学校等组织

1个用户可以在多个组里

1个组可以有多个用户

1、用户组怎么产生的?

(1)创建用户的时候默认产生的,创建一个ql,默认就会生成ql组

用户和组同名,且UID和GID相同。

(2)由root用户直接创建。

二、用户(user)

/etc/passwd        ##用户主配置文件,用户的各种属性(UID,GID,家目录,登录SHELL)

/etc/shadow        ##用户密码文件,存放密码及密码的属性(失效时间,修改密码时间等)

/etc/group           ##组文件,存放用户组及属性

/etc/gshadow     ##用户组的密码文件(废弃)


======和创建用户相关的有3个==========
/etc/default/useradd        ##创建用户命令useradd的配置文件
/etc/skel                          ##创建用户环境变量原始文件存放地。
/etc/login.defs                 ##创建用户系统配置,对应文件。

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

============和用户相关的命令=========

useradd        添加用户

usermod        修改用户

userdel          删除用户

1、======useradd命令======

[root@qulan ~]# useradd test1

(1)指定uid添加用户
[root@qulan ~]# useradd -u 5000 test2        #创建test2用户,并指定uid为5000
[root@qulan ~]# id test2
uid=5000(test2) gid=5000(test2) 组=5000(test2)

(2)指定用户的登录shell(-s)

[root@qulan ~]# useradd -s /sbin/nologin test3        #创建test3用户,禁止登录
[root@qulan ~]# id test3
uid=5001(test3) gid=5001(test3) 组=5001(test3)

[root@qulan ~]# su - test3
This account is currently not available.

(3)指定用户家目录(-d)

[root@qulan ~]# useradd -d /opt a4
useradd:警告:此主目录已经存在。
不从 skel 目录里向其中复制任何文件。
[root@qulan ~]# su - a4
-bash-4.2$         //缺少用户环境变量所致

(4)添加用户指定属于其他用户组(-g)

[root@qulan ~]# useradd -g root test5        #添加用户属于root组
[root@qulan ~]# id test5
uid=5003(test5) gid=0(root) 组=0(root)

(5)添加用户设置过期时间(-e)

[root@qulan ~]# date
2024年 04月 11日 星期四 18:09:56 CST
[root@qulan ~]# useradd -e "2030/05/30" test6
[root@qulan ~]# passwd test6
更改用户 test6 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@qulan ~]# date -s "2030/06/01"
2030年 06月 01日 星期六 00:00:00 CST

[root@qulan ~]# ssh test6@127.0.0.1
test6@127.0.0.1's password: 
Your account has expired; please contact your system administrator Authentication failed.您的帐户已过期;请与系统管理员联系 身份验证失败。

(6)添加用户不创建家目录(-M)

配合创建虚拟用户

useradd -s /sbin/nologin test3 -M

(7)总结:
-u 指定UID
-g 指定属于的组
-e 指定过期时间
-d 指定家目录
-M 不创建家目录
-s 指定登录的解释器

2、======usermod修改用户命令======

(1)修改test1的UID

[root@qulan ~]# id test1
uid=1001(test1) gid=1001(test1) 组=1001(test1)
[root@qulan ~]# usermod -u 10001 test1
[root@qulan ~]# id test1
uid=10001(test1) gid=1001(test1) 组=1001(test1)
UID已改,组ID没改

(2)修改test2属于的新组root

[root@qulan ~]# usermod -g root test2
[root@qulan ~]# id test2
uid=5000(test2) gid=0(root) 组=0(root)

(3)修改过期时间

        ①查看过期时间

[root@qulan ~]# chage -l test6
最近一次密码修改时间                    :4月 11, 2024
密码过期时间                    :从不
密码失效时间                    :从不
帐户过期时间                        :5月 30, 2030
两次改变密码之间相距的最小天数        :0
两次改变密码之间相距的最大天数        :99999
在密码过期之前警告的天数    :7
 

        ②修改过期时间

[root@qulan ~]# usermod -e "2031/07/18" test6        #修改过期时间为2031/07/18

(4)更改test3解释器为/bin/bash(-s)

[root@qulan ~]# grep test3 /etc/passwd
test3:x:5001:5001::/home/test3:/sbin/nologin
[root@qulan ~]# usermod -s /bin/bash test3
[root@qulan ~]# grep test3 /etc/passwd
test3:x:5001:5001::/home/test3:/bin/bash

3、=======userdel用户删除======

        -r  删除家目录,有风险的

企业应用:人员离职,他的用户怎么管?

  a.userdel -r 离职人员        #容易把离职人员数据删除。不明智

  b.userdel 离职人员用户名        #家目录保留

  c.设置过期时间,/etc/passwd注释掉

编辑/etc/passwd注释掉test5,生产场景推荐,代价最小

#test5:x:5003:0::/home/test5:/bin/bash
[root@qulan ~]# su - test5
su: user test5 does not exist

useradd tset7

useradd:警告:此主目录已经存在。
不从 skel 目录里向其中复制任何文件。
正在创建信箱文件: 文件已存在

建立mysql用户、组

groupadd tset7

useradd -g tset7 tset7

解决方法:删除用户不用userdel -rf tset7

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值