详解用户,组,权限管理

内容介绍:

我们要使用操作系统进行工作,就需要人机交互操作,这时候计算机就需要创建用户,通过用户来实现操作,而且随着用户的增加需要给用户分组,这时候就需要对文件进行权限管理。

需要使用的工具:

用户相关工具:useradd; userdel; usermod;id;su等;

组相关工具:groupadd; groupdel; groupmod等;

权限管理工具:chmod; chown; chgrp;umask等;

一、用户类别:

管理员:root,管理员用户标识UID:0

普通用户:(系统用户和登录用户)用户标识UID:1-65535

系统用户:用户标识UID:1-999

登录用户:用户标识UID:1000-60000

二、组类别:

1、组类别1:管理员组;普通用户组(系统组,登录组)

组标识GID与用户标识UID的数据一致,这里多介绍;

2、组类别2:用户的基本组;用户的附加组;

3、组类别3:

私有组:组名同用户名,且只包含一个用户;

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

三、密码认证信息通过比对事先存储的与登录时提供的信息是否一致;

密码:password;  /etc/shadow存放用户密码信息;/etc/gshadow存放组密码;

(一)密码使用策略:

1、使用随机密码;2、最短长度不低于8位;3、建议使用大写字母、小写字母、数字和标点符号四类中的至少三类;4、定期更换;

(二)加密算法:

1、对称加密:加密和解密使用同一个密码;

2、非对称加密:加密和解密使用的是一对秘钥;(公钥  — public   key;  私钥--  private   key)

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

4、算法 : md5; sha1; sha224; sha256; sha384; sha512

四、用户信息库及用户密码信息库详解;

(一)、用户信息库:/etc/passwd; 

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

name: 用户名;

password: 可以是加密的密码,也可以是占位符;

UID:用户标识;root为0;系统用户为1-999;普通用户为1000-60000

GID:用户所属的主组的ID号;

GECOS:注释信息;

Directory:用户的家目录;

Shell: 用户的默认shell,登录时默认的shell程序;

(二)、用户密码信息:

第一字段:登录名,必须是有效的账户名,且已经存在于系统中;

第二字段:加密了的密码;

密码分三部分,由$分隔;例如:$6$Z48cQG6P$RMmzMjp63eSz3vA8

$6$:6代表加密算法--sha512(1代表md5;2代表sha1等)

$Z48cQG6P$: Z48cQG6P代表添加的随机数

第三个$后的内容:就是加密后秘串

第三字段:最后一次更改密码的日期;

第四字段:密码的最短使用时间;

第五字段:密码的最长使用期限;

第六字段:密码警告时间段;

第七字段:密码禁用期;

第八字段:账户过期日期;

第九字段:保留字段;

五、linux用户和组管理的常用工具的使用方法;

(一)组管理相关工具;

1、groupadd命令:创建组;

使用方法:groupadd  [选项]  group

选项:-g GID :指定GID;

-r: 创建系统组;

2、groupmod命令:修改组属性;

用法:groupmod  [选项]  GTOUP

选项:-g GID: 修改GID;

-n  new_name:  修改组名;

示例:修改lufei3组的id号为1001

3、groupdel命令:删除组;

(二)、用户相关工具;

1、useradd命令:创建一个新用户或更新默认新用户信息

用法:useradd  [选项]  登录

选项:-u: 指定UID

-g: 指定基本组ID,此组要事先存在;

-c: 指明注释信息,注释信息要用””括起来;

-G  GROUP1 [,GROUP2,]]: 指明用户所属的附加组,多个组之间用,分隔;

-d: 指定路径为用户的家目录;

-s: 指定用户的默认shell;

-r: 创建一个系统用户;

-m: 如果用户的家目录不存在,则创建家目录;

-M: 不创建用户家目录;

-f: 密码过期后,账户被彻底禁用之前的天数;

示例1:创建一个用户名为lufei1,UID为1005,GID为1000,注释信息“useris”,登录shell: 、/bin/shell;

示例2:创建一个用户名为lufei2,主组默认,附加组为lufei和gdm ,家目录为:/tmp/home/

示例3:创建一个系统用户lufei3,无需家目录,无需登录shell;

2、usermod命令:修改一个用户的账户;

用法:usermod  [选项]  登录

选项:-u: 修改用户的ID为此处指定的新UID;

-g: 修改用户所属的基本组;

-G: 修改用户所属的附加组;

-a: 将用户追加到新的附加组,只能和-G一起使用;

-c: 修改注释信息;

-d: 修改用户的家目录,用户原来的文件不会转移至新的位置;

-m: 用于将原来家目录内容移动到新的位置,只能和-d一起使用;

-l: 修改用户名;

-s: 修改用户的默认shell;

-L , -U: 锁定和解锁用户密码;在用户原来的密码字符串之前添加一个“!”;

示例1:修改用户lufei2 的UID为1002(原先为1006),组ID为1000(原先为1006),追加附加组为1001;添加注释信息为:my name is;修改其家目录为/home/lufei3;

3、userdel命令:删除用户账户和相关文件;

用法:userdel  [选项]  登录名

选项:-r: 删除用户一并删除其家目录;

(三)、密码相关工具详解;

1、passwd命令:

用法:passwd  [-k]  [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-iinactivedays] [-S] [--stdin] [username]

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

(2)、passwd username: 修改指定用户的密码;

选项:-l, -u: 加密和解密用户密码;

-d: 清除用户密码串;

-d: 清除用户密码串;

-e DATE: 过期期限,日期;

-i DAYS: 非活动期限;

-n DAYS: 密码的最短使用期限;

-x days: 密码的最长使用期限;

-w days: 警告期限;

--stdin: 用法:echo “password”|passwd  --stdin username;直接修改密码无需交互;

示例:给用户添加密码的两种方式:交互式和非交互式

2、gpasswd命令:给组添加密码;用法:gpasswd  [选项]  group;

选项:-a username: 向组中添加用户;

-d username: 从组中移除用户;

3、newgro命令:临时切换指定组为基本组;

用法:newgrp  [-]  [group]

-: 会模拟用户重新登录以实现重新初始化其工作环境;

4、chage命令:更改用户密码过期信息;用法:chage  [选项]  登录名

选项:-l:列出用户的以及密码的有效期限
-m:修改密码的最小天数
-M:修改密码的最大天数
-I:密码过期后,锁定帐号的天数
-d:指定密码最后修改的日期
-E:账户过期时间,0表示立即过期,-1表示永不过期
-W:密码过期前,开始警告天数

示例:

5、id命令:显示用户的真实和有效的ID

用法:id [option]…[username]

选项:-u: 仅显示有效的UID;

-g: 仅显示用户的基本组ID;

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

-n: 显示名字而非ID;

6、su 命令:切换用户

登录式切换:会通过读取目标用户的配置文件来重新初始化;

su  -  username 或  su  -l username

非登录式切换:不会读取目标用的配置文件进程初始化;

su  username

注意:管理员可无密码切换至其他任何用户;

六、权限管理:

使用ls –l 查看一个文件的长格式时;在最左侧有一串字符,

例如:rwxrwxrwx:

左三位:定义user(owner)的权限;

中三位:定义group的权限;

右三位:定义other的权限;

(一),三位权限位对应文件和目录的意义;

1、文件:

r: read: 可获取文件的数据;

w: write: 可修改文件的数据;

x: excute: 可将此文件运行为进程;

2、目录:

r: 可使用ls命令获取其下的所有文件列表;

w: 可修改此目录下的文件列表;即创建或删除文件;

-x: 可cd至此目录中,且可使用ls –l来获取所有文件的详细属性信息;

3、进程对文件的访问权限应用模型:进程的属主与文件的属主是否相同;如果相同,则应用属主权限;否则,则检查进程的属主是否属于文件属组,如果是,则应用属组权限;否则,就只能应用other的权限;

4、权限的组合机制:

字符标识方法:   ---  --x   -w-   -wx    r--    r-x   rw-    rwx

二进制标识方法:  000  001  010    011   100    101   110    111

八进制标识方法:   0   1   2     3    4     5    6      7

可以简单认为   r=4; w=2;   x=1;  所以在修改权限时就可以使用数字修改,更直观;

例如:rwxr-xr-x = 755;说明:左三位rwx权限相加4+2+1=7;

中三位r-x权限相加4+0+1=5;

右三位r-x权限相加4+0+1=5;

(二)、权限管理命令:

1、命令说明:chmod命令:权限管理;

使用语法:

chmod [OPTION]... MODE[,MODE]... FILE...

chmod [OPTION]... OCTAL-MODE FILE...

chmod [OPTION]... --reference=RFILE FILE...

选项:

-R:递归修改,一般只和授权表示法一起使用;

三类用户:

u: 属主;  g: 属组;o: 其他人; a: 所有

(1),第一种语法使用方法:

chmod [OPTION]...MODE[,MODE]... FILE...

赋权表示法:u=  ;  g=    ; o =     ; a=    ;

权限相同可以一起写

权限不相同,只能分开写,要用,分隔开;

示例:

授权表示法:直接操作一类用户的一个权限位r, w, x;

u+, u-;  g+, g-;  o+, o-;  a+,  a-;

示例:

(2)、第二种语法使用方法:

chmod [OPTION]... OCTAL-MODEFILE...

八进制权限位法:

示例:

(3)、第三种语法使用方法:

chmod [OPTION]...--reference=RFILE FILE...

参考一个文件来修改另一个文件,应用型修改;

示例:

2、chown命令:修改文件的属主和属组;

语法格式:

chown [OPTION]...[OWNER][:[GROUP]] FILE...   常用方法

chown [OPTION]... --reference=RFILE FILE...

示例:

3、chgrp命令:和chown用法相同,这里不再多解释;

4、umask命令:文件的权限反向掩码,这掩码:默认是022;

文件:666-umask

目录:777-umask

注意:之所以文件用666去减,表示文件默认不能拥有执行权限;如果减的结果又执行权限,则需要将其加1;

umask:023

666-023=644

777-023=754

umask: 查看当前umask;

umask  MASK: 设置umask;

注意:此类设定仅对当前shell进程有效;

七、linux系统上的特殊权限:SUID, SGID ,STICKY

安全上下文:

(1)、进程以某用户的身份运行,进程是发起此进程用户的代理,因此以此用户的身份和权限完成所有操作;

(2)、权限匹配模型:

a、判断进程的属主,是否为被访问文件的属主,如果是,则应用属主的权限;否则进入第二步;

b、判断进程的属主,是否属于被访问文件的属组;如果是,则应用属组的权限;否则进入第三步;

c、应用other权限

SUID:

默认情况下,用户发起的进程,进程的属主是其发起者;因此,其以发起者的身份运行;(注意:这时的文件的属主和进程的属主是两回事,不是相同的)

SUID的功用:用户运行某程序时,如果此程序拥有SUID权限,那么程序运行为进程时,进程的属主不是发起者,而是程序文件自己属主;

管理文件的SUID 权限:chmod u+ | -s file...

展示位置:属主的执行权限位

如果属主原本有执行权限,显示为小写s; 否则,显示为大写S;

SGID:

功用:当目录属组有写权限,且有SGID权限时,那么所有属于此目录的属组,且以属组身份在此目录中新建文件或目录时,新文件的属组不是用户的基本组而是此目录的属组

管理文件的SGID权限:chmod g+| -s file...

展示位置:属组的执行权限位

如果属组原本有执行权限,显示为小写s; 否则,显示为S;

Sticky:

功用:对于属组或全局可写的目录,组内的所有用户或系统上的所有用户对在此目录中都能创建新文件或删除所有的已有文件,如果为此类用户设置的sticky权限,则每个用户可以创建文件,无法删除或修改其他用户创建的文件,只能删除或修改自己创建的文件;

管理文件sticky权限:chmod o+ | -t file...

展示位置:其他用户的执行权限位

如果其他用户原本有执行权限,显示为小写t; 否则,显示为大写T;

系统上的/tmp和/var/tmp目录默认均有sticky权限;

时间: 2024-10-01 19:34:57

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

Linux进程上下文切换过程context_switch详解--Linux进程的管理与调度(二十一)【转】

转自:http://blog.csdn.net/gatieme/article/details/51872659 版权声明:本文为博主原创文章 && 转载请著名出处 @ http://blog.csdn.net/gatieme 目录(?)[-] 前景回顾 1 Linux的调度器组成 2 调度工作 进程上下文 1 进程上下文的概念 2 上下文切换 context_switch进程上下文切换 1 context_switch完全注释 2 prepare_arch_switch切换前的准备工作

第15章 mysql 用户、权限管理

2015-10-24 目录 参考资料 [1] 唐汉明.深入浅出MySQL 数据库开发.优化与管理维护(第2版)[M].北京:人民邮电出版社,2014 [2] Schwartz.高性能MySQL(第3版)[M].北京:电子工业出版社,2013 [3] 范德兰斯.MySQL开发者SQL权威指南 [M].北京:机械工业出版社,2008 [4] Forta.MySQL必知必会 [M].北京:人民邮电出版社,2009 [5] Chapter 6 Security [6] 5.7. MySQL访问权限系统

详解CentOS配置和管理web服务-Apache

详解CentOS配置和管理web服务-Apache 家住海边喜欢浪:zhang789.blog.51cto.com 目录 1.web介绍 2.web历史和工作原理 3.http请求流程 4.关于Apache 5.Apache服务器软件安装使用 6.符号链接和虚拟目录 7.页面重定向 8.Apache日志文件 9.Apache安全配置 10.虚拟主机 10.1.基于IP 10.2.基于域名 10.3.基于端口 web服务器配置和管理 http协议简介 http协议,全称HyperText Tran

linux用户及权限管理

[文件管理.管道.用户及组管理.用户及权限管理]\用户及组管理 用户与组管理 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问:另一方面也可以帮助用户组织文件,并为用户提供安全性保护.每个用户账号都拥有一个惟一的用户名和各自的口令.用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录.实现用户账号的管理

【linux相识相知】用户及权限管理

linux系统是多用户(Multi-users)和多任务(Multi-tasks)的,这样的目的是为了一台linux主机可以给很多用户提供服务同时运行多种服务,但是我们是怎么区分每个用户呢?作为一个管理员我对linux系统权限有哪些?作为一个普通的用户又可以对linux系统有哪些操作呢?这里就牵扯到了linux的用户类别和权限管理.本次博客就用户和权限管理作出详细的解释. 用户和组类型 在linux系统中,有着用户和组着两个概念,用户是被包含在组里面的. 用户可以分为以下2中类别: 管理员:也就

Jenkins2.32用户和权限管理策略

前言 在使用jenkins的过程中,需要为不同的角色分配相应的权限,如果jenkins的用户数据能和公司现在的帐号系统结合起来那会更好. 关于如何为用户分组,我推荐使用 role based authorization strategy 这个插件 我的环境如下: 版本:Jenkins ver. 2.32.3 系统:windows 7 x64 进入用户管理 如果使用的是jenkins内置的用户数据库,操作方法如下: 1.使用管理员帐号登录,选择 Configure Global Security 

对liunx系统中用户和权限管理一点小心得

近期才接触Liunx,给我的感觉,并不是很难,但是知识点很多,命令杂,并且附带了茫茫多的选项.接下来我就拿用户和权限管理来举个例子. 一丶用户&组的创建,管理. 用户,顾名思义,就是在系统上的接口进行操作的人. 用户分为:1.管理员(root)2.普通用户(user):系统用户和登录用户 管理员比较好理解,好比说一个国家的国王,拥有对国家最高的指挥权.root在linux系统中就扮演了国王的角色,任何的权限对它来说都形同虚设. 而普通用户,相当于这个国家的公民,必须遵循国家规定的法律. 普通用户

Linux中的用户和权限管理

Linux是多用户,多任务操作系统:多用户是指多个用户可以同时使用系统资源,而多任务指同时运行多个进程. 用户是能够获取系统资源的权限的集合,Linux通过用户实现资源分隔. 用户组是具有相同特征用户的逻辑集合,是用户的容器. 1.用户: (1)用户类别 管理员:root 普通用户: 系统用户:仅仅用于用于启动服务进程. 登录用户:用于使用者交互使用,是系统资源的使用者 (2)用户在操作系统中用UID来标识: UID是16bits的二进制数字,如此范围为:0-65535.Linux 系统对用户U

用户和权限管理

一:用户和组 用户分为两类:一个是管理用户,一个是普通用户, 用户类别:一类是系统用户,另一类是登录用户, 用户的标识是UID,16bit二进制数字是0-65535 管理员:0 普通用户:1-65535 3. 组:一是管理员组,二是普通用户组 4.组类别:一类是系统组,一类是登录组 用户标识GID,管理员组:0普通组:1-65535 5.从用户角度划分: 基本组:每个用户至少有一个组 附加组:同时包括在其他组中 私有组:组名同用户名,且包含一个用户 公共组 :组内包含了对个用户 6.groupa

用户的权限管理

用户的权限管理: 1, 普通权限 2,特殊权限 3,文件的特殊属性 4,FACL权限机制 普通权限: 进程安全上下文: 1,判断进程的所者是否为想要操作的文件的属主,若是,就按照属主的权限进行授权,若不是,就转到第二条. 2,判断进程的所有者是否为想要操作的文件的属主中的成员,如果是,就按照属主的权限进行授权,如果不是,转第三条. 3,按照其他用户的权限进行授权. 权限的构成: NODE:使用权 r:可读 w:可写 x:可执行 目录: r:可使用ls命令获得其中所有文件名的列表:ls-l命令来获