Linux学习笔记:用户和组的管理

用户和组的管理

Linux系统是一个多用户操作系统.任何一个受使用系统资源的用户.都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问,另一方面也可以帮助用户组织文件.并为用户提供安全性保护;实现用户账号管理主要有用户账号添加、删除与修改.以及用户口令的管理和用户组的管理等工作。

下面我们列出Linux系统里用户和组的定义以及进行用户和组的管理操作时所用到的一些命令:

Cisco开发的AAA认证体系:

Authentication:认证,核实身份是否正确。

Authorization:授权,对已经核实身份的用户进行资源分配。

Accounting:审计,监管资源被使用情况。

多用户,多任务的系统:

能够实现资源使用和完成任务的主体是:应用程序进程

安全上下文:secure context

进程是以其发起者的身份来运行的:可理解为,进程的所有者就是发起者,会将发起者的信息标志在进程上。

当进程试图访问资源时,安全上下文会比对进程的所有者和资源者的所有者的关系。首先查看进程的所有者是不是资源的所有者,如果是,就按照属主的权限使用资源,如果不是,则判断进程的所有者是否属于资源所属组,如果是,按照属组的权限使用资源。

如果不是,则直接使用资源的其他人访问权限来使用资源。

用户账户:就是计算机操作者在操作系统中的身份映射;在满足了认证条件之后的身份映射;

用户分类:

超级用户(管理员):root

普通用户:

系统用户:为了保证安全,必须让那些运行在后台的进程或服务类进程以非管理员的身份运行。 这类用户一般不需要登录到系统。

登录用户:能够正常使用整个系统资源的用户

用户的标识:

用户登录名称:为操作者准备的简单易记的字符串标识。

用户的ID:为计算机系统准备的数字标识。

超级用户:ID号0

系统用户:

Centos5、6:1~499

Centos7:1~999

登录用户:

Centos5、6:500~60000

Centos7:1000~60000

60000+的标识符为自定义标识。

名称解析:名字<-->ID

解析库: /etc/passwd

系统利用解析库完成认证机构、;验证登录用户是否是你声称的那个人。

认证库:

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

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

采用密码认证的机制:

设置密码的一般性策略:

1.尽量使用随机字串作为密码;

2.密码的长度不要少于8字符;

3.密码中尽量包括大写字母、小写字母、数字和标点符号四类字符中的三类;

4.不定期更换,每隔一段时间换一个密码  推荐42天内改密码

在Linux中,保存到认证库中的密码信息是经过加密保存的。

hash单向加密算法:抽象原始数据的特征信息,数据指纹;

单向加密算法的特征:

1.只要数据相同,其加密结果就必然相同。

2.无论数据多大,其加密结果定长输出。

3.雪崩效应.

4.不可逆

单向加密常用的算法:

1.md5:message digest ,消息摘要,128bit定长输出;

2.sha1:安全的哈希算法,160bit定长输出;

3.sha224

4.sha256

5.sha384

6.sha512

salt:随机数

/dev/random:仅仅只是从熵池中返回随机数,如果熵池随机数耗尽则进程被阻塞。

/dev/urandom:先试图从熵池中返回随机数,

如果熵池耗尽,则利用伪随机数生成器生产伪随机数。

最终验证字符串:算法+salt+密码

在认证库中存放的信息:$6$salt$cryped_password

用户组:将具有某些相同或相似属性的用户联系在一起以便集中授权的容器;

组类别:

管理员组:

普通用户组:

系统组:

登录组;

组的标识方法:

组名:方便操作者使用能够的;

组的ID(GID):为系统提供组标识;

管理员组:0

系统组:Centos5/6:1~499  Centos7:1~999

登录组:Centos5/6:500~60000  Centos7:1000~60000

解析库: /etc/group

组也需要认证,组也有认证库:/etc/gpasswd

组也需要密码保护:

如果组没有设置密码保护的话,则不能随时加入;

以用户为核心来对组进行分类;

用户的主要组(基本组):primary group ,对于用户来说这样的组必须要有而且只能有一个。

用户的附加组(附属组,额外组):Addition Group ,这样的组对于用户来说,可以没有,也可以有多个。

根据组所容纳的用户来分:

私有组:组名与用户登录名相同,并且组中只有此用户;

公共组:组中可以包含其他多个不同用户

注意:默认情况下,用户的主要组都是其私有组;

用户和组的管理:

主要使用命令来完成:

组管理相关的命令:

groupadd 、 groupdel 、 groupmod

用户管理相关的命令:

useradd 、 userdel 、 usermod

认证管理相关的命令:

passwd 、 gpasswd 、 chage

其他的相关管理命令:

chsh 、 finger 、 su 、 id

两个解析库: /etc/passwd、、/etc/group

两个认证库;/etc/shatow 、 /etc/gshadow

/etc/passwd:

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

name:登录名

passwd:密码字段,现做在使用了shadow机制的系统中,通常使用“x”作为占位符;

UID:用户的ID

GECOS:comment,注释类的信息,现在一般都会用来存放用户的说明信息或全名;

shell:用户的默认登录shell的绝对路径。

/etc/group:

group_name:password:GID:user_list

group_name:组名

password:组密码占位符,默认为空

GID:组的ID

user_lsit:以改组为附加组的用户的列表

/etc/shadow:

login name:encrypted password: date of last password change:minimum password age:maximum password age:password warning period:password inactivity period:account expiration date:reserved field:

login name :用户的登录名;

encrypted password:加密了的密码

格式:$算法$salt$真正意义的加密密码

如果该位置为!,则表明用户密码被禁用

如果该位置为*,则表明该用户位系统用户,不能登录

如果该位置字段为空,则表明用户可以无需输入密码即可登录系统,不推荐使用

date of last password change:

相对时间概念,相对于1970年1月1日到最后一次修改密码的那天的天数;

minimum password age:

在多长时间之内无法修改密码,默认值为0,意即:随时可以修改密码;如果是非0的其他数字,意思是在这么长的天数里不能改密码。。

maximum password age:

在多长时间之后密码过期,默认为99999,意思为永久有效。

password warning period:

密码过期之前的友善提醒天数,默认为7天。

password inactivity period:

密码过期后的宽限期。默认不启用;默认值为-1.意思为永久宽限期。

account expiration date:

一个用户账户密码过期的日期,这是一个绝对的过期期限,xxxx年xx月xx日

reserved field:

保留字段,以备以后使用。

/etc/gpasswd:

group name:encrypted password:administrators:members

组管理命令:

groupadd:新建组账户,添加组;

-g gid:在创建组账户的时候,指定组账户的GID;如果不使用该选项指定,系统会选择在组解析文件中出现在的不大于60000最大GID加1.。

-r:创建系统组;意思就是创建一个GID在1~999(1~499)之间的组;

groupmod:修改组的相关属性信息;

groupmod 【选项】GROUP

-g gid :修改组账户的ID;

-n NEW_GROUPNAME:修改组名;

groupdel:删除组账户

groupdel 【选项】GROUPNAME

注意:如果某个组是某个用户主要组或私有组,则该组无法删除;

用户管理的命令:

useradd:添加用户账户

useradd【选项】登录名

/etc/default/useradd

/etc/login.defs

/etc/skel

以上三个文件和目录能够帮助管理员在未指定任何选项时,也能创建用户,并为用户赋予默认的属性;

选项:

-c,--comment:在创建用户时为用户添加注释信息,一般为全名。。

-d,--home/PATH/TO/HOME_DIR:在创建用户的时候为用户指定家目录的绝对路径,被指定的目录应该是事先不存在的目录。。

-g,--gid GROUPNAME:咋子创建用户时,为用户指定主组。

-G,--groups GROUP1[,GROUP2...N]:在创建用户时,为用户添加附加组;

-m,--create-home:在创建用户时,强制性为用户创建家目录

-M:在创建用户时,不会创建用户的家目录,即使在/etc/login.

defs中CREATE_HOME的值为yes也不创建;

-r,--system:创建系统用户;

-u,--uid UID:在创建用户的时候,为用户指定UID,这个UID可以超过60000的限制;

-s,--shell /PATH/TO/SHELL:在创建用户时,为用户指定默认shell,使用绝对路径

-D,--defaults:显示或修改用户默认属性值;

-s,--shell /PATH/TO/SHELL:修改/etc/default/useradd文件中SHELL的默认值

usermod:修改用户账户信息

usermod【选项】登录名

选项:

-c,--comment “COMMENT”修改用户的注释信息;

-g,--gid GROUPNAME:修改用户的主要组;

-G,--groups GROUP1[,GROUP......n]:修改用户的附加组为列表中的组;

-a,--append:与-G选项同时使用,给用户添加新的附加组;

-d,--home/PATH/TO/HOME_DIR:修改用户的家目录;;

-m,--move  与-d选项同时使用,将旧的家目录中的数据移动至新家目录之中

-l:--login NEW_LOGIN:更改用户账户的登录名

-s:--shell /PATH/TO/SHELL:修改用户账户的登录shell

-u:--uid UID:修改用户的UID

-L:--lock:锁定用户密码

-U:--unclock:解锁用户密码

用户认证相关命令:

passwd:设置和查看用户的密码信息;

passwd [-k] [-l] .....................

1.如果省略用户名,意味着更改当前登陆用户的密码;

2.如果指定用户名,更改指定用户的密码,只能root使用;

选项;

-l, --lock:锁定用户密码;

-u,--unlock:解锁用户密码;

相比较usermod -L|-U而言,其优先级更高;

如果使用usermod -L锁定的用户密码,可以使用usermod -U解锁;

而使用passwd -l锁定的用户密码,无法使用usermod -U解锁;

-d,--delete:删除用户密码,将/etc/shadow文件中的第二段清空;

-S,--status:查看用户的密码状态;

--stdin:借助于管道将输入数据流当做标准输入信息送给passwd命令;

echo“PASSWORD”|passwd --stdin USERNAME

组认证相关命令:

gpasswd[选项] groupname

选项:

-a,--adduser:向名为group的组中添加用户user。

-d,--deleteuser:从名为group的组中移除用户user。

其他命令:

su:切换用户身份

su USERNAME:

部分切换,半切换;在切换用户的时候,不会重新读取目标用户的配置文件,因此,用户并没有登录行为,所以,工作环境不初始化。

su - USERNAME:

登录式切换,完全切换,在切换用户的时候,重新获取目标用户的配置文件并且初始化工作环境;相当于su -l USERMANE

-c COMMAND:并不会切换用户身份,而是以目标用户的身份执行某命令;

使用su命令的时候,从root切换到其他普通用户

id:先是真实有效的用户和组的ID

真实的ID:在/etc/passwd定义的用户的UID和GID

有效的ID:当前生效的用户的UID和GID

选项:

-g:只显示用户有效的GID

-u:只显示用户有效的UID

-G:显示用户所有组的ID

-n:以名称来代替ID进行显示

时间: 2024-10-11 06:50:34

Linux学习笔记:用户和组的管理的相关文章

Linux学习笔记——用户、组管理命令及常用选项

用户管理命令: useradd  userdel usermod passwd  id finger chsh  chfn chmod chown  su 组管理命令: groupadd groupdel groupmod gpasswd   chgrp 用户类型分为:用户u:owner.组g:group.其他o:other   三种类型 文件权限包含:r  w  x  执行权限 文件与目录之间关于rwx 权限的区别 : 文件: r :可读  ,可以使用cat 等命令查看 w : 可写  ,可以

Linux学习笔记(6)-工作管理

什么是工作管理 工作来自job命令的翻译,job命令可以查看后台工作的进程.举例来说什么是工作管理,当你要打包一个比较大的目录时,很耗时间,但是你同时又需要使用别的命令.你会想我可以到开几个终端进行登录.在/etc/security/limits.conf里面可以设定使用者同时可以登入的连接数,如果设为1,那不是没辙了?由于耗时的打包命令并不需要与用户进行交互,可不可以让程序在后台打包呢?答案是可以的. 将进程放入后台运行 使用"&"符号让命令在后台工作 #tar -zcf e

Linux学习笔记(5)-进程管理

进程简介 进程是正在执行的一个程序或命令,每一个进程都有自己的地址空间,并占有一定的系统资源.感性的认识,进程就是一个正在运行的程序 进程管理的作用 判断服务器的运行状态 查看系统中有哪些进程 杀死进程(很少用,一般会采用正常的关闭手段) 查看系统所有的进程 #ps aux #ps -le 输出信息各字段的含义 USER:进程是由哪个用户产生的 PID:进程的ID号 %CPU:进程占用CPU资源的百分比 %MEM:进程占用物理内存的百分比 VSZ:该进程占用虚拟内存的大小,单位KB RSS:该进

Linux系统下用户与组的管理

Linux系统下用户与组的管理 一.用户及组基本概述 Linux 系统上,用户管理是基于用户名和密码的方式进行资源的分配. 1.uid(用户身份标识) (1)root用户 uid为0 (2)普通用户:1--65535 系统用户 系统已经已经存在专门用来对系统服务或者系统资源进行管理的 1--499(CentOS 6.X) 1--999 (CentOS 7.X) 登录用户(平时专门做系统管理的用户) 500+ (CentOS 6.X) 1000+ (CeentOS 7.X) 2.gid(用户组身份

【Linux系统】用户与组账号管理实例与讲解

用户账号与组账号管理 下面是我对用户账号与组账号之间的一些整理与实例配置. 在Linux系统中用户和组账号分为以下几点: 超级用户:root用户是Linux默认的超级用户具有相当于windows系统中的administrator的作用. 普通用户:普通用户的账号需要由root或其它管理员用户创建. 程序用户:用于添加Linux系统中的一些特定的低权限的用户.(这些用户只用于维持或某个程序的正常运行) 组账号 基本组(私有组):每一个账号都有自己的属于自己的组. 附加组(公共组):与其他用户在同一

Linux初学之——用户和组的管理

Linux系统可以支持多个用户使用不同的终端设备登录系统,用户又按不同的属性划分成不同的组,为了系统的安全性需要对不同用户设置不同的权限,所以涉及到对用户和组的管理. 用户和组的管理 用户账户 组账户 权限的分配 Cisco开发的AAA认证体系 Authentication: 认证,核实身份是否正确 Authorization: 授权,对已经核实身份的用户进行资源分配 Accounting: 审计,监管资源被使用的情况 多用户多任务的操作系统: 能够实现资源使用和完成任务的主体是:应用程序的进程

Linux自学笔记——用户和组管理

资源分派: Authentication:认证 Authorization:授权 Accouting:审计 Audition token,identity(username/password) linux用户:username/UID 管理员:root,0 普通用户:1-65535 系统用户:1-499,1-999 对守护进程获取资源进行权限分配: 登录用户:500+,1000+ 交互式登录: Linux组:groupname/GID 管理员组:root,0 普通组: 系统组:1-499, 1-

Linux学习笔记——用户及权限详解

用户及权限详解    用户.组.权限 安全上下文(secure context): 权限: r   w   x  文件: r:可读,可以使用类似cat等命令查看文件内容: w:可写,可以编辑或删除此文件: X:可执行,exacutable,可以命令提示符下当作命令提交给内核运行:  目录: r:可以对此目录执行ls以列出内部的所有文件: w:可以在此目录创建文件: x:可以使用cd切换进此目录,也可以使用ls -l查看内部文件的详细信息: rwx: r--:只读 r-x:读和执行 ---:无权限

Linux学习笔记(十一)用户组管理 、用户管理

一.linux和windows互传文件 目前我所学到的linux与windows互传文件的方法有两种: yum install -y lrzsz输入sz +文件可以将linux文件传输到windowsrz 则可以选择windows文件传输到linux(这个方法可以用于xshell,putty不支持)2.xftpxshell的另一个组件,可以图形化互传文件.下载链接https://www.netsarang.com/products/xfp_overview.html 二.用户配置文件和密码配置文

Linux学习笔记—— 用户管理命令详解

 用户管理命令详解  用户管理: useradd,userdel,usermod,passwd,chsh,chfn,finger,id,chage 添加用户: useradd [options] USERNAME    -u (UID)   手动指定UID -g (GID)  (基本组) -G, ...     (附加组) 可以有多个,彼此之间用,号隔开 -c "COMMENT"         注释信息     -d /path/to/somedirectory  指定家目录 -s