20150825-Linux用户管理和权限管理

概述

对于使用计算机的用户来讲,都知道要使用计算机,都需要使用用户来进行登录,并且都知道用户是什么。那么计算机如何识别用户呢?计算机通过一种所谓的认证机制来识别这个用户是不是有权限或者说是被计算机所允许登录使用计算机资源的用户。

在计算机安全模型当中,计算机的每一个可用户的、可访问的资源,通常都给他关联一个用户标识,即给计算机上的可用资源都给一个属主的身份,规定他属于谁!所以计算机对资源的权限控制,仅仅是将可用的资源授予给了计算机内部的一个标识,这个用户标识就叫做用户名,但是这个用户名对应的现实中的人是谁?这并不靠计算机自身来进行判定,或者说并不是靠我们的文件所属的对应关系来判定的。而是靠一种认证的机制,让那些知道这个用户名的,并且通过某种合法途径或者手段能让计算机识别出他的确是他所声称的那个人。因为在计算机上用户存在的目的是把有限的资源进行合理的指派。

那用户是什么?对计算机而言,用户仅仅是一种标识符而已。这个标识符通常有两类信息:包括用户名和用户ID号。用户名是指一串字符串,而真正计算机所识别的是用户ID,是一串数字。

在登录计算机的时候,作为一个使用计算机的用户,我们需要提供用户名和密码,当我们提供用户名以后,我们的操作系统会自动把用户名转为用户ID号,同时,还要去用户输入密码。由于用户名可能大家都知道,因此密码就是确定使用计算机的这个或者这几个人就是可以给予他们计算机权限的人的认证机制。

通过用户认证成功之后,进入计算机,他能够操作的资源的种类因为权限的不同而不同。即就是用户在通过了认证之后,就需要对用户进行授权。对用户进行认证之后,用户对资源能够使用到那种地步,就需要对用户进行授权操作。那我们怎样确保授权给用户之后,权利不至于被滥用呢?这就需要使用到对用户的审计操作。

而我们上述提到的认证、授权、审计,即是计算机安全模型当中的3A模型。3A即:

A:Authencattion 认证

A:Authorzation 授权

A:Accounting 审计

这就是Linux的用户机制,Linux的用户机制首先认证这些用户,确保计算机的资源是分配给予的正确的人,而且要确保这些资源被用户合法使用。

用户管理概述

在Linux中,由于进程是动态的,因此进程是以特定用户的身份来进行运行的,而文件是静态的,以属主、属组等从属关系来运行。所以一个用户到底有没有权限去访问一个资源,就取决于他对文件的属主和属组的关系。

Linux中,文件的属主定义了这个文件的所有者以及相关联的权限,并且一个文件只能有一个属主,那么其他的用户想要访问这个文件时怎么办呢?Linux中,把其他要访问这个文件的用户统一都归结到一个用户组里,所以组就是将多个用户域权限建立管理关系的一个容器。

下面我们分别来说明用户和组的相关信息:

在Linux中,拥有两类用户,管理员和普通用户。Linux用户的模型:UserName/password

而用户一般都有自己的ID号,我们称之为UID,Linux中UID的范围为:0-65535

管理员:0

普通用户:1-65535

而在普通用户中,有分为系统用户和登录用户,系统用户用来启动一些运行系统必备的服务时所使用。

系统用户的ID号:

CentOS6: 1-499

CentOS7:1-999

处于这些ID好范围的用户ID,我们就称之为的系统用户。一般不用于登录系统,因此并不具备家目录。

登录用户的ID号:

CentOS6: 500+

CentOS7: 1000+

处于这些ID好范围的用户ID,我们就称之为的登录用户。

Linux中,Linux组:GroupName/GID,简称为GID,组也两类:

管理员组:0

普通组:1-65535

系统组:

CentOS6: 1-499, 1-999

普通组:

CentOS7: 500+, 1000+

以用户为中心,一个用户可以同时属于多个组。

用户的基本组;

用户的私有组;

用户的附加组;

Linux用户和组的相关的配置文件:

/etc/passwd:用户名、UID、基本组等信息

/etc/group:组名、GID、组内包含的用户;

/etc/shadow:用户密码及相关属性;

/etc/gshadow:组的密码及相关属性;

/etc/passwd:

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

登录名:x:UID:GID:comment:主目录:用户默认shell

/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

6:加密算法

单向加密:

提取数据指纹;

md5, sha1, sha224, sha256, sha384, sha512

雪崩效应:

定长输出:

相对于Unix元年;

1970年1月1号;

/etc/group

group_name:password:GID:user_list

密码的复杂性策略:

1、使用数字、小写字母、大写字母、特殊字符四类中至少三类;

2、足够长;

3、使用随机密码;

4、定期更换;

用户管理命令

用户和组管理的相关命令:

useradd、usermod、passwd、userdel

groupadd、groupmod、gpasswd、groupdel

chage, chsh, chfn

id, w, who, whoami

su

(1)useradd命令:



作用:创建用户

格式:useradd [options] LOGIN

useradd -D [options]

参数:

-r: 创建系统用户

-u UID: 指定UID;

-g GID: 指定用户所属基本组,此组必须事先存在

-c ‘COMMENT‘:

-d /PATH/TO/SOMEWHERE:指定用户的主目录路径;此位置不能事先存在,否则,其用户相关配置文件将被复制;/etc/skel

-s SHELL:设定用户的默认shell;通过cat /etc/shells查看用户默认shell。

-G GID,...:指定所属的附加组;

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

使用说明:

示例:

练习:创建用户Oracle,所属附加组database和sql,ID号为3000, 家目录为/home/database;

(2)groupadd命令:



作用:创建组

格式:groupadd [OPTIONS] GROUPNAME

参数:

-g GID: 指明组ID;

-r: 创建系统组;

使用说明:

示例:

(3)id命令:



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

格式:id [OPTION]... [USER]

参数:

-u: UID

-g: GID

-G: Groups

-n: NAME

使用说明:

示例:

(4)su命令:



作用:su:switch user, 切换用户或以其它用户的身份执行命令;

格式:

参数:

使用说明:

su USERNAME: 非完全切换;非登录式切换

su - USERNAME或su -l USERNAME: 完全切换;登录式切换

仅以指定用户的身份执行指定的命令:

su - USERNAME -c ‘COMMAND‘

示例:

(5)usermod命令:



作用:用户属性修改

格式:usermod [OPTION]... LOGIN

参数:

-u UID

-g GID

-G GID[,GID,...]:修改用户所属的附加组;同时使用-a选项;

-s SHELL

-c ‘COMMENT‘

-d HOME: 修改用户的家目录为新位置时,用户原来的文件是不会被移动至新家;-m选项可实现同时将其迁至新的家目录;

-l LOGIN:

-L:lock user

-U: unlock user

使用说明:

示例:

(6)passwd命令:



作用:给用户添加密码

格式:passwd [OPTION] [UserName]

参数:

-l: lock user

-u: unlock user

-n mindays: 最短使用期限;

-x maxdays:默认为99999天;

-w warndays:

-i inactivedays:

--stdin:从标准输出接收用户密码;

使用说明:

示例:

echo ‘centos‘ | passwd --stdin centos

(7)userdel命令:



作用:删除用户

格式:userdel [-r] USERNAME

参数:

-r:删除用户的同时删除其家目录;

使用说明:

示例:

(8)groupmod命令:



作用:组属性修改

格式:groupmod [OPTION] GROUPNAME

参数:

-n GROUP_NAME

-g GID

使用说明:

示例:

(9)gpasswd命令:



作用:设定组密码

格式:

参数:

使用说明:

示例:

(10)newgrp命令:



作用:切换基本组为指定的组

格式:

参数:

使用说明:

示例:

(11)groupdel命令:



作用:删除组

格式:

参数:

使用说明:

示例:

(12)chage命令:



作用:

格式:

参数:

使用说明:

示例:

(13)chage命令:



作用:修改用户账号及密码的属性

格式:chage [OPTION]... LOGIN

参数:

-d LAST_DAY

-E

-l

-m

-M

-W

使用说明:

示例:

(14)chfn命令:



作用:

格式:

参数:

使用说明:

示例:

(15)chsh命令:



作用:

格式:

参数:

使用说明:

示例:

(16)finger命令:



作用:

格式:

参数:

使用说明:

示例:

文件权限概述

用户对文件的访问权限有三种:r, w, x即可读、可写和可执行。

对于文件:

r: 可使用文件查看工具查看其内容;

w: 可使用文件编辑工具编辑其内容;

x: 可向内核请求将此文件运行为进程;

对于目录:

r: 可使用ls命令列出目录中的文件或子目录列表;

w: 可在此目录中创建或删除文件;

x:可使用‘ls -l’列出目录文件及子目录的详细属性信息;可使用cd命令切换工作目录为指定目录;

文件的权限主要针对三类对象进行定义:

ownuer: u, 属主;

group: g, 属组;

other: o, 其它;

用户启动某进程访问某文件时,权限的匹配机制:

1、首先查看此进程的属主,与被访问的文件的属主是否是同一个用户,如果是,则以被访问的文件的属主的身份来访问该文件;从而应用权限为属主的权限。

2、如果不是属主身份,则查看该用户是否属于被访问文件的数组,如果是,则以被访问的文件的属组的身份来访问该文件;从而应用权限为属组的权限。如果不是,则以其他组的身份来访问该文件。

某类用户对某文件的访问权限:

--- 000 0

--x 001 1

-w- 010 2

-wx 011 3

r-- 100 4

r-x 101 5

rw- 110 6

rwx 111 7

因此权限可以转为对应的数字来表示:

664:rw-rw-r--

rwxr-x---: 750

权限管理命令

权限管理: chmod

所属关系管理: chown, chgrp

文件遮罩码:umask

(1)chmod命令:



作用:修改文件权限

格式:

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

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

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

参数:

使用说明:

示例:

三类:

u: owner

g: group

o: other

a: all

两种用法:

=mode

=rx, =r, =

ug=rx, go=

[+|-]mode

u+r,

+w

+x

-R: recursive

(2)chown命令:



作用:修改文件属主

格式:

chown [OPTION]... [OWNER][:[GROUP]] FILE...

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

参数:

-R: recursive

使用说明:

示例:

(3)chgrp命令:



作用:修改文件属组

格式:

参数:

使用说明:

示例:

(4)umask命令:



作用:umask:遮罩码

格式:

参数:

使用说明:

示例:

目录:777-umask

文件:666-umask

如果某一类用户的权限减得的结果有执行权限,此时会自动让其权限位加1;

umask UMASK

设定:仅对当前shell进程有效;

时间: 2024-10-29 19:13:50

20150825-Linux用户管理和权限管理的相关文章

Linux用户及文件权限管理

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

Linux用户和组权限管理

一.文件的权限 文件的权限主要针对三类对象进行定义 owner:属主u:   group:属组g:    other :其他o 每个文件针对每类访问者都定义了三种权限: r:Readable   w: Writable    x: eXcutable 对文件来说 r: 可使用文件查看类工具获取其内容 w: 可修改其内容 x: 可以把此文件提请内核启动为一个进程 对目录来说 r : 可以使用ls查看此目录中文件列表 w: 可在此目录中创建文件,也可删除此目录中的文件 x: 可以使用ls -l查看此

Linux用户,组和权限管理

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

linux 用户及文件权限管理

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

马哥2016全新Linux+Python高端运维班-Linux用户创建及权限管理

第三周作业内容:1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可.     [[email protected] ~]# who | cut -d' ' -f1 | sort -u      centos     liu     root 2.取出最后登录到当前系统的用户的相关信息.     第一种方式:         [[email protected] ~]# last | head -n1         liu      tty8        

Linux用户、用户组权限管理详解 --- 02

2,用户.用户组管理操作详解: 2.1 adduser 添加用户: adduser [-u uid][-g group][-d home][-s shell] -u:直接给出userID                      -g:直接给出GID -d:直接将根目录建立在已存在目录         -s:定义shell 添加用户 garfield 1 adduser garfield 通过前面介绍的三个用户管理文件检验用户 garfield 的添加是否成功: 当我们新建用户时,通过 /etc

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

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

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

用户管理和权限管理

用户管理和权限管理 用户账号:用户.组 /etc/ passwd用户账号家目录属性 shadow用户密码和使用期限 group组账号家目录属性 gshadow组密码和使用期限 Linux用户 UID:0-65535(一般0-60000) 管理员:0 系统用户 centOS6:1-499 centOS7:1-999 登录用户 centOS6:500---60000 centOS7:1000---60000 /etc/shadow 加密与解密 加密就是将明文加密到密文 解密就是将密文还原到明文 破解