首先用户大家都不陌生,我们在使用电脑的时候进入电脑登录的就是我们的账号也就是用户,用户组顾名思义里面可以存放多个用户方便管理以及授权。

目录

一、用户

1、创建用户,不指定选项

2、创建用户,指定选项

3、删除用户

4、修改用户密码

5、修改用户信息

二、用户组

1、什么是组

2、创建组

3、删除组

4、组的分类

4.1、创建一个用户sure01,同时生成一个基本组sure01

4.2、同样的方法创建一个用户sure02,同时生成一基本组sure02。

4.3、创建组group03和group04

4.4、修改用户sure01的基本组为group03

4.5将用户sure02添加到组group03中

4.6、查看上面所有改动的信息

4.7、将用户sure02移出组group04

三、提权

1、永久提权

2、临时提权


一、用户

首先我们需要用超管(root)登录才可以进行下列操作。


1、创建用户,不指定选项

注意:在创建用户后不给其密码是无法登陆的

命令:

useradd sure1                //创建用户sure1,不指定任何选项。

//创建一个用户sure1
[root@localhost ~]# useradd sure1

//id 用户名   查询用户信息
[root@localhost ~]# id sure1
uid=1002(sure1) gid=1002(sure1) 组=1002(sure1)

//用户创建以后,在home里会默认创建一个sure1,作为家目录。
[root@localhost ~]# ls /home
dir  dir001  dir002  dir10  shuo01  sure1  user01

uid、gid、组是上篇文章讲过的分别表示用户id、组id、组成员,这样我们就创建了一个用户

2、创建用户,指定选项

命令:

useradd  sure2   -u   1503        //创建用户user02,指定uid
        useradd  sure3   -d   /user03      //创建用户user03,指定家目录

//创建一个sure2用户并指定他的uid为2022
[root@localhost ~]# useradd sure2 -u  2022
[root@localhost ~]# id sure2
uid=2022(sure2) gid=2022(sure2) 组=2022(sure2)

//创建一个sure3用户指定他的家目录为/sure3
[root@localhost ~]# useradd  sure3 -d /sure3
[root@localhost ~]# ls /
1.txt  aaa  bin   dev  home  lib64  mnt  proc  run   srv    sys  usr
3.txt  bbb  boot  etc  lib   media  opt  root  sbin  sure3  tmp  var

3、删除用户

命令:

userdel -r user02                 //要加-r才能删除用户的家目录

//删除用户sure3
[root@localhost ~]# userdel  -r   sure3
//查看sure3
[root@localhost ~]# id sure3
id: sure3: no such user

//查看sure3的家目录是否存在
[root@localhost ~]# ls /
1.txt  aaa  bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
3.txt  bbb  boot  etc  lib   media  opt  root  sbin  sys  usr

//删除用户sure2
[root@localhost ~]# userdel sure2
[root@localhost ~]# id sure2
id: sure2: no such user
//用户被删除但是家目录依然存在
[root@localhost ~]# ls /home
dir  dir001  dir002  dir10  shuo01  sure1  sure2  user01

4、修改用户密码

注意:在输入密码的时候是不显示的,在输入完直接回车即可。

修改密码有两个方法:

方法一:root修改其他用户(sure1)密码。
passwd alice
方法二:用户(sure1)登录,自己修改密码。
passwd

方法一:

[root@localhost ~]# passwd sure1
更改用户 sure1 的密码 。
新的 密码:
无效的密码: 密码是一个回文
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

方法二:

[sure1@localhost ~]# passwd

更改用户sure1的密码。

为sure1更改STRESS密码。

(当前)UNIX 密码:

新的 密码:

重新输入新的 密码:

passwd:所有的身份验证令牌已经成功更新。

5、修改用户信息

这里先举一个例子

命令:usermod   -u       用户参数

//创建sure2用户

[root@localhost ~]# useradd sure2

//查看修改前sure2的信息

[root@localhost ~]# id sure2
uid=1003(sure2) gid=1003(sure2) 组=1003(sure2)

//修改sure2的用户id

[root@localhost ~]# usermod -u 1004 sure2
usermod:警告:/var/spool/mail/sure2 不属于 sure2

//查看修改后的sure2信息

[root@localhost ~]# id sure2
uid=1004(sure2) gid=1003(sure2) 组=1003(sure2)

更多usermod命令可输入命令usermod --help查看

[root@localhost ~]# usermod   --help
用法:usermod [选项] 登录

选项:
  -c, --comment 注释            GECOS 字段的新值
  -d, --home HOME_DIR           用户的新主目录
  -e, --expiredate EXPIRE_DATE  设定帐户过期的日期为 EXPIRE_DATE
  -f, --inactive INACTIVE       过期 INACTIVE 天数后,设定密码为失效状态
  -g, --gid GROUP               强制使用 GROUP 为新主组
  -G, --groups GROUPS           新的附加组列表 GROUPS
  -a, --append GROUP            将用户追加至上边 -G 中提到的附加组中,
                                并不从其它组中删除此用户
  -h, --help                    显示此帮助信息并推出
  -l, --login LOGIN             新的登录名称
  -L, --lock                    锁定用户帐号
  -m, --move-home               将家目录内容移至新位置 (仅于 -d 一起使用)
  -o, --non-unique              允许使用重复的(非唯一的) UID
  -p, --password PASSWORD       将加密过的密码 (PASSWORD) 设为新密码
  -R, --root CHROOT_DIR         chroot 到的目录
  -P, --prefix PREFIX_DIR       prefix directory where are located the /etc/* files
  -s, --shell SHELL             该用户帐号的新登录 shell
  -u, --uid UID                 用户帐号的新 UID
  -U, --unlock                  解锁用户帐号
  -v, --add-subuids FIRST-LAST  add range of subordinate uids
  -V, --del-subuids FIRST-LAST  remove range of subordinate uids
  -w, --add-subgids FIRST-LAST  add range of subordinate gids
  -W, --del-subgids FIRST-LAST  remove range of subordinate gids
  -Z, --selinux-user  SEUSER       用户账户的新 SELinux 用户映射

二、用户组


注意:创建组也是需要root权限的。

1、什么是组

这里我放个图片介绍一下什么是组。

拿充会员来说,公司将权限分别分配给VIP和SVIP这两个组,当用户充了VIP的时候我们把用户加入到VIP的组中,用户就获得了VIP组所分配的权限,同理用户充值SVIP也是这样,如果一个用户同时充了VIP和SVIP那么用户将获得两个组的权限,所以一个用户可以加入到多个组。

2、创建组

创建组可以不指定任何选项,也可以指定选择。

命令:groupadd   S1        //创建组S1,不指定任何选项。

groupadd S2 -g 2022     //创建组S2,指定组id为2022

注意:passwd和shadow是没有S1和S2的信息的,passwd和shadow存放的是用户信息,组的信息不在这里面

查看组的信息有两种方法,一种是直接查看group中的信息,第二种使用grep  组名  /etc/group查看指定组的信息

方法一:tail - 1  /etc/group                 //查看组的信息,因为新创建的组会记录在group文件的最后一行所以只需要查看group的最后一行信息。

方法二:grep -S1 /etc/group        //查看指定组的信息。

//创建组S1

[root@localhost ~]# groupadd S1

//查看组的信息方法一

[root@localhost ~]# tail -1 /etc/group
S1:x:1004:

//查看组的信息方法二

[root@localhost ~]# grep S1 /etc/group
S1:x:1004:                        //上一篇文章介绍了S1为组名、x为密码站位、1004位组id、最后是组成员。

//创建组S2指定组id为2022

[root@localhost ~]# groupadd S2 -g 2022
[root@localhost ~]# grep S2 /etc/group
S2:x:2022:

3、删除组

命令:groupdel  S2                        //删除组S2

[root@localhost ~]# groupdel S2

//查看S2的组信息无信息
[root@localhost ~]# grep S2 /etc/group

4、组的分类

用户组分为基本组(主组)和附加组

基本组:随着用户的创建,自动创建一个与用户名相同的组,用户的基本信息显示在/etc/passwd中。

附加组:用户加入的其他组。

注意:基本组只有一个,附加组可以有多个。

下面通过一个案例来体验一下

1、useradd是创建用户的命令。
2、usermod是修改用户的命令。
3、groupadd是创建组的命令。
4、-u指定用户的UID。
5、-g指定用户的基本组。
6、-G指定用户的附加组。
7、/etc/passwd可以查看的是用户的基本组。
8、/etc/group可以查看用户的附加组。

4.1、创建一个用户sure01,同时生成一个基本组sure01

//创建一个用户为sure01

[root@localhost ~]# useradd   sure01

//查看该用户的信息
[root@localhost ~]# grep   sure01 /etc/passwd
sure01:x:1005:1005::/home/sure01:/bin/bash            //用户名为sure01,同时sure01的基本组id为1005

4.2、同样的方法创建一个用户sure02,同时生成一基本组sure02。

//同样的方法创建一个用户sure02

[root@localhost ~]# useradd   sure02
[root@localhost ~]# grep   sure02 /etc/passwd
sure02:x:1006:1006::/home/sure02:/bin/bash

4.3、创建组group03和group04

//创建一个组group03

[root@localhost ~]# groupadd group03
[root@localhost ~]# grep group03 /etc/group
group03:x:1007:                //group03的组id为1007,组内组成员

//创建一个组group04

[root@localhost ~]# groupadd group04
[root@localhost ~]# grep group04 /etc/group
group04:x:1008:                //group04的组id为1008,组内组成员

4.4、修改用户sure01的基本组为group03

//修改前用户sure01的信息

[root@localhost ~]# grep   sure01 /etc/passwd
sure01:x:1005:1005::/home/sure01:/bin/bash                   //sure01的基本组id为1005

修改用户sure01的基本组为group03

[root@localhost ~]# usermod sure01 -g group03

//查看sure01修改后的信息
[root@localhost ~]# grep sure01 /etc/passwd
sure01:x:1005:1007::/home/sure01:/bin/bash                //sure01的基本组id变为了1007,此时sure01的基本组为group03

4.5将用户sure02添加到组group03中

//修改前sure03的组信息

[root@localhost ~]# grep sure03 /etc/group
sure03:x:1007:                                                //group03的组id为1007,组内没有组成员

//修改sure02的附加组(会先将suree02移出原来的附加组,但不移出基本组)

[root@localhost ~]# usermod sure02 -G group03

//查看group03组的信息
[root@localhost ~]# grep group03/etc/group
group03:x:1007:sure02                                //group03组信息中多了一个sure02组成员

//追加附加组, 原先的组保留

[root@localhost ~]# usermod sure02 -aG group04

//查看group04组的信息
[root@localhost ~]# grep group04/etc/group
group04:x:1008:sure02                                //group04组信息中多了一个sure02组成员

[root@localhost ~]# grep group03/etc/group
group03:x:1007:sure02                                //group03组信息中也有sure02组成员

4.6、查看上面所有改动的信息

//查看用户sure01的信息

[root@localhost ~]# grep sure01 /etc/passwd
sure01:x:1005:1007::/home/sure01:/bin/bash        //基本组是group03的组id

//查看group03的组信息

[root@localhost ~]# grep group03 /etc/group
group03:x:1007:sure02

//查看group04的组信息

[root@localhost ~]# grep group04 /etc/group
group04:x:1008:sure02

//这时候sure02的附加组有group03和group04

4.7、将用户sure02移出组group04

//在group04中移出sure02

[root@localhost ~]# gpasswd group04 -d sure02
正在将用户“sure02”从“group04”组中删除

//查看group04组信息
[root@localhost ~]# grep group04 /etc/group
group04:x:1008:

三、提权


当我们用普通用户登录的时候是无法对用户以及用户组进行操作的,因为权限不足,这个时候我们就需要提权,提权分为两个:永久提权和临时提权

1、永久提权

命令:su   -root

//普通用户创建用户组,失败,没有权限

[sure01@localhost ~] $ groupadd group01

groupadd:Permission denied.

groupadd:无法锁定 /etc/group,请稍后重试

//使用root权限

[sure01@localhost ~] $ su   root

密码:                                                        //输入秘密是不显示的,输入完回车即可

//创建组group01

[root@localhost ~] # groupadd group01

[root@localhost ~] # grep group01 /etc/group

group01: x: 1009:                                                //创建成功

[root@localhost ~] # exit                                        //退出

[sure01@localhost ~] $                                                //回到sure01

2、临时提权

以root身份登录,查看sudoers文件

//进入sudoers文件

vim /etc/sudoders

//第107行看到一下内容

%wheel  ALL=(ALL)       ALL                //允许wheel用户组中的用户在不输入该用户的密码的情况下使用所有命令

创建用户s1并添加到wheel组中

//创建s1并加入到wheel组中

[root@localhost ~]# useradd s1 -G wheel
[root@localhost ~]# id s1
uid=1007(s1) gid=1010(s1) 组=1010(s1),10(wheel)

//修改s1密码 不然是无法登录的

[root@localhost ~]# passwd s1
更改用户 s1 的密码 。
新的 密码:
无效的密码: 密码是一个回文
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

切换到s1用户登录,创建用户,会失败因为是用普通用户创建的,没有权限,需要使用提权命令sudo就可以进行创建用户操作。

今天的分享到这就就结束了,下次将分享用户权限。

Linux用户、用户组的管理相关推荐

  1. linux用户和文件目录管理

    Linux用户及权限管理 用户管理 多用户多任务的操作系统 用户类型 管理员用户 root 普通用户 系统用户/程序用户 用户相关的文件: /etc/passwd 用户信息 格式: 用户名:x:UID ...

  2. linux 修改用户组_linux小白到大神的成长之路:linux系统用户组的管理!

    linux小白到大神的成长之路:linux系统用户组的管理! 本经验由宗龙龙原创,全文共500多字,阅读需要14分钟,如果文中存在错误,还请大家多多指点,我会积极改进的! 上一篇文章为大家详细介绍有关 ...

  3. 在linux系统中查看组管理信息命令,Linux用户和组管理常用命令

    导读 这篇文章主要介绍了 用户和组管理常见 ,总结整理了linux用户和组管理相关原理.操作 与使用注意事项,需要的朋友可以参考下. 1.用户隶属于用户组的 2.用户与用户组配置文件 1)用户组配置文 ...

  4. linux 用户创建、管理、权限分配

    (1)su与sudo su:通过su可以在用户之间切换,如果超级权限用户root向普通或虚拟用户切换不需要密码,什么是权力?这就是!而普通用户切换到其它任何用户都需要密码验证: sudo: sudo扮 ...

  5. 【Linux】Linux用户和权限管理

    一.Linux用户和权限管理 用户 权限 命令 管理员用户 只有一个,UID=0的用户就是管理员用户,一般情况,默认它的用户名是root,家目录是/root root     :x   :0:  0: ...

  6. 在linux中关于组的命令,linux 用户和组管理相关的命令

    linux 用户和组管理相关的命令 用户管理 useradd建立用户帐号 语 法:useradd [options] LOGIN 参 数:-u UID: [UID_MIN, UID_MAX]定义在/e ...

  7. linux下用户和组的管理,linux用户和组管理常见命令

    本文总结了一些linux用户和组管理常见命令.供大家参考,具体如下: 1.用户隶属于用户组的. 2.用户与用户组配置文件 1)用户组配置文件 /etc/group 第一列:用户组的组名 第二列:组密码 ...

  8. 禁用和恢复用户账户Linux,linux用户和组管理.ppt

    <linux用户和组管理.ppt>由会员分享,可在线阅读,更多相关<linux用户和组管理.ppt(32页珍藏版)>请在人人文库网上搜索. 1.第5章 用户和组管理,5.1 概 ...

  9. linux权限管理ppt,Linux用户和权限管理.ppt

    Linux用户和权限管理.ppt (26页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 用户和权限管理Linux用户管理简介-1Linu ...

  10. linux php 用户权限管理,LINUX教程:Linux用户及权限管理

    <LINUX教程:Linux用户及权限管理>要点: 本文介绍了LINUX教程:Linux用户及权限管理,希望对您有用.如果有疑问,可以联系我们. [文件治理.管道.用户及组治理.用户及权限 ...

最新文章

  1. 王者荣耀赛季末上分很枯燥,可以找一个猎游陪练一起上分
  2. 如何保持Oracle数据库优良性能
  3. 信息学奥赛一本通C++语言——1110:查找特定的值
  4. 设计一个分步式登录系统_分布式系统:何时构建它们以及如何扩展。 分步指南。
  5. H5实现俄罗斯方块(一)
  6. Python selenium 去掉“隐藏正受到自动测试软件的控制”
  7. 2017/09/15
  8. 你的GAN再不听话,就把它暴力肢解了吧,有用 | Demo · 代码
  9. 利用函数求任意两个数之间的和
  10. 【微软ALUM】当语言模型遇到对抗训练
  11. hikaripool信息_聊聊hikari连接池的fixed pool design
  12. Javascript:拦截所有AJAX调用,重点处理服务器异常
  13. 彻底安装oracle数据库,安装 Oracle 数据库软件
  14. DPDK编程指南 (1 --3)
  15. H.264 视频编码器的研究与分析
  16. mysql源码安装linux,Linux下mysql源码安装笔记
  17. Jenkins非常详细的教程四(钩子程序,定时构建实现)
  18. 在IntelliJ IDEA中使用 JAVAFX 过程记录
  19. ABB机器人常用指令
  20. LTE技术派报告:LTE抛弃了CDMA?

热门文章

  1. ads1258_ADS1258:高精度多通道模/数转换芯片
  2. Maven命令行参数
  3. ssd测试遇到的问题
  4. 手机APP开发之MIT Appinventor详细实战教程(十三),云服务器的数据遇到的问题和解决的方法,以及网页客户端的详细使用方法,WIFI通信,数据获取在one net平台的相关应用
  5. L1-020 帅到没朋友
  6. 数据库应用系统(二)需求分析
  7. 博基计划(4)---近红外光谱过程分析中基线漂移的主要来源
  8. 【操作系统】多线程、生产者——消费者同步与互斥代码实现
  9. 关于jQuery中end()的定义和用法
  10. 如何解释“运维到底是干啥的”?