导图社区 Linux第七章用户与文件的权限管理
Linux第七章用户与文件的权限管理笔记,包括用户和组的分类、Linux中用户和组的配置文件、用户登录Linux系统的过程、Linux中文件和目录的权限等内容。
编辑于2022-04-10 16:37:13用户与文件的权限管理
用户和组的分类
用户分为三类:
超级用户:—用户名为root,它具有一切权限,只有进行 系统维护(例如:建立用户等)或其他必要情形下才用超级用户登录,以避免系统出现安全问题
系统用户(伪用户):是Linux系统正常工作所必需的内建的用户
主要是为了满足相应的系统进程对文件属主的要求而建立的,例如:bin、daemon、adm、lp等用户。
系统用户不能用来登录
普通用户:是为了让使用者能够使用Linux系统资源而 建立的,我们的大多数用户属于此类。
每个用户都有一个UID的数值:
超级用户的UID——0
系统用户的UID——1~999
普通用户的UID——≥1000
Linux中的组有三类:
基本组:建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,就是基本组。基本组只容纳一个用户。当把其他用户加入到该组中,基本组就变成了附加组
附加组:可以容纳多个用户,组中的用户都具有组所拥有的权利。
系统组:一般加入一些系统用户
Linux中用户和组的配置文件
在Linux中,用户账号、密码、组信息、组密码均是存放在不同的配置文件中的
文件功能 :文件名称
用户账号文件 : /etc/passwd
passwd是一个文本文件,用于定义系统的用户账号,由于所有用户都对passwd有读权限,所以该文件中只定义用户账号,而不保存口令。
Passwd文件中:
每行定义一个用户账号
每行由7个字段组成,字段之间用“:”分隔,其格式如下:
账号名称 : 密码 : UID : GID : 个人资料 : 主目录 : Shell
字段说明:
账号名称:用户登录Linux系统时使用的名称。
密 码 : 以 前 是 以 加 密 格 式 保 存 密 码 的 位 置 , 现 在 密 码 保 存 在/etc/shadow文件中,此处只是密码占位符“x”或“*”。若为“x”,说明密码经过了shadow的保护
UID:用户的标识,是一个数值,用它来区分不同的用户
GID:用户所在基本组的标识,是一个数值,用它来区分不同的组,相同的组具有相同的GID
个人资料:可以记录用户的完整姓名、地址、办公室电话、家庭电话等个人信息
主目录:类似Windows 的个人目录,通常是/home/username,这里username是用户名,用户执行“cd~”命令时当前目录会切换到个人主目录。
Shell:定义用户登录后激活的Shell,默认是Bash Shell
用户密码文件 : /etc/shadow
每行定义了一个用户信息,行中各字段用“:”隔开,其格式如下:
登录名 : 加密口令 : 最后一次修改时间 : 最小时间间隔 : 最大时间间隔 : 警告时间 : 不活动时间 : 失效时间 : 标志
字段说明:
字段 : 含义
登录名 : 登录名
加密口令 : 使用SHA-512/SHA-256/MD5算法加密后的密码,若为空,表示该用户无需密码即可登录,若为“*”表示该账号不能用于登录系统,若为“!!”表示该账号密码已被锁定
最后一次修改时间 : 最近一次更改密码的日期,以距离1970年1月1日的天数表示
最小时间间隔 : 密码在多少天内不能被修改。默认值为0,表示不限制
最大时间间隔 : 密码在多少天后必须被修改。默认值为99999,表示不进行限制
警告时间 : 提前多少天警告用户密码将过期,默认值为7天,0表示不提供警告
不活动时间 : 密码过期多少天后禁用此用户
失效时间 : 密码失效日期,以距离1970年1月1日的天数表示,默认为空,表示永久可用
标志 : 保留未用,以便以后发展之用
用户组账号文件 : /etc/group
系统中的每一个文件都有一个用户和一个组的属主。使用“ls -I”命令可以看到每一个文件的属主和组。
系统中的每个组,在letclgroup文件中有一行记录
任何用户均可以读取用户组账户信息配置文件。
用户组的真实密码保存在letclgshadow配置文件中
group文件字段说明:
字段 : 说明
Groupname : 组的名字
Passwd : 组的加密口令
GID : 是系统区分不同组的ID,在/etc/passwd域中的GID字段是用这个数来指定用户的基本组
Userlist : 是用“,”分开的用户名,列出的是附加组的成员
组密码文件 : /etc/gshadow
用户登录Linux系统的过程
Linux系统采用纯文本文件来保存账号的各种信息,其中最重要的文件有:
/etc/passwd、 /etc/shadow、/etc/group
Linux用户登入系统过程实质是系统读取、核对这几个文件的过程,其过程如下:
出现登录系统的画面提示输入账号,输入账号与密码;
Linux先寻找/etc/passwd里面是否有该账号名,若没有则退出登录,若有则将该账号对应的UID(User ID)与GID(Group ID)、用户主目录、shell设定一并读出;
Linux 进入/etc/shadow 里面找出登录账号与UID相对应的记录,然后核对一下刚刚输入的密码与此文件的密码是否符合;以上核定没有问题,用户正式进入系统。
Linux 进入/etc/shadow 里面找出登录账号与UID相对应的记录,然后核对一下刚刚输入的密码与此文件的密码是否符合;以上核定没有问题,用户正式进入系统。
Linux中文件和目录的权限
第1个字符:表示该文件的类型,其类型标识符和对应的文件类型。
第2~4个字符:表示该文件的属主用户(文件的所有者)对该文件的访问权限。
第5~7个字符:表示该文件的属组用户(与属主用户同组的各成员用户)对该文件的访问权限。
第8~10个字符:表示其他所有用户对该文件的访问权限
第11个字符:用来表示是否有一个可替换的访问控制措施应用在该文件上。当为一个空格时,表示系统没有可替换的访问控制措施;当为“.”字符时,代表该文件使用了SElinux安全上下文,且未使用其他的访问控制措施;当为“+”字符时,表示该文件在使用SElinux安全上下文的同时,还混用了其他访问控制措施(如:访问控制列表ACL)。
文件和目录的一般权限:
文件和目录的特殊权限:
在Linux系统中,用户对文件或目录的访问权限,除了r(读取)、w(写入)、x(执行)三种一般权限外,还有SET UID(SUID)、SET GID(SGID)、Sticky Bit(粘滞位)三种特殊权限,用于对文件或目录进行更加灵活方便的访问控制
(1)SET UID(SUID)
(2)SET GID(SGID)
(3)Sticky Bit(SBit,粘滞位)
用户的管理
添加新用户 ———useradd命令
命令格式: useradd [选项] <username>
⑵ 应用示例:【例4-1】新建一个用户zhang3,查看passwd、shadow文件中的变化,并确认该用户的家目录中的初始配置文件
[root@dyzx ~]# useradd zhang3
[root@dyzx ~]# tail -1 /etc/passwd
结果: zhang3:x:1001:1001::/home/zhang3:/bin/bash
# tail -1 /etc/shad
结果:zhang3:!!:16925:0:99999:7::: //注意密码字段的内容为“!!”,表示密码尚未设置
# ls -ld /home/zhang3
结果:drwx------. 3 zhang3 zhang3 74 11月 4 15:58 /h
# ls -A /home/zhang
结果:.bash_logout .bash_profile .bashrc .mo
useradd命令做了下面几件事:
在 /etc/passwd 和/etc/group文件中增添了一行记录;
为新用户创建家目录(默认是“/home/用户名”,除非特别设置),并从/etc/skel中将.bash_logout, .bash_profile、.bashrc和.mozilla等4个隐藏文件复制到用户家目录,以便为用户的会话提供环境变量;
为新用户添加一个邮件池目录;
创建一个和用户名同名的基本组(除非特别指定其他组名