Linux_权限管理-用户组管理

权限管理-用户组管理

1. Linux用户介绍

1. 用户的概念

	用户对硬件资源的操作都需要通过操作系统,比如用户要读取硬盘中的一份关键数据,出于安全考虑,操作系统的开发者们都专门开发了安全机制,要使用操作系统必须事先输入正确的用户名与密码,这便是用户的由来 

2. 创建用户的目的

# 主要就是权限问题 
	1. 系统上的每一个进程,都需要一个特定的用户运行
       一个用户拥有特定的权限,该用户运行的进程与用户权限一致 

	2. 通常在公司是使用普通用户管理服务器,因为root权限过大,容易出问题 

3. 查看用户相关信息

# 查看当前用户 
[root@aliyum ~]# id 
uid=0(root) gid=0(root) groups=0(root) 

# 查看当前用户是谁 
[root@aliyum ~]# whoami 
root 

# 查看root用户 
[root@aliyum ~]# id root 
uid=0(root) gid=0(root) groups=0(root) 

# 查看所有登录的用户
[root@aliyum ~]# who  
root pts/2 2020-10-23 15:24 
(139.227.12.100) 

# 每一个进程都有其用户 
[root@aliyum ~]# ps aux |grep [s]sh 
root 1067 0.0 0.2 112920 4328 ? 
Ss Feb15 0:04 /usr/sbin/sshd -D 

root 27197 0.0 0.2 154708 5576 ? 
Ss 15:24 0:00 sshd: root@pts/2 

4. linux系统中用户角色划分

# 用户角色划分
	在linux系统中的用户分为管理员用户与其他用户 
	管理员用户拥有最高权限 
	其他用户根据管理员的分配拥有不同的权限 

# 注意 
	对于linux系统来说,用户的角色是通过UID和GID识别的
    用户系统帐号的名称(如lee)其实给管理员看的,linux系统能够识别的仅仅是UID和GID这样的数字

# uid与gid 
1. UID (User Identify)用户ID
	唯一标识一个系统用户的帐号,uid在系统中是唯一的 
    uid相当于一个人的身份证,用户名就相当于这个人的名字 

2. GID (Group Identify)组ID
	如果把一个操作系统当成一家公司,uid相当于这个人的员工号,gid相当于他的部门编号

# centos7系统之前约定 
	uid: 0 由超级用户或具备超级用户权限的用户创建的用户(贫民老百姓,大臣,布衣/bin/bash) 

	uid: 1~499 系统虚拟用户 存在满足文件或服务启动的需要 一般不能登录

	uid: 500-65535 普通用户 

# centos7系统约定: 
	0 超级管理员,最高权限,有着极强的破坏能力 

	1~200 系统用户,用来运行系统自带的进程,默认已创建

	201~999 系统用户,用来运行安装的程序,所以此类用户无需登录系统 

	1000+ 普通用户,正常可以登录系统的用户,权限比较小,能执行的任务有限 

# 用户和组的关系: 
	一对一,多对一,一对多,多对多 

5. 超级用户

# 超级用户
	默认是root用户,其UID和GID均为0。root用户在每台unix/linux操作系统中都是唯一且真实存在的,通过它可 
以登录系统,可以操作系统中任何文件和命令,拥有最高的管理权限

# 示例 
1. 操作系统 => 一个国家 
2. root用户 => 国王 
3. root用户的家目录 => 皇宫 
 
# 注意
	1. 在生产环境中,一般会禁止root帐号通过SSH远程连接服务器(保护好皇帝),当然,也会更改默认的SSH端口(保护好皇宫),以加强系统安全。 

	2. 企业工作中:没有特殊需求,应该尽量不要登录root用户进行操作,应该在普通用户下操作任务,然后用sudo管理普通用户的权限,可以细到每个命令权限分配。 

	3. 在linux系统中,uid为0的用户就是超级用户。但是通常不这么做,如果确实有必要在某一操作上用到管理的权限的话,那就用sudo单独授权,也不要直接用uid为0的用户 

6. 扩展阅读

'''
Linux/Unix是一个多用户、多任务的操作系统 
windows是一个单用户多任务操作系统

linux发展史
	multics => unix => linux
	所以linux是多用户的,天然支持多个连机终端,连机终端在没有互联网的情况下是有意义的,多个人可以用不同的连机终端连到一台机器/服务器上使用,而有了互联网之后,多个人可通过网络访问服务器,这个时候多用户or单用户的概念就不再那么重要
'''
# 注意
	多用户不是说可以创建多个用户,而是指一次可以登录多个 
    用户多任务指的是可以并发执行多个进程

2. 用户与组相关文件

# 用户 组相关的文件
    /etc/passwd
    /etc/shadow
    /etc/group
    /etc/gshadow

1. /etc/passwd

在这里插入图片描述

root:x:0:0:root:/root:/bin/bash
  
# 字段注释
第一字段
	用户名(也被称为登录名) 

第二字段
	口令 在例子中我们看到的是一个x,其实密码已被映射到/etc/shadow文件中

第三字段
	UID 请参看本文的UID的解说

第四字段
	GID 请参看本文的GID的解说

第五字段
	描述信息,可选 

第六字段
	用户的家目录所在位置

第七字段
	用户所用SHELL的类型

2. /etc/shadow

在这里插入图片描述

small_egon:1VE.Mq2Xf$2c9Qi7EQ9JP8GKF8gH7P 
B1:13072:0:99999:7::: 
big_egon:1IPDvUhXP$8R6J/VtPXvLyXxhLWPrnt/ 
:13072:0:99999:7::13108:

# 字段注释
第一字段
	用户名(也被称为登录名)/etc/shadow中,用户名和/etc/passwd 是相同的
    这样就把passwd和shadow中用的用户记录联系在一起这个字段是非空的

第二字段
	密码(已被加密)
    如果是有些用户在这段是x,表示这个用户不能登录到系统,这个字段是非空的 

第三字段
	上次修改口令的时间,这个时间是从19700101日算起到最近一次修改口令的时间间隔(天数)
    您可以通过passwd来修改用户的密码,然后查看/etc/shadow中此字段的变化 

第四字段
	两次修改口令间隔最少的天数,如果设置为0,则禁用此功能;也就是说用户必须经过多少天才能修改其口令
    此项功能用处不是太大,默认值是通过/etc/login.defs文件定义中获取,PASS_MIN_DAYS中有定义 

第五字段
	两次修改口令间隔最多的天数,这个能增强管理员管理用户口令的时效性,应该说增强了系统的安全性
	如果是系统默认值,是在添加用户时由/etc/login.defs文件定义中获取,在PASS_MAX_DAYS中定义

第六字段
	提前多少天警告用户口令将过期,当用户登录系统后,系统登录程序提醒用户口令将要作废
    如果是系统默认值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

I believe I can fly~

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

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

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

打赏作者

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

抵扣说明:

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

余额充值