Linux用户、组管理和提权

1.用户的概念:

系统上的每个进程(运行程序)都以单独用户的身份运行。
每个文件由特定用户拥有。
访问文件和目录受到用户的限制。
与正在运行的进程相关联的用户确定该进程可访问的文件和目录。

1.1.Linux中的用户及其角色划分

账户为分三类:
超级用户(管理员):享有最高权限,具备系统中的所有权限(一般为root),UID为0。“上帝”
系统用户:别称“伪用户”,无法登录系统,其主要作用是支撑系统运行,方便系统管理;uid号码小于1000。“月老、财神”
普通用户:有权限限制,只能对自己目录下的文件进行操作,可以登录系统;uid 大于1000,登陆shell是bin/bash。“凡人”
任何一个账户在创建的同时都会在系统里面创建一个同名的组。

1.2.查看当前登录的用户信息:

语法:id 用户名
uid=0(root) gid=0(root) groups=0(root),…
用户编号=具体数字(用户名) 组编号=具体数字(组名) 组=组ID(成员名字),附加组

[root@localhost ~]# id user01   //查看用户的uid、gid、和所在组
uid=1001(user01) gid=1003(user01) groups=1003(user01)

1.3.查看文件的owner:

语法:ls -l 文件名
eg:-rwxr–r–. 1 root user01 109 7月 7 17:03 tmp/file1

1.4.查看运行进程的username:

语法:ps aux
eg:root 1 0.0 0.0 19360 1536 ? Ss 13:29 0:00 /sbin/init

2.用户组信息储存的文件:

2.1.用户基本信息文件:

/etc/passwd(冒号分割为7列字段),不能用vim命令改这个文件,主要是来观察。
eg:root : x : 0 : 0 : root : /root : /bin/bash
用户名 : x : uid : gid : 描述 : HOME : shell
解释:
root:用户名(登录系统的名字)
X:密码占位符,具体内容不在这里
0:UID, 用户的身份证号,系统约定:RHEL7
(0 特权用户,1~999 系统用户,1000+ 普通用户)
0:GID,GROUP 组号,每创建一个用户,系统会自动创建同名的组
root:描述,比如经理 manager,默认是用户名
/root:家目录:登录系统时,所在目录
/bin/bash:登录shell:命令解释器

2.2.组信息文件:

/etc/group(4列) 组名:组密码:组ID:组成员
eg:root : x : 0 : 组成员默认为空
(可以使用vim添加组成员)

2.3.用户密码信息文件:

/etc/shadow(9列)
root : $ 1 $ MYG2N : 15636 : 0 : 99999 : 7: : :(了解即可)
解释:
1)“登录名”是与/etc/passwd文件中的登录名相一致的用户账号
2)“口令”字段存放的是加密后的用户口令字,如果为空,则对应用户没有口令,登录时不需要口令;星号代表帐号被锁定;双叹号表示这个密码已经过期了。
3)“最后一次修改时间”表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能不一样。例如在SCOLinux中,这个时间起点是1970年1月1日。
4)“最小时间间隔”指的是两次修改口令之间所需的最小天数。
5)“最大时间间隔”指的是口令保持有效的最大天数。
6)“警告时间”字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。
7)“不活动时间”表示的是用户没有登录活动但账号仍能保持有效的最大天数。(软限制,到期后多少天就不能用账号了)
8)“失效时间”字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。(硬限制)
9)保留

3.用户:

3.1.创建用户–未指定选项:

语法:useradd 用户名,如果创建一个用户时,未指定任何选项,系统会创建一个和用户名相同的组作为用户的Primary Group(基本组)

3.2.创建用户–指定选项:

语法:useradd 用户名 -选项
选项:-u指定uid,-d指定家目录,-g指定主组,-G指定附加组,-s Shell(能否登录,使用终端)、-M不创建用户的主目录等
(useradd --help可查看其他选项)

3.3.删除用户:

语法:userdel -r 用户名
-r删除用户,同时删除用户家目录

3.4.用户密码:

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

3.5.其它选项管理:

语法:usermod -选项 修改成的内容 用户名
eg:usermod -s /sbin/nologin user02
-s(shell)修改登录SHELL,-u(uid)修改用户uid,-aG(add group)将用户添加进组,等(可查看其他指令)

3.6.组成员管理:

注意:只针对已存在的用户
3.6.1.给组添加账户:-a

[root@localhost ~]# gpasswd -a user10 grp2
将用户“user10”添加到组“grp2”

3.6.2.从组删除用户:-d

[root@localhost ~]# gpasswd -d xiaohong it
将用户“xiaohong”从“it”组中删除

4.用户组:

4.1.分类:

基本组(随用户创建的同名组)、附加组(用户加入的其他组)

4.2.创建组–未指定选项:

语法:groupadd 组名

4.3.创建组–指定选项:

语法:groupadd 组名 -选项,-g指定gid,等

4.4.删除组:

语法:groupdel 组名

5.提权:

5.1.永久提权:

Switching users with su;语法:su - 用户名

5.2.临时提权:

Running commands as root with sudo
sudo简介:将当前用户切换到超级用户下,然后以超级用户身份执行命令,执行完成后,直接退回到当前用户。
具体工作过程如下:当用户执行sudo时,系统会主动寻找 /etc/sudoers文件,判断该用户是否有执行sudo的权限,确认用户具有可执行sudo的权限后,让用户输入用户自己的密码确认,若密码输入成功,则开始执行sudo后续的命令。

实例:
1)观察授权信息
以root身份,授权普通用户user10

[root@localhost ~]# vim /etc/sudoers(系统的授权文件)	/wheel关键字查找
%wheel         ALL=(ALL)    ALL
允许wheel用户组 不输入密码     使用所有命令

2)将用户加入到组(防止修改/etc/sudoers文件出错)
创建user10账号并加入组:

[root@localhost ~]# useradd user10 -G wheel

查看user10信息 :

[root@localhost ~]# id user10
uid=1001(user10) gid=1001(user10) group=1001(user10),10(wheel)

3)切换用户登录(用户需要密码:# passwd user10)
切换用户xulei登陆,该用户一定要注销(或者使用su来切换)
4)使用sudo提权(拥有权限的普通用户,可执行 sudo后续的命令

[user10@localhost ~]$ useradd gougou10
-bash: /usr/sbin/useradd: 权限不够

[user10@localhost ~]$ sudo useradd gougou10

[user10@localhost ~]$ id gougou10
uid=1002(gougou10) gid=1002(gougou10) group=1002(gougou10)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TA548464

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值