首页 > 其他分享 >2用户账户和组管理

2用户账户和组管理

时间:2023-02-23 12:47:31浏览次数:44  
标签:文件 管理 账户 用户 权限 root 目录

用户账户和组管理

用户和组分类:

Linux用户:超级用户(root)、系统用户、普通用户

Linux用户组:主要组(所属组)、附加组(扩展组)

  • 主要组:为用户第一次创建时所加入的组,系统中任何一个用户在创建时都会加入一个组(系统默认加入或用户指定加入)

  • 附加组:为用户加入的除第一个加入的组(主要组)以外的其他组。

用户通过分组,可以很好的进行各种需求的(账户、权限等)统一管理和配置。

用户和组标识:

  • 用户标识(UID)为0-65536范围的数字。

超级用户UID:0,系统用户UID:1-999,普通用户UID:1000开始。在/etc/passwd文件中可以查看系统中每个用户对应的的UID值。

  • 组标识(GID)为为0-65536范围的数字。

超级用户组GID:0,系统用户组UID:1-999,普通用户组UID:1000开始。在/etc/group文件中可以查看系统中每个组对应的的GID值。

用户和组的ID值范围以及它们不同的类型的取值范围都是在/etc/login.defs文件中进行默认设置,该内容可以修改。

用户管理文件:

账户文件:/etc/passwd,存放账户信息

每一行被分成7个部分(字段),每个部分用:进行分隔,具体意义如下:

root:x:0:0:root:/root:/bin/bash

[root@localhost ~]# head -1 /etc/passwd
root:x:0:0:root:/root:/bin/bash
......
用户名:加密口令:UID:GID(主要组):说明:主(家)目录:命令解释器(shell)

密码文件:/etc/shadow,存放账户密码

每一行被分成9个部分(字段),每个部分用:进行分隔,具体意义如下:

[root@localhost ~]# head -1 /etc/shadow
root:$1$KsQ764v6$tzdck7t.Ep9r3wwvHIaqW1::0:99999:7:::
......
用户名:加密密码:最后 一次修改时间:最小修改时间:密码有效期:密码需要变更前的警告天数:密码过期后的宽限时间:账户失效时间:保留字段

组文件:/etc/group,存放组信息

每一行被分成4个部分(字段),每个部分用:进行分隔,具体意义如下:

[root@localhost ~]# head -1 /etc/group
root:x:0:
......
组群名称:组群口令(一般为空):GID:附加组的用户成员列表

组密码文件:/etc/gshadow,存放组密码(基本不用)

用户管理命令:对/etc/passwd账户文件和/etc/shadow文件的修改

useradd:创建用户,系统会默认在/home目录里对应创建该账户的家目录,及创建默认(与账户名同名的)主要组,并将该账户加入该组。

usermod:修改账户信息,包括禁用账户

passwd:创建或修改密码,包括禁用账户

chage:修改密码的其他信息,包括密码有效期等。

userdel:删除账户,加-r参数则会递归删除该账户对应的家目录。

组管理命令:对/etc/group账户文件的修改

groupadd:创建一个组

groupmod:修改一个组

groupdel:删除一个组

gpasswd:将账户从附加组中添加或删除

其他账号命令:

su:切换用户身份(不需要重启登录系统)

exit:退出切换的用户身份

id:用于查看真实有效的用户 ID(UID)和组 ID(GID)

(3)文件和目录权限管理

1)文件类型:

在Linux系统中所有的都是文件,即“一切皆是文件”的说法,进程、线程、缓存、网络等等都是文件,Linux系统中的文件类型包含以下几种:

  • 普通文件(-):用于存放数据、程序等信息的一般文件,包括文本文件和二进制文件。

  • 目录文件(d):由该目录所包含的目录项所组成的文件。

  • 符号链接文件(l):负责将一个进程的信息传递给另一个进程,从而使该进程的输出成为另一个进程的输入。

  • 块设备文件(b):存取是以一个字块为单位。普通文件的处理是不必要对硬件进行过多操作的,而字符型设备和块设备就不同了,所以是以特别形式文件出现。/dev/cdrom,/dev/fd0,/dev/hda都是磁盘(光驱,软驱,主硬盘),它们的存取是通过数据块来进行的。

  • 字符设备文件(c):存取数据时是以单个字符为单位的。/dev/audio是字符设备文件,对audio的存取是以字节流方式来进行的。

  • 套接字文件(s):套接字文件系统是一个用户不可见的,高度简化的,用于汇集网络套接字的内存文件系统,

  • 命名管道文件(p):负责将一个进程的信息传递给另一个进程,从而使该进程的输出成为另一个进程的输入。

2)文件权限:

权限是账户或组、权限、文件或目录3类概念的组合,权限控制逻辑是:账户(组)通过权限设置对文件(目录)进行访问控制。

权限分为3类:只允许账户自已访问、允许组中的账户访问、任何用户访问

账户分为3类:所有者、组中账户、其他账户

任何一个文件(目录)通过3类权限和3类账户的任意组合,形成了账户对文件(目录)的访问控制。

[root@localhost ~]# ll
total 12
-rw-r--r--. 1 root root    5 Feb 20 19:28 aaabbb
-rw-------. 1 root root 2767 Dec 20 18:17 anaconda-ks.cfg
drwxr-xr-x. 2 root root    6 Dec 20 19:11 Desktop
drwxr-xr-x. 2 root root    6 Dec 20 19:11 Documents
drwxr-xr-x. 2 root root    6 Dec 20 19:11 Downloads
-rw-r--r--. 1 root root    0 Feb 21 17:24 file1.sh
......

 

在Linux系统中的文件(目录)的第1列为权限信息,第3、4列为账户信息,其中第3列为所有者,第4列为组中账户,除此之外的全部为其他账户。

第1列是文件类型权限,共有10个字符,如file1.sh文件的第1列,这10个字符中除第1个字符是表示文件类型(-、d、l)外,剩下9个字符代表权限,这9个字符的表示如下:

9个字符每3个一组,代表一类账户:如rw-r--r--,所有者权限为rw-,所属组权限为r--,其他账户为r--。

在Linux系统中的权限有字符表示和数字表示这2种表示方法:

  • 字符表示法:权限用r(读)、w(写)、x(执行)、-(无),这4符号种表示。同时,使用字符法设置权限时,还有4种同不用户u(所有者)、g(所属组)、o(其他账户)、a(以上3种账户),3种操作符号+(增加权限)-(减少权限)=(取消原权限赋新权限)。

-rw-r--r--. 1 root root    0 Feb 21 17:24 file1.sh
--表示root账号可以读写file1.sh文件,但不能执行,root组中账户只能读,其他账户只能读
  • 数字表示法:权限用4(读)、2(写)、1(执行)、0(无)这4种数字表示。

 

在系统中查询文件(目录)的权限是以字符表示法显示的,同时也可以在权限命令中使用字符表示法设置权限。数字表示法在权限命令中设置权限使用。

3.3Linux系统权限

chmod:修改文件(目录)的权限,即修改文件(目录)第1列的内容,使用字符法设置权限相对数字法复杂些,所以用数字法设置权限更方便。

[root@localhost ~]# ll file1.sh
-rw-r--r--. 1 root root 0 Feb 21 17:24 file1.sh
......
--表示root账户有读写权限,root组账户有读权限,其他账户有读权限

[root@localhost ~]# chmod 755 file1.sh    --设置file1.sh文件的权限为rwxr-xr-x(755)
[root@localhost ~]# ll file1.sh
-rwxr-xr-x. 1 root root 0 Feb 21 17:24 file1.sh
......
--表示root账户有读写执行权限,root组账户有读、执行权限,其他账户有读、执行权限

chown:修改文件(目录)的所有者或所属组,即修改文件(目录)第3、4列的内容。-R参数能同时修改所有子目录的所有者和所属组。

[root@localhost ~]# ll file1.sh
-rwxr-xr-x. 1 root root 0 Feb 21 17:24 file1.sh
......
[root@localhost ~]# chown user1:user1 file1.sh    --修改所有者和所属组账户
[root@localhost ~]# ll file1.sh
-rwxr-xr-x. 1 user1 user1 0 Feb 21 17:24 file1.sh

chgrp:修改文件(目录)的所属组。只能修改所属组,因此很少使用。

4)权限与访问的关系:

  • 账户进入目录需要有读(r)和执行(x)权限。

  • 账户读取目录中的文件,对目录需要有x权限,对文件需要有r权限。

  • 账户修改文件,对目录需要有x权限,对文件需要有r权限、w权限。

  • 账户创建文件,对目录要有w、x权限。

  • 账户执行目录中的命令,对目录至少要x权限,对命令文件至少需要x权限。

5)特殊权限

由于有时对Linux系统的权限有些特别的或复杂的控制需求,只有基本权限就显得不够用,所以除了基本的9位权限外,还有额外3位权限位,共12位权限位:

  • suid s(有x) S 4 用户对应的权限位(用户对应的3位上)

  • sgid s(有x) S 2 用户组对应的权限位(用户组对应的3位上)

  • sticky t(有x) T 1 其他用户对应的权限位

6)隐藏属性

专门用来修改文件或目录的隐藏属性,只有 root 用户可以使用。

chattr命令、lsattr命令

umask命令

7)ACL规则

ACL(文件访问控制)规则是指针对指定用户或组用户设置文件(目录的操作权限)。

setfacl命令、getfacl命令

 

标签:文件,管理,账户,用户,权限,root,目录
From: https://www.cnblogs.com/hkglion/p/17147518.html

相关文章

  • 通过init-connect 实现MYSQL 普通用户登录审计
    目录适用范围问题概述解决方案创建审计日志表开启审计日志表创建普通用户并授审计日志表结果说明参考文档适用范围MYSQL8+问题概述数据库审计功能主要将用户对数据库......
  • mysql允许root用户在任何地方进行远程登录,并具有所有库任何操作权限
    在本机先使用root用户登录mysql:mysql-uroot-p"youpass"进行授权操作:mysql>GRANTALLPRIVILEGESON*.*TO'root'@'%'IDENTIFIEDBY'youpassword'WITHGRANTOPT......
  • flomo - 知识管理感悟
    知识管理Flomo出版《知识管理》书籍的阅读感悟。知识,是人类的财富,但是知识是没有穷尽的,就像一句俗话:活到老,学到老;书山有路勤为径,学海无涯苦作舟;还有近来兴起的概念:终身......
  • 一般用户无法使用sudo命令
    文章目录前言一、为什么我用不了sudo命令1.原因二、如何将普通用户添加到信任列表里面1.前提2.详细过程2.1用root用户修改/etc/sudoers文件 2.2找到对应位置......
  • 大规模 IoT 边缘容器集群管理的几种架构-4-Kubeedge
    前文回顾大规模IoT边缘容器集群管理的几种架构-0-边缘容器及架构简介大规模IoT边缘容器集群管理的几种架构-1-Rancher+K3s大规模IoT边缘容器集群管理的几种架构-......
  • git 设置用户
    gitconfig--globaluser.name"yourname"gitconfig--globaluser.email"youremail" 在项目根目录下进行单独配置$gitconfiguser.name“yourName”$git......
  • 用户投稿——详解我了解的 TDengine 以及它所在的时序数据库“战场”
    作者:大数据模型本篇文章出自2022年“用TDengine,写TDengine”征文投稿活动。因为工作的关系,最近几年我接触到过各种国产数据库,唯独对TDengine念念不忘。在众多数......
  • Scoop Windows下的包管理工具
    Scoop安装设置安装路径(可选)。默认Scoop是安装在C盘的,以及通过Scoop安装的软件也是在C盘的。如果你的C盘空间不够或想安装到其他盘,可以执行以下操作#设置s......
  • 【VS2022】无法添加def且无法打开资源管理器
    产生环境VS2022ProfessionalWin10X64问题描述    1、VS2022通过工程添加def文件时,添加界面一闪而过,又回到添加界面,无任何报错;    2、无法打开资......
  • SONiC系统第三方容器管理
    SONiC系统采用基于容器的架构,包括Redis数据库在内的几个核心部件是运行在操作系统之上的几个容器应用,这个从SONiC的软件架构图上可以明确地看出来。SONiC系统采用基于容器......