??????? 首先用户大家都不陌生,我们在使用电脑的时候进入电脑登录的就是我们的账号也就是用户,用户组顾名思义里面可以存放多个用户方便管理以及授权。
一、用户
首先我们需要用超管(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就可以进行创建用户操作。
?
今天的分享到这就就结束了,下次将分享用户权限。
?
?
?
|