Linux用户、组及权限管理浅析

一、用户和组

1.用户

系统用来认证(Authentication),授权(Authorization),审计(Autition)的帐号。通过登录用户来登录系统。操作系统通过登录不同的用户来调用相对应权限的进程或程序,也可以说,用户是能获取系统资源的权限集合。

2.用户的分类

Linux用户分为2类,即管理员用户和普通用户。

管理员用户:即root,拥有最大的权限的用户,可以调用系统任意的资源。其uid为0

普通用户:普通用户也分2类,分别为系统用户和登录用户。

系统用户:保障系统启动时的基本服务正常运行的用户,一般不能登录。注意,也有可以登录的系统用户,来保障重要程序运行。其uid为1-499(CentOS6)或1-999(CentOS7+)

登录用户:一般用户,用来登录并使用系统。其uid为500-60000(CentOS6)或1000-60000(CentOS7+)

3.组

组是用户的集合或容器,用户可以继承组的使用系统资源的权限。

4.组的分类

组有3种分类方式。

组类别1:

管理员组:root的组,权限最大的组,其gid为0

普通用户组:

系统组:系统用户的组,其gid为为1-499(CentOS6)或1-999(CentOS7+

登录组:登录用户的组,其gid为500-60000(CentOS6)或1000-60000(CentOS7+)

组类别2:

基本组:创建用户时生成的同用户名一样的组,有且只有一个

附加组:除了基本组外的组,可以同时有很多个

组类别3:(感觉是基本组和附加组的另一种说法)

私有组。

公共组。

  

  5.密码

密码是用户用来登录系统或切换组时需要的凭证,其存放在/etc/shadow和/etc/gshadow文件内。

密码建议使用随机密码,最短长度不要低于8位,同时使用大写字母、小写字母、数字、标点符号四类字符中至少3类,并定期更换。

linux使用单向加密,有md5,sha1,sha224,sha256,sha384,sha512共6种加密算法。

6./etc/passwd、/etc/shadow、/etc/group、/etc/gshadow、文件

uid(UID),gid(GID):因为计算机硬件能识别的只有二进制代码,内存中用来存储用户和组的信息的大小分别都为16bits,所以总的数值为0-65536。uid,gid就是存储在计算机内存中的用户名和组名,它们通过配置文件/etc/passwd和/etc/group来互相解析。

(1)/etc/passwd:用户的信息库

格式为:

name:passwd:uid:gid:gecos:directory:shell

name:用户名

passwd:密码,可以是加密的密码,也可以是占位符x

uid:用户id号

gid:用户所属的主组的id号

gecos:注释信息

directory:用户的家目录

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

(2)/etc/shadow:用户的密码库

格式为

用户名:加密的密码:最近一次修改密码的时间:最短使用期限:最长使用期限:警告期限:密码禁用期:过期期限:保留字段

(3)/etc/group:组的信息库

格式为:

group_name:password:GID:user_list

group_name:组名

password:组密码(不同组的用户切换组时用到,chgrp命令)

GID:组id号

user_list:该组的用户成员,以此组为辅加组的用户的用户列表

(4)/etc/gshadow:组的密码库

  7.相关命令

(1)useradd:添加用户

格式:useradd [选项] 登录

-u,--uid UID:指定UID

-g,--gid GROUP:指定基本组ID,此组得事先存在

-c,,--comment COMMENT:指明注释信息

-G,--groups GROUP1[,GROUP2,...[,GROUPN]]]:指明用户所属的附加组,多个组之间用逗号隔开

-d,--home HOME_DIR:以指定的路径为用户的家目录,通过复制/etc/skel此目录并重命名实现,如果指定的家目录路径事先存在,则不会为用户复制环境配置文件

-s,--shell SHELL:指定用户的默认shell,可用的所有shell列表存储在/etc/shells中

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

-M:不创建用户主目录

注意:创建用户时的诸多默认设定配置文件为/etc/login.defs

useradd -D:显示创建用户的默认配置

useradd -D 选项:修改默认选项的值

修改的结果保存于/etc/default/useradd文件中

(2)usermod:修改用户相关属性

格式:usermod [选项] 登录名

-u,--uid UID:修改UID号

-g,--gid GROUP:修改用户所属的基本组,必须存在

-G,--groups GROUP1[,GROUP2,...[,GROUPN]]]:修改用户所属的附加组:原来的附加组会被覆盖

-a,--append:与-G一同使用,用于为用户追加新的附加组

-c,--comment COMMENT:修改注释信息

-d,--home HOME_DIR:修改用户的家目录

-m,--move-home:只能与-d选型一同使用,用于将原来的家目录移动为新的家目录

-s,--shell SHELL:修改用户的默认shell

-l,--login NEW_LOGIN:修改用户名

-L,--lock:锁定用户密码:即在原来的密码字符串之前添加一个‘!’

-U,--unlock:解锁用户的密码

(3)userdel:删除用户

格式:userdel [选项] 登录

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

(4)groupadd:添加组

格式:groupadd [选项] group_name

-g GID:指定GID,默认是上一个组的GID+1

-r:创建系统组

(5)groupmod:修改组的相关属性

格式:groupmod [选项] GROUP

-g GID:修改GID

-n new_name:修改组名

(6)groupdel:删除组

格式:groupdel GROUP

(7)passwd:修改用户密码

格式:passwd  [-k]  [-l]  [-u  [-f]]  [-d]  [-e]  [-n  mindays]  [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username]

1、passwd 修改用户自己的密码

2、passwd USERNAME:修改指定用户的密码,但仅root有此权限

-l,-u:锁定、解锁用户密码

-d:清除用户密码

-e DATE:过期期限,日期

-i DAYS:非活动期限

-n DAYS:最短使用期限

-x DAYS:最常使用期限

-w DAYS:警告期限

--stdin:echo "PASSWORD" | passwd --stdin USERNAME

(8)gpasswd:给组添加密码

格式:gpasswd [选项] group

-a USERNAME:向组中添加用户

-d USERNAME:从组中移除用户

 (9)newgrp:临时切换指定的组为基本组

      格式:newgrp [-] [group]

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

 (10)id:显示用户真实和有效的ID

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

-u:仅显示有效的UID

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

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

-n:显示名字而非ID

(11)su:switch user

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

su - USERNAME

su -l USERNAME

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

su USERNAME

常用方法:-c ‘COMMAND‘ :仅以指定用户的身份运行此处指定的命令

二、权限管理

  

  1.权限

前面讲过,用户登录系统调用进程来实现系统的运行,基于安全的考虑,不是每个用户都能调用同一个进程或重要的系统后台进程,这就需要权限来管理。同时,liunx的原则之一,一切都是文件,所以实质上是对文件的权限管理。

而进程对文件的访问权限应用模型

进程的属主与文件的属主是否相同,如果想同,则应用属主权限

否则,则检查进程的属主是否属于文件的属组,如果是,则应用属组权限

否则,就只能应用other权限

  2.权限的组合

权限的显示模式:rwxrwxrwx

前三位:表示属主用户的权限

中三位:表示属组用户的权限

后三位:表示其他用户的权限

组合和8进制的换算为

---  0

--x  1

-w-  2

-wx  3

r--  4

r-x  5

rw-  6

rwx  7

3.文件的权限

    以/etc/passwd为例执行ll /etc/passwd
    -rw-r--r--. 1 root root 1801 12月 11 10:36 /etc/passwd

r:readable,表示可获取文件的数据

w:writable,表示可修改文件的数据

x:excutable,表示可将此文件运行为进程

4.目录的权限

    以/etc/rc.d为例,执行ll -d /etc/rc.d

drwxr-xr-x. 10 root root 4096 3月   6 2015 /etc/rc.d/

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

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

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

5.相关命令

    

    (1)chmod:修改文件权限

格式:chmod [OPTION]... MODE[,MODE]... FILE...
          chmod [OPTION]... OCTAL-MODE FILE...

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

3类用户简写:u:属主、g:属组、o:其他、a:所有

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

MODE表示法:

赋权表示法:直接操作一类用户的所有权限位

u=

g=

o=

a=

授权表示法:

u+,u-

g+,g-

o+,o-

a+,a-

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

(八进制即0-7)

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

(引用性修改)

选项:

-R, --recursive:递归修改(授权表示法使用多)


    (2)chown:改属主和属组

格式:chown [OPTION]... [OWNER][:[GROUP]] FILE...(或者是.)

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

选项:

-R:递归修改

     (3)chgrp:改属组

       格式:chgrp [OPTION]... GROUP FILE...

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


(4)umask:文件的权限反向掩码,遮罩码

文件:

666-umask

目录:

777-umask

注意:文件用666去减,是因为文件默认不能有执行权限:如果减的数有执行权限,则加1

格式:umask:查看当前umask

umask MASK:设置umask

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

参考:http://linuxme.blog.51cto.com/1850814/347086/

时间: 2024-10-08 21:30:45

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用户及文件权限管理

用户及文件权限管理 一.实验介绍 1.1 实验内容 Linux 中创建.删除用户,及用户组等操作. Linux 中的文件权限设置. 1.2 实验知识点 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之用户及文件权限管理

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

详解用户,组,权限管理

内容介绍: 我们要使用操作系统进行工作,就需要人机交互操作,这时候计算机就需要创建用户,通过用户来实现操作,而且随着用户的增加需要给用户分组,这时候就需要对文件进行权限管理. 需要使用的工具: 用户相关工具:useradd; userdel; usermod;id;su等: 组相关工具:groupadd; groupdel; groupmod等: 权限管理工具:chmod; chown; chgrp:umask等: 一.用户类别: 管理员:root,管理员用户标识UID:0 普通用户:(系统用户

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

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