Linux用户、组及权限

一、Linux 3A+

 通过3A进行资源的分派,所谓3A即:

* Authentication:As the first process, authentication provides a way of identifying a user, typically by having the user enter a valid user name and valid password before access is granted. The process of authentication is based on each user having a unique set of criteria for gaining access. The AAA server compares a user‘s authentication credentials with other user credentials stored in a database. If the credentials match, the user is granted access to the network. If the credentials are at variance, authentication fails and network access is denied.
* Authorization:Following authentication, a user must gain authorization for doing certain tasks. After logging into a system, for instance, the user may try to issue commands. The authorization process determines whether the user has the authority to issue such commands. Simply put, authorization is the process of enforcing policies: determining what types or qualities of activities, resources, or services a user is permitted. Usually, authorization occurs within the context of authentication. Once you have authenticated a user, they may be authorized for different types of access or activity.
* Accounting: The final plank in the AAA framework is accounting, which measures the resources a user consumes during access. This can include the amount of system time or the amount of data a user has sent and/or received during a session. Accounting is carried out by logging of session statistics and usage information and is used for authorization control, billing, trend analysis, resource utilization, and capacity planning activities.

 除了3A,还引入了审计,作用如下:

* Audition:针对操作进行“合法性”检测

二、安全上下文

 A security context, or security label, is the mechanism used by SELinux to classify resources, such as processes and files, on a SELinux-enabled system. This context allows SELinux to enforce rules for how and by whom a given resource should be accessed. A security context is typically shown as a string consisting of three or four words. Each word specifies a different component of the security context, namely the user, role, type, and level of that file or process. Each word is separated by a colon. e.g.

 The security context for files is stored in the form of an extended file attribute. A file‘s security context may be viewed using ls(1) with the -Z option. It may be modified using chcon(1), whose syntax is intentionally similar to chmod. A file‘s security context is associated with the file‘s inode and not the location or directory; this ensures that security contexts will remain the same regardless of whether a file is moved or renamed.
 Some filesystems do not support extended file attributes. In these cases, the kernel provides a default security context for that filesystem. For example, all files on an NFS filesystem are labeled "system_u:object_r:nfs_t".

refer to: https://fedoraproject.org/wiki/Security_context
https://blog.csdn.net/hongbochen1223/article/details/45176195

三、用户、组及权限相关文件详解

用户:
用户类型用户名称用户ID管理员用户root0普通用户
系统用户(针对守护进程获取资源进行权限分配)
登录用户(交互式登录)
1-499(CentOS6 ↓);1-999(CentOS7)
500+(CentOS6 ↓);1000+(CentOS7)

组:
组类型组名称组ID管理员组root0普通组
系统组
普通组
1-499(CentOS6 ↓);1-999(CentOS7)
500+(CentOS6 ↓);1000+(CentOS7)

组类别:

* 主组:

      用户有且仅有一个主组
           默认主组为创建用户时自动创建,组名与用户名相同,只包含该同名用户,且作为该用户的私有组
           如果创建用户时,使用-g指定主组,则该用户的主组为指定名称的组,且仅包含该用户(此时不会创建同名的组!!)

* 附加组:也称辅助组,一个用户可以属于零个或多个附加组

用户和组的配置文件

 /etc/passwd:用户及其属性信息(名称、 UID、主组ID等)
 /etc/group:组及其属性信息
 /etc/shadow:用户密码及其相关属性
 /etc/gshadow:组密码及其相关属性
 /etc/default/useradd:useradd defaults configuration file
 /etc/skel/*:用户home目录的默认配置文件
 /etc/login.defs:shadow password suite configuration,用户默认密码属性配置文件

 文件字段详解:

* /etc/passwd

①用户名:②密码占位符:③用户ID:④主组ID:⑤用户描述:⑥HOME目录:⑦SHELL类型

* /etc/shadow

①用户名:②用户密码(加密:a部分为使用的加密算法;b部分为加密密码):③最近一次密码更改时间(从1970年1月1日起计算的天数):④密码更改等待天数(0表示随时可改):⑤密码必须更改期限(密码过期期限,99999表示永不过期):⑥密码过期提醒天数(密码过期前几天提醒,默许为7天):⑦密码过期锁定(过期后几天锁定):⑧多少天后帐号失效(从1970年1月1日起计算的天数)

* /etc/group

①组名:②密码占位符:③组ID:④以当前组为附加组的用户列表(逗号分隔)

* /etc/gshadow

①组名:②组密码:③组管理员列表:④以当前组为附加组的用户列表(逗号分隔)

 密码文件工具

      密码文件快捷编辑
      vipw:= vi /etc/passwd
      vigr: = vi /etc/group
      密码文件检验
      pwck:检验/etc/passwd
      grpck:检验/etc/group

 密码加密

? 加密机制:
加密:明文--> 密文
解密:密文--> 明文
? 单向加密:哈希算法,原文不同,密文必不同
相同算法定长输出,获得密文不可逆推出原始数据
雪崩效应:初始条件的微小改变,引起结果的巨大改变(蝴蝶效应)

md5: message digest, 128bits
sha1: secure hash algorithm, 160bits
sha224: 224bits
sha256: 256bits
sha384: 384bits
sha512: 512bits(CentOS7默认)
? 更改加密算法:
authconfig --passalgo=sha256 --update

 密码复杂度策略

* 使用数字、大写字母、小写字母及特殊字符中至少3种
* 足够长度
* 使用随机密码
* 定期更换,不使用近期曾用密码

四、用户、组及权限相关命令

useradd:添加用户(相同命令adduser)
-u:UID,指定用户ID
-o:配合-u 选项,不检查UID的唯一性
-g:GID,指明用户所属基本组,可为组名,也可以GID
-c:"COMMENT",用户的注释信息
-d:HOME_DIR,以指定的路径(不存在)为家目录
-s:SHELL,指明用户的默认shell程序,可用列表在/etc/shells文件中
-G:GROUP1[,GROUP2,...],为用户指明附加组,组须事先存在
-N:不创建私有组作为主组,使用users组作主组
-r:创建系统用户(CentOS 6:ID<500;CentOS 7: ID<1000)

-m:创建家目录
-M:不创建家目录,用于非系统用户(/etc/passwd中有,但实际没有创建)

      -D:显示创建用户时,默认参数

passwd:修改用户口令
-d:删除指定用户密码
-l: 锁定指定用户
-u:解锁指定用户
-e:强制用户下次登录修改密码,等同于chage -d
-f:强制操作
-n min days:指定最短使用期限
-x max days: 最大使用期限
-w warn days:提前多少天开始警告
-i inactive days:非活动期限
--stdin:从标准输入接收用户密码
echo "PASSWORD" | passwd --stdin USERNAME

usermod:更改用户属性
-u:UID: 新UID
-g:GID: 新主组
-G:GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项
-s:SHELL:新的默认SHELL
-c:‘COMMENT‘:新的注释信息
-d:HOME: 新家目录不会自动创建;若要创建新家目录并移动原家数据,同时使用-m选项
-l:login_name: 新的名字(改变用户名称)
-L:lock指定用户,在/etc/shadow 密码栏的增加 !
-U:unlock指定用户,将 /etc/shadow 密码栏的 ! 拿掉
-e:YYYY-MM-DD: 指明用户账号过期日期
-f:INACTIVE: 设定非活动期限

chage
-d LAST_DAY,等同于passwd -e
-E --expiredate EXPIRE_DATE
-I --inactive INACTIVE
-m --mindays MIN_DAYS
-M --maxdays MAX_DAYS
-W --warndays WARN_DAYS
–l 显示密码策略
示例:
chage -d 0 tom 下一次登录强制重设密码
chage -m 0 –M 42 –W 14 –I 7 tom
chage -E 2016-09-10 tom

userdel:删除用户
-r: 一并删除用户家目录

finger:显示用户信息

chfn:更改已有用户相关信息(finger显示的)

chsh:更改已有用户的shell

su:
切换用户的方式:
su UserName:非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录
su - UserName:登录式切换,会读取目标用户的配置文件,切换至家目录,完全切换
root su至其他用户无须密码;非root用户切换时需要密码

换个身份执行命令:
su [-] UserName -c ‘COMMAND‘

选项: -l --login
su -l UserName 相当于 su - UserName

newusers passwd格式文件:批量创建用户

chpasswd 批量修改用户口令

groupadd:添加新组
-g GID:指明GID号
-r:创建系统组
CentOS 6: ID<500
CentOS 7: ID<1000

groupmod:更改组属性
-n group_name: 新名字(更改组名称)
-g GID: 新的GID

groupdel:删除组
groupdel GROUP_NAME

gpasswd:更改组密码(默认)
-a user:将user添加至指定组中
-d user:从指定组中移除用户user
-A user1,user2,... :设置有管理权限的用户列表

newgrp命令:临时切换主组
如果用户本不属于此组,则需要组密码

groupmems:
-g:--group groupname 更改为指定组 (只有root)
-a:--add username 指定用户加入组
-d:--delete username 从组中删除用户
-p:--purge 从组中清除所有成员
-l: --list 显示组成员列表
?groups [OPTION].[USERNAME]... 查看用户所属组列表

id:显示用户和组ID
-u: 显示UID
-g: 显示GID
-G: 显示用户所属的组的ID
-n: 显示名称,需配合ugG使用

原文地址:https://blog.51cto.com/1456850/2372638

时间: 2024-11-08 21:24:03

Linux用户、组及权限的相关文章

Linux用户,组和权限管理

用户,组,权限 一.了解什么是用户,组和权限 1.对于linux系统来说,简单明了的特点就是多用户,多任务,也就是说一台linux系统的主机上面可以同时允许多个用户登录,当通过多个终端登录时可以同时使用这台linux的系统,然而对于linux习题来说,一切皆文件,别人和自己的工作任务都是以文件的形式存在的,不同的用户之间岂不是没有隐私或者安全而言,其实在linux上不是这样的,我们可以理解linux把每一个用户分配一间屋子,没有钥匙即权限我们是进不去浏览以及修改文件的,但是既然是一间屋子,那当然

linux 用户 组 和权限管理

Multi-task  Multi-Users 每个使用者: 用户标识 . 密码: Authentication(认证机制): Authorization  (授权机制): Account / Audition (审计): 组:用户组,用户容器 用户类别: 管理 普通用户 系统用户 登录用户 用户标识: UserIo ,UID 16bits 二进制数字:0-65535 管理员:0 普通用户: 1-65635 系统用户   1-499(Centos6)    1-1000(CentOS7) 登录用

Linux学习笔记(二)——Linux用户管理和权限管理

Linux系统的权限管理 Linux系统是一个多用户多任务的操作系统,多用户是指系统资源可以被不同用户各自拥有,即每个用户对自己的资源有特定的权限,用户之间互不影响.Linux系统有一套权限管理机制,文件不允许非授权用户访问或修改.这种机制的实现是通过用户和组的形式实现的. 5.1           Linux安全机制 账户管理是Linux安全机制的核心部分.登录Linux系统的用户都会被分配一个的用户账户.用户对系统上文件的访问权限取决于他们登录系统时使用的账户.每个用户的权限是通过创建用户

用户 组 和权限 以及权限的 分类

关于文件的安全我们要从3A验证 说起 1  Authentication:认证 2  Authorization:授权 3  Accouting|Audition:审计 由于系统文件的用户太多为了便于管理 我们便把系统的用户 进行分类 赋予权限 合理地分配资源 所以今天介绍的是 系统用户 用户组 的一些权限的 分配 修改 和文件的 权限修改 和赋权 以及一些特殊权限的用法 用户的分类 管理员:root 0 普通用户:1-65535 系统用户:1-499(CENTOS6) 1-999 对守护进程获

Linux用户及文件权限管理

用户及文件权限管理 一.实验介绍 1.1 实验内容 Linux 中创建.删除用户,及用户组等操作. Linux 中的文件权限设置. 1.2 实验知识点 Linux 用户管理 Linux 权限管理 二.Linux 用户管理 通过第一节课程的学习,你应该已经知道,Linux 是一个可以实现多用户登陆的操作系统,比如"李雷"和"韩梅梅"都可以同时登陆同一台主机,他们共享一些主机的资源,但他们也分别有自己的用户空间,用于存放各自的文件.但实际上他们的文件都是放在同一个物理磁

linux文件组、权限等

文件所有者.所在组合其他组  --改变用户所在组    组和在oa系统中的组差不多,用户代表的好像是个体,组有点像角色的意思.不过权限的话并不是个体从组中获得,组仅仅是一个机制,进行部分文件控制与共享,管理权限的机制,有点类似一个容器.            如何在linux中添加组    groupadd policeman       在添加用户时,指定将某个用户添加到哪个组中    useradd -g 组名 用户名 root权限改变某个用户所在的组:    usermod -g 组名 用

Linux用户与“最小权限”原则

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 作为一个Linux用户来说,我们并不需要特别关心下面的机制.但是,当我们去编写一个Linux应用程序的时候,就要注意在程序中实现以下切换(有必要的前提下),以便让我们的程序符合"最小权限"的原则,不给系统留下可能的安全隐患.给你的程序过度的权限的话,就像是吃下去下面的汉堡: 容易让人吃伤的汉堡: 过度的"权限" Linux的用户在登录(login)之

linux用户及管理权限

linux用户大体分为两种:一是:管理员用户:二是普通用户,普通用户又可以分为系统用户和登录用户.因为linux是一个多用户多任务的系统,所以每一个要使用系统资源的用户,都要向管理员申请一个账号,使用这个账号登录到系统.每个用户都拥有一个自己的名字和密码,以登录到用户. 每个用户都有唯一的用户标识(userid,UID),是以16bits二进制数字来表示0-65535.以CentOS为例管理员用户的UID是0:普通用户的UID为1-65535,其中系统用户的UID在centos6及早些版本为1-

linux 用户及文件权限管理

Linux 是一个可以实现多用户登陆的操作系统,比如"李雷"和"韩梅梅"都可以同时登陆同一台主机,他们共享一些主机的资源,但他们也分别有自己的用户空间,用于存放各自的文件.但实际上他们的文件都是放在同一个物理磁盘上的甚至同一个逻辑分区或者目录里,但是由于 Linux 的 用户管理 和 权限机制,不同用户不可以轻易地查看.修改彼此的文件. 下面我们就来学习一下 Linux 下的账户管理的基础知识. 1.首先查看用户的指令: who am i/whoami 输出的第一列

用户,组和权限

一级标题 二级标题 1.Linux的安全模型 资源分派: Authentication:认证,验证用户身份 Authorization:授权,不同的用户设置不同权限 Accouting|Audition:审计 当用户登录成功时,系统会自动分配令牌token,包括:用户标识和组成员等信息 用户 管理员:root, 0 普通用户:1-60000 自动分配 系统用户:1-499 (CentOS 6以前), 1-999 (CentOS 7以后) 对守护进程获取资源进行权限分配 登录用户:500+ (Ce