用户,用户组及权限管理

用户、用户组、其他的权限

多用户:多人同时使用系统资源;

多任务:同行运行多个进程;

AAA:

Authentication认证

Authorization授权

Account账户

用户的类别:

管理员:root

普通用户:

系统用户:仅用于运行服务程序;

登录用户:系统资源的正常使用者;

用户标识:UserID, UID

16bits二进制数字:0-65535;

管理员:0

普通用户:

系统用户:

CentOS 5, 6: 1-499

CentOS 7: 1-999

普通用户:

CentOS 5,6: 500+

CentOS 7: 1000+

名称解析:名称转换;

解析库: username <--> UID

/etc/passwd:用户名、UID及其它属性信息解析库;

用户组:

组类别:

管理员组

普通用户组

系统组

登录组

组标识:GroupID, GroupID

管理员组:0

普通用户组:

系统组:

CentOS 5,6: 1-499

CentOS 7: 1-999

登录组:

CentOS 5,6: 500+

CentOS 7: 1000+

名称解析:groupname <--> gid

解析库:/etc/group

组类别:以用户为核心

用户的主组:基本组;

用户的附加组:额外组;

组类别:根据组内容纳的用户来划分

私有组:与用户名相同,且只有一个此用户;

公共组:组内包含了多个用户;

认证机制:验正用户的确是他所声称的人;

通过对比事先存储的,与登录时所提供的信息是否一致;

存储于何处:

用户的认证信息库:/etc/shadow

组的认证信息库:/etc/gshadow

密码:加密存放,使用单向加密机制;

单向加密:仅能加密,不能解密;提取数据特征码;

数据相同:加密结果相同;

定长输出:

雪崩效应:

算法:

md5: message digest, 128bits

sha1: secure hash algorithm, 160bits

sha224

sha256

sha384

sha512

添加salt:取随机数;

随机数:

熵池:

伪随机数:软件模拟产生;

/dev/random:仅从熵池返回随机数,随机数耗尽时会阻塞进程;

/dev/urandom:先从熵池返回随机数,熵池耗尽时,则从伪随机数生成器返回随机数;

安全上下文:

进程:以某个用户的身份运行,进程对资源的操作权限取决于它所代表的用户;

文件:权限模型

属主:owner

属组:group

其它:other

权限模型生效的机制:

进程的运行者:

是否与文件的属主相同,如果是,则以文件属主的身份来访问此文件;否则

是否属于文件的属组,如果是,则以文件属组的身份来访问此文件;否则

以文件的其它用户的身份来访问此文件;

用户和组的管理:

主要以命令进行:

组:groupadd,  groupmod, groupdel

用户:useradd, usermod, userdel

认证:passwd

组解析库文件:/etc/group

GRPNAME:x:GID:user1, user2, ...

组名:密码点位符:GID:以此组为附加组的用户列表,以逗号分隔

groupadd命令:添加组

groupadd  [选项]  group

-g  GID:指明GID;

-r, --system:系统组;

groupmod命令:修改组信息

groupmod [选项] GROUP

-g  GID

-n NEW_NAME:修改组名;

groupdel命令:删除组

groupdel [选项] GROUP

用户解析库:/etc/passwd

name:password:UID:GID:GECOS:directory:shell

useradd命令:添加用户

useradd  [选项]  登录名

-c, --comment COMMENT:注释信息,一般为Full Name;

-d, --home  /PATH/TO/HOME_DIR:家目录路径;目标路径不能事先存在,否则会有警告,不会得利skel相关的文件给用户;

-g, --gid GROUP:用户的基本组组名或GID;

-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:用户所属的附加组列表,彼此间用逗号隔开,中间没有空格;

-m, --create-home:强制创建家目录;

-M:不创建用户主目录,即使系统在 /etc/login.defs 中的设置 (CREATE_HOME) 为 yes;

-r, --system:创建一个系统账户

-s, --shell SHELL:用户的登录 shell 名,默认为留空,让系统根据 /etc/default/useradd 中的 SHELL 变量选择默认的登录shell;

-u, --uid UID:用户 ID 的数字值。此值必须为唯一的,除非使用了 -o 选项。此值必须非负,默认使用大于等于UID_MIN,且大于任何其他用户 ID 最小值。

注意:创建登录用户时,为其自定义的shell程序必须为可登录shell,且要位于/etc/shells文件中;

useradd -D:显示创建用户时的默认设置;

useradd -D  选项:设置某默认选项;

-e, --expiredate  EXPIRE_DATE:用户账号的过期期限;过期后会被锁定;日期以 YYYY-MM-DD 格式指定

-f, --inactive INACTIVE:密码过期后,账户被彻底禁用之前的天数。0 表示立即禁用,-1 表示禁用这个功能。

为用户提供默认配置的配置文件:

/etc/login.defs, /etc/default/useradd

影子口令文件:/etc/shadow

登录名:密码:最近一次的修改时间:密码的最短使用期限:密码最长使用期限:提前警告的天数:非活动期限:账号的禁用日期:保留字段

密码:$加密算法$salt$加密的密码字符串

usermod命令:修改账号信息

-c, --comment  COMMENT

-d, --home  HOME_DIR:修改家目录为新的位置,但一般应该同时使用-m选项以保证原家目录中的文件会移动到新目录中;

-g, --gid GROUP

-G, --groups  GROUP1[,GROUP2,...[,GROUPN]]]:修改时会覆盖原有的附加组;一同使用-a选项,表示为用户添加新的附加组;

-l, --login  NEW_LOGIN:修改当前用户的用户名;

-s, --shell  SHELL

-u, --uid  UID

-L, --lock:锁定用户的密码。这会在用户加密的密码之前放置一个“!”

-U, --unlock:解锁用户的密码。这将移除加密的密码之前的“!”

userdel命令:删除用户账号

userdel [选项]  登录名

-r, --remove:用户主目录中的文件将随用户主目录和用户邮箱一起删除

passwd命令:密码管理命令

passwd   [-l]  [-u  [-f]]  [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [--stdin] [username]

(1) passwd:修改自己的密码;

(2) passwd  username:修改其它用户的密码,仅root有此权限;

密码复杂度:

(1) 不能少于8个字符;

(2) 不能使用与过去的密码太相似的密码;

(3) 应该使用四类字符中的至少三类;

选项:

-l:锁定密码

-u:解锁解密

-d:清除密码

--stdin:从标准输入接收密码;

echo "PASSWORD" | passwd  --stdin  USERNAME

id命令:查看用户相关的id信息;

id  [OPTION]...  [USER]

-u:仅查看uid

-g:仅查看gid

-G:查看所属的所有组的ID;

-n:显示名称,而非ID;

su命令:switch user

切换用户时:

(1) 不读取目标用户的配置文件(非登录式切换,半切换);

su  USERNAME

(2) 读取目标用户的配置文件(登录式切换,完全切换);

su  -l  USERNAME

su  -  USERNAME

-c command, --command=command:仅以指定的用户的身份运行此处指定的命令,而不执行真正的身份切换操作;

注意:root切换至任何其它用户无须认证密码;普通用户切换至其它用户,都需要密码;

gpasswd命令:为组添加密码

组密码文件:/etc/gshadow

gpasswd [选项] group

-a USERNAME:把用户添加至组中;

-d USERNAME:从此组中移除此用户;

newgrp命令:登录到一个新组

chage命令:修改用户账号的各种期限;

课外实践:

其它几个命令:chsh, chfn, finger, pwck, grpck

for example:

(1) 创建用户gentoo,UID为5000,基于组为gentoo,附加组为distro和peguin;

~]# groupadd distro,peguin

~]# useradd -u 5000 gentoo

~]# usermod -G distro,peguin

(2) 创建用户fedora,基于注释信息为"Fedora Core",默认shell为/bin/tcsh;

~]#  useradd fedora

~]# usermod -c "Fedora Core" fedora -s /bin/tcsh

时间: 2024-12-13 07:36:06

用户,用户组及权限管理的相关文章

LINUX用户、用户组及权限管理

LINUX用户.用户组及权限管理 一.LINUX权限管理 LINUX权限分为:r,w,x,读,写,可执行 对文件来说: r 可读,即可以使用类似cat等命令查看文件的内容 w 可写,可以编辑或删除此文件: x 可执行,exacutable,可以在命令提示符下当做命令提交给内核运行. 对于目录来说(默认有x权限): r 可以对此目录执行ls以列出内部的所有文件 w 可以在此目录中创建文件 x 可以使用cd切换进此目录,也可以使用ls -l查看内部文件的详细信息. 文件 目录 r 可读,即可以使用类

用户组和权限管理—概念

用户组和权限管理-概念 3A:认证,授权,审计. 每个使用者:用户标识,密码: Authentication    :  认证 Authorization     :授权 Accout/Audition   :审计 用户管理:为了方便合理的分配系统有限资源:每个能进入Linux系统的用户都会分配一个唯一的用户账户,用户对系统上的对象的访问权限取决于他们的登录系统时用的账户. 用户分类:管理账户: 普通账户:系统用户(只是启动服务使用的账户),普通用户(可以登录的) 组分类:  管理员组 普通用户

用户组和权限管理

# 用户组和权限管理 ## 概念 用户分为三类: 1.超级用户:root uid=0,简单来说uid为0的用户就是超级用户. 2.虚拟用户:存在linux中,满足文件或者程序运行的需要,而创建的.不能登录,不能使用.uid=1-499,1-999(centos7) 3.普通用户:管理员root创建的用户.uid=500+,1000+(centos7) 用户组就是具有相同特征的用户的集合.一个组可以包含多个用户,每个用户也可以属于不同的组.用户组的目的方便管理员对用户进行集中管理.用户组也分为两类

Linux用户及文件权限管理

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

Linux之用户及文件权限管理

Linux之用户及文件权限管理 前言:Linux 是一个多用户的操作系统:Linux哲学思想之一-"一切皆文件".说明在学习Linux过程中,用户及文件权限的管理是非常重要滴.本文主要是引用了CentOs/RedHat 7.1的命令. 一.用户.组管理 1).用户.组类型: 超级用户(管理员):root用户具有一切权限,只有在进行系统维护(如创建用户.分配权限)时用到:由于root用户权限过大,为了避免管理员的误操作导致不可逆的后果,所以在非必要的情况下不用root用户登录. 普通用户

Linux 基础入门----用户及文件权限管理

用户及文件权限管理 实验介绍 1.Linux 中创建.删除用户,及用户组等操作. 2.Linux 中的文件权限设置. 一.Linux 用户管理 Linux 是一个可以实现多用户登陆的操作系统,比如“李雷”和“韩梅梅”都可以同时登陆同一台主机,他们共享一些主机的资源,但他们也分别有自己的用户空间,用于存放各自的文件.但实际上他们的文件都是放在同一个物理磁盘上的甚至同一个逻辑分区或者目录里,但是由于 Linux 的 用户管理 和 权限机制 ,不同用户不可以轻易地查看.修改彼此的文件. 下面我们就来学

NopCommerce源代码分析之用户验证和权限管理

目录 1.  介绍 2.  UML 2.1  实体类UML图 2.2  业务相关UML图 3.  核心代码分析 3.1  实体类源代码 3.2  业务相关源代码 3.3  相关控制器源代码 3.4  相关View源代码 4.  总结 1.  介绍 1.1  nopcommerce介绍 nopcommerce是国外的一个高质量的开源b2c网站系统,基于EntityFramework4.0和MVC3.0,使用Razor模板引擎,有很强的插件机制,包括支付配送功能都是通过插件来实现的. nopcomm

MySQL数据库(7)_用户操作与权限管理、视图、存储过程、触发器、基本函数

用户操作与权限管理 MySQL用户操作 创建用户 方法一: CREATE USER语句创建 CREATE USER "用户名"@"IP地址" IDENTIFIED BY "密码"; 方法二: INSERT语句创建 INSERT INTO mysql.user(user,host, password,ssl_cipher,x509_issuer,x509_subject) VALUES('用户名','IP地址',password('密码'),'',

office365 邮箱用户完全访问权限管理介绍

office365 邮箱用户完全访问权限管理 其实我们前面文章已经介绍了官员Office365的很多文章,也从中提到了一些关于权限管理的文章.今天我们主要说说对于云端exchange的完全访问权限管理,其实对于云端的操作合本地大同小异,好了不多说了,开始今天的主题,我们今天会通过两种方式对云端的邮箱用户完全访问权限管理做介绍. 首先是第一种,使用GUI图形介绍: 我们首先用portal看看及修改: 修改用户的完全访问权限:编辑用户 邮箱委托---->完全访问--->增加及删除用户: 我们增加一

centos6.5的用户和文件权限管理

用户和文件权限管理 实验环境 公司的Linux主机即将提供给技术部作为开发服务器使用,根据部门内项目组的构成情况,首先需要建立相应的组账户.用户账户,并为相关目录设置权限:还需要设置一个共用的数据存储目录,便于同事之间的数据交换. 需求描述 建立用户目录 创建目录/tech/benet和/tech/accp,分别用于存放各项目组中用户账号宿主文件夹.例如,kylin用户的宿主目录应位于/tech/benet/kylin. 添加组账户 为两个项目组添加组账号benet.accp.GID号分别设置为