用户,组和权限管理

用户,组和权限管理

概述:在Linux中由于可以实现多用户和多任务的管理,所以在Linux中用户和组与文件的权限关系显得格外重要。如果出现混乱,那么在用户使用时会给系统造成很多不稳定性的因素。这也是linux系统相对于其它操作系统更安全的原因之一。

linux系统中用户分为:

 系统用户:
    centos6上的UID(1-499)
    centos7上的UID(1-999)
    注:系统用户无法登陆到系统之中
登录用户
    centos6上的UID(500+)
    centos7上的UID(1000+)待
    (通过交互式方式进行登录)
    注:只有管理员有创建用户的权限,普通用户无法创建用户

配置文件:
    /etc/passwd中存放着用户的账号信息,配置文件中用:号隔开了七个字段,其中的每一
    个
    字段都代表不同的含义
    如:root:x:0:0:root:/root:/bin/bash
        1:root:标识用户名
        2:x:用户密码的占位符
        3:0:用户的UID
        4:0:用户的GID
        5:root:用户的注释信息
        6:/root:用户的家目录所在的位置
        7:/bin/bash:用户所使用的shell
    /etc/shadow中存放着用户的账号密码的信息,配置文件也用:号分割成了好几段,
    每个字段同样有不同的含义
    如:root:$6$WPjpqSwxMbi2LSA//5M2Q0:17900:0:99999:7:::
        1:存放着用户的用户名
        2:存放着用户用来加密的密码,默认是用sum512算法进行加密
        3:最近更动密码的日期,默认是从1970年到现在的天数
        4:密码最短使用时间,代表在这个时间之内,不允许更改用户密码。默认是0,代指随时
        可以更改用户密码
        5:密码需要重新变更的天数,即密码的最长使用时间
        6:密码到期前的警告时间
        7:密码已经过期了之后,用户可以登录的时间,如果这个时候还不改密码,那么过了时
        间之后,该用户就无法登陆系统
        8:记录用户密码的实效时间
    注:用户密码的加密使用的是单向加密的算法,单向机密的特点是无论多长的密码串通过
    加密之后都会生成固定长度的密文,而且即使相同的密码生成的密文也会有细微的差别。
    为了提高机密性,单向加密的密码,即使是简单的改变其中的一个字符,加密之后的密
    文也会千差万别,这个称之为雪崩效应。单向加密的算法分别包括:
        1:md5
        2:sha128
        3:sha224
        4:sha256
        5:sha384
        6:sha512

相关命令:
    1,useradd(添加用户)
    2,userdel(删除用户)
    3,usermod(改用户的相关属性)
    4,su(切换用户)
        注:用su切换用户时中间要加上-号,将切换的用户初始化。当管理员切换到普通用户时
        不需要密码,普通用户之间切换时需要用户密码
    5,getent(看用户的/etc/passwd的相关属性)
    6,id(查看用户的用户组)

linux系统中用户组分为:

系统组:
    centos6上的GID(1-499)
    centos7上的GID(1-999)
普通组:
    centos6上的GID(500+)
    centos7上的GID(1000+)

作用:每个用户必须有一个主组,在创建用户时如果不指定,那么系统会默认创建一个和
用户名相同的组,做为这个用户的主组
在创建用户时还可以指定用户的附加组,附加组可以是一个或者多个。

配置文件:
    /etc/group中存放着用户组的相关信息,其中每个用户组也分为若干段,每段代表着不同
    的含义
    如:user9:x:511:user10
        1:组的名称
        2:组密码的占位符
        3:组的GID号
        4:以该组为附加组的用户
    /etc/gshadow中存放着用户的组密码,格式和用户密码的属性差不多
    如:gentoo:$6$bAR22/OrVWl/om$t2JQeQkuOSncUr2uqrLu3IrU***3loryJI9626d8C4ijz.Z.ZkQjZg0::

相关命令:
    1,groupadd(添加用户的用户组)
    2,groupdel(删除用户系统中的用户组)
    3,groupmod(修改组的相关属性)
    4,gpasswd(给组添加密码)
    5,groupmems(更改和查看组成员)

linux中文件的基本权限:

在linux中可以通过ll命令看到文件以及目录的权限信息,其中第一个字段就包含着这个文
件或目录的权限,第二个字段是此文件的属主以及属组
权限的分类:
    r:读权限,对应的二进制是4,标识用户可以读取文件中的内容
    w:写权限,对应的二进制是2,标识用户可以在文件中增添查改内容
    x:执行权限,对应的二进制是1,标识该文件可以执行。如果是目录,则标识该目录可
    以进入其中。
注:这三个权限结合成一组,每三组标识着文件以及目录的基本权限,其中第一组代表着
文件的属主,第二组代表文件的属组,第三组其他人的权限

文件或目录的属主和属组:
    在linux系统中每个文件或目录都会有属主和属组,这是基本权限的一个重要组成部分

目录和文件权限的异同点:
    1,执行权限:
        文件:可执行此文件
        目录:可进入此目录之中,但是如果没有读权限,则看不到目录中的文件
    2,写权限:
        文件:可以在文件中增删查改,如果只有写权限,那么则无法看到文件中的内容
        目录:可以删除该目录中的文件,如果只有写权限,那么需要事先知道目录中有
        什么内容,才可以进行增删查改等进一步操作
    3,读权限
        文件:可以阅读此文件的内容
        目录:可以看到目录中有多少文件
    4,删除目录内的文件
        即使对目录内的文件没有任何权限,只要对目录有写权限,就可以删除目录内的文件

如:-rw-r--r--. 1 root root 986 1月  22 14:59 /etc/fstab
    1;文件的权限是644
    2:文件的属主是root,可以读写此文件
    3:文件的属组是root,可以读此文件
    4:其他人权限,仅可读取此文件

相关命令:
    1,chmod(该文件的权限)
        (1)赋权表示法
        (2)八进制表示法
        (3)引用权限表示法
    2,chown(改文件的属主和属组)
    3,chgrp(该文件的属组,由于上一条命令的存在,这条命令已经赶不上时代的存在)

默认权限:在系统中有普通用户和管理员都有默认的权限掩码(遮照码),在创建文件或目录是会默认与系统中的权限掩码相减

管理员的umask:022
普通用户的umask:002

文件:默认的是666,如果减的权限中有执行,那么会在减的结果中加1
目录:默认的是777

配置文件:
    在/etc/profile中定义的有umask的配置文件
    if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
        umask 002
    else
        umask 022
    fi

Linux文件系统上的特殊权限:

作用:在使用linux中基础权限有时会不满足系统中的使用,要加入一些特殊权限进行补足,即SUID, SGID, Sticky

SUID/SGID:该权限的权限标识位是s,当用户在执行此文件时,将使自己的身份临时切
换成文件的属主或属组。前提当给用户赋予SUID/SGID权限时,该文件的属主和属组必
须要有执行权限,否则权限标识位会显示成S

赋权方法:
    1,chmod u+s file , chmod 4700 file
    2,chmod g+s file , chmod 2700 file

Sticky:该权限的权限标识位是t,具有写权限的目录通常用户可以删除该目录中的任何
文件,在目录中加入Sticky权限,可使对该目录的中的内容删改权限仅有root可使用

赋权方法:
    1,chmod o+t directory , chmod o-t directory

linux中文件的特殊属性即不可改变位权限:

作用:
    目录:
        a:只允许在目录中建立和修改文件,但是不允许删除
        i:只能修改目录下文件的数据,却不能执行删除和新建文件
    文件:
        a:可对文件进行添加,不可删除
        i:不可对文件进行任何操作

赋权方法:
    chatter +i file/directory
    chatter +a file/directory
查看方法:
    lsatter file/directory

ACL权限:

作用:可以对目录或文件进行灵活的权限管理,让除了文件的属主,属组和其它人,可以
对更多的用户设置权限。

ACL权限的生效顺序:所有者,自定义用户,自定义组,其他人 

查看磁盘的ACL权限:
    tune2fs -l /dev/sda1
设置磁盘的ACL权限
    tune2fs -o acl /dev/sda1
    mount -o remount,acl /dev/sda1
注:在centos7中,无论是xfs还是ext4的系统都会默认加入ACL权限,之前的版本需要
手动添加ACL权限

赋权方法:
    1,给单个文件和目录设置:setfacl -m u:admin:rwx file/directory
    2,给目录进行递归设置:setfacl -Rm u:admin:rwx file/directory
    3,给目录设置默认的ACL权限:setfacl -m d:u:rwx file/directory
    4,删除ACL权限的方法 setfacl -x admin file/directory
注:
    1,给文件重新赋予ACL权限的,要用选项--set
    2,ACL中的mask是限制这个文件和目录能设置的最高的ACL权限,在设置的过程中,如果
    出现超过mask的权限,系统会将mask权限和设置的权限相与,得到的最终结果才是这个
    用户对此目录或文件的最终权限
查看方法:getfacl file/dirctory

备份和恢复ACL权限:文件中cp和mv命令都默认支持保留ACL权限,但是tar命令在打包
的同时,并不会保留文件中的ACL权限
    1,getfacl -R /tmp/dir1 > acl.txt(把ACL权限保存到文件中)
    2,setfacl -R -b /tmp/dir1(递归删除目录中的ACL权限)
    3,setfacl -R  --set-file=acl.txt /tmp/dir1 (重新给递归给目录赋予ACL权限)
    4,setfacl --restore acl.txt(给文件恢复备份的acl权限) 

原文地址:https://blog.51cto.com/14163901/2367961

时间: 2024-08-01 23:34:40

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

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) 登录用

详解用户,组,权限管理

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

2017-11-13Linux基础知识(11)用户、组和权限管理

在之前的章节中讲述了bash的基础特性以及IO重定向以和管道等其它的功能程序,之后介绍了一些其相关的命令,例如:tr和tee命令等,之后我们介绍了Here document,在这一章中,我们开始讲述用户.组及权限管理中的一部分,我们首先来说用户和组. 一.用户 Linux操作系统是一款多用户Multi-Users及多任务Multi-tasks的操作系统,也就是说,可以多个用户同时登录该系统执行各自的任务,彼此用户与用户之间互不干扰,这也是当时为了解决主机资源所提供的一种有效手段,那时候主机都在中

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('密码'),'',

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是一个多任务多用户的系统,多用户可以同时登陆同一台主机.为了考虑到每个人的隐私权和工作空间,这时候文件所有者(owner)就是即用户的角色就变得尤为重要了,同时为了用户与用户之间方便合作,共享一些公共资源,这时,为了实现资源的快速分配,我们把多个用户放在一个公共的空间,分别赋予他们不同的读写执行等操作的权限,这些用户共同组成的一个整体,就是所谓的用户组(group). 第一部分 Linux权限管理 用命令ls -l可以列出用户的权限. #ls -l 这里我们

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

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