Linux的用户管理精简全总结

 (该图由AI绘制 关注我 学习AI画图)

目录

Linux操作系统用户和组的概念

1、为什么需要了解用户和组

2、用户和组的关系

3、用户组操作

☆☆☆☆☆☆☆☆☆☆☆ /etc/group文件解析

☆ 用户组的修改

☆ 用户组的删除

4、用户操作

☆ 用户信息查询

5、与用户相关的用户文件

6、用户修改操作

7、passwd命令

8、su命令

9、wheel组(了解)

10、用户删除操作


Linux操作系统用户和组的概念

1、为什么需要了解用户和组

服务器要添加多账户的作用

针对不同用户分配 不同的权限 ,不同权限可以限制用户 可以访问到的系统资源 ​ 提高系统的安全性 ​ 帮助系统管理员对使用系统的用户进行跟踪

2、用户和组的关系

理论上Linux系统中的每个用户在创建时都应该有一个对应的用户组,这个组就称之为用户的主组。同时,有些情况下,某个用户需要临时使用某个组的权限,那这个组就称之为这个用户的附属组或附加组。

主组只能拥有一个,但是附属组或附加组可以同时拥有多个

3、用户组操作

# groupadd [选项]  用户组的组名称
选项说明:
-g :代表用户组的组ID编号,自定义组必须从1000开始,不能重复

案例:在系统中添加一个hr的用户组

# groupadd hr

案例:在系统中添加一个test的用户组并指定定编号1100

# groupadd -g 1100 test

问题:我们刚才创建的hr以及test用户组到底添加到哪里了?

答:默认情况下,我们添加的用户组都会放在一个系统文件中,文件位置=>/etc/group

☆☆☆☆☆☆☆☆☆☆☆ /etc/group文件解析

由以上命令的执行结果可知,在/etc/group文件中,其一共拥有三个冒号,共四列。每列含义:

第一列:用户组的组名称
第二列:用户组的组密码,使用一个x占位符
第三列:用户组的组ID编号,1-999代表系统用户组的组编号,1000以后的代表自定义组的组编号
CentOS6 => 1-499,500...
CentOS7 => 1-999,1000...
第四列:用户组内的用户信息(如果一个用户的附属组或附加组为这个组名,则显示在此位置)

☆ 用户组的修改

# groupmod [选项 选项的值] 原来组的组名称
选项说明:
-g :gid缩写,设置一个自定义的用户组ID数字,1000以后
-n :name缩写,设置新的用户组的名称

案例:把hr用户组更名为szhr (举这个例子就是想说,可以单独使用)

# groupmod -n szhr hr

案例:把itcast组的组名称更改为admin且用户组的组编号更改为1004

# groupmod -g 1004 -n admin itcast

☆ 用户组的删除

# groupdel test

4、用户操作

# useradd [选项 选项的值] 用户名称
选项说明:
-g :代表添加用户时指定用户所属组的主组,唯一的组信息(重要)
-s :代表指定用户可以使用的Shell类型,默认为/bin/bash(拥有大部分权限)

        还可以是/sbin/nologin,代表账号创建成功,但是不能用于登录操作系统。
        /bin/bash => 给人使用的(运维工程师)
        /sbin/nologin => 给软件使用的

————————————————

-G :代表添加用户时指定用户所属组的附属组或附加组,可以指定多个,用逗号隔开即可(了解)
-u :代表添加用户时指定的用户ID编号,CentOS6从500开始,CentOS7中从1000开始(了解)
-c :代表用户的备注信息
-d :代表用户的家目录,默认为/home/用户名称。可以使用-d进行更改
-n :取消建立以用户名称为名的群组(了解)



案例:在系统中创建一个linuxuser账号

# useradd linuxuser

问题:我们并没有为linuxuser账号指定所属的主组,可以成功创建账号么?

答:可以,因为在创建账号时,如果没有明确指定用户所属的主组,默认情况下,系统会自动在用户组中创建一个与用户linuxuser同名的用户组,这个组就是这个用户的主组。

问题:刚才创建的linuxuser账号能不能用于登录操作系统

答:不行,因为Linux的登录账号 必须要求有密码 ,如果一个账号没有密码是无法登录操作系统的。

案例:在系统中创建一个账号zhangsan,指定用户所属的主组为aaa

第一步:查询一下aaa的组ID编号
# tail -5 /etc/group
aaa:x:1000:


第二步:根据组的编号添加用户
# useradd -g 1000 zhangsan

☆ 用户信息查询

主要功能:查询某个指定的用户信息

案例:查询linuxuser用户的信息

# id linuxuser
uid=1002(linuxuser) gid=1005(linuxuser) groups=1005(linuxuser)


uid:用户编号
gid:用户所属的主组的编号
groups:用户的主组以及附属组信息,第一个是主组,后面的都是附属组或附加组信息

5、与用户相关的用户文件

用户:/etc/passwd文件,每创建一个用户,其就会在此文件中追加一行

# vim /etc/passwd
root:x:0:0:root:/root:/bin/bash
由上图可知,一共拥有7列
第1列:用户名称
第2列:用户的密码,使用一个x占位符,真实密码存储在/etc/shadow(1-用户名,2-加密密码)
第3列:数字,用户的ID编号
第4列:数字,用户的主组ID编号
第5列:代表注释信息,useradd -c "备注信息" 用户名称
第6列:用户的家目录,默认在/home/用户名称
第7列:用户可以使用的Shell类型,useradd -s /bin/bash或/sbin/nologin 用户名称

6、用户修改操作

# usermod [选项 选项的值] 用户名称
选项说明:
-g :修改用户所属的主组的编号
-l :login name修改用户的名称
-s :修改用户可以使用的Shell类型,如/bin/bash => /sbin/nologin

扩展:
-L:锁定用户,锁定后用户无法登陆系统lock
-U:解锁用户unlock

了解:
-G :修改用户附属组的编号信息
-d :修改用户的家目录
-c :修改用户的备注信息

案例:修改zhangsan账号信息,更名为zs

# usermod -l zs zhangsan

案例:修改wangwu账号信息,把用户的主组的编号更新为1000

# usermod -g 1000 wangwu

案例:禁止linuxuser账号登录Linux操作系统 (其实就是修改用户可以使用的Shell类型)

# usermod -s /sbin/nologin linuxuser

案例:禁止linux用户登录操作(Ctrl + Alt + F2 ~ F6)

# usermod -L linux

案例:解锁linux用户

# usermod -U linux

问题:账号已经解锁,但是无法登录

① 当前账号没有设置密码,因为Linux操作系统不允许没有密码的操作进行登录

② 当前用户的Shell类型为/sbin/nologin,所以其无法登录

7、passwd命令

主要功能:为某个用户设置密码(添加或修改),可以给自己也可以给别人设置

8、su命令

主要功能:切换用户的账号

# su [-] root
选项:
- :横杠(减号),代表切换用户的同时,切换目录到用户的家

9、wheel组(了解)

Linux系统中,理论上只有在wheel组中的普通用户,才可以通过su命令切换到root账户,默认所有普通用户都能切换到root,只要知道root密码,换句话说,默认此配置不生效

10、用户删除操作

# userdel [选项] 用户名称
选项说明:
-r :删除用户的同时,删除用户的家(默认不删除)

# userdel -r lisi

————— 本文完 —————

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值