LSA 管理用户和文件权限
一、管理用户和组账号
1.用户账号 超级用户:root。进行系统管理、维护任务。
普通用户:只在自己的宿主目录拥有完全权限
程序用户:低权限,不允许登录到系统,用于维持系统或某个程序的运行
2.组账号 基本组和附加组
对组账号设置的权限,将适用组内的每一个用户账号。
3.UID和GID号(唯一性)
UID(用户账号):root 0 程序用户1-499 普通用户500-60000
GID(组账号):root 0 程序用户1-499 普通用户500-60000
4.用户账户管理
★用户账号 文件
相关的配置文件主要有 /etc/passwd 和/etc/shadow。前者用于保存用户名称、宿主目录、登陆shell等基本信息。后者用于保存用户的密码、账号有效期限等信息。
passwd文件中的配置行格式
/etc/passwd/是文本文件。任何用户都可以读取文件中的内容
passwd从左到右包含七个配置字段
第一字段:用户账号的名称
第二字段:经过加密的用户密码字串,或者密码占位符“x”
第三字段:用户账号的UID
第四字段:所属基本组账号的GID号
第五字段:用户全名,可填写与用户相关的说明信息
第六字段:宿主目录,即该用户登陆后所在的默认工作目录
第七字段:登陆shell等信息,用户完成登陆后使用的shell。
shadow文件中的配置行格式
shudow文件中保存有各用户账号的密码信息。默认只有root用户能够读取文件中的内容,而不允许直接编辑该文件中的内容。
shuddow从左到右包含九个配置字段
第一字段:用户账号名称
第二字段:使用MD5加密的密码字串信息,当为“*”或“!!”时表示该用户不能登录到系统。若该字段为空,则该用户无需密码即可登录系统。
第三字段:上次修改密码的时间,表示从1970年1月1日(Unix的诞生日)算起到最近一次修改密码时间隔的天数。
第四字段:密码的最短有效天数。默认值为0,表示不进行限制。
第五字段:密码的最长有效天数。默认值为99999,表示不进行限制。
第六字段:提前多少天警告用户口令将过期。默认为7.
第七字段:在密码过期之后多少天内禁用此用户。
第八字段:账户失效期间,此字段指定了用户作废的天数。默认为空,永久可用。
第九字段:保留字段,目前没有特定功能。
★useradd命令---添加用户账号
用于设置账号属性的几个常用选项
-u 指定用户的UID号,要求未被其他用户使用。
-d 指定用户的宿主目录位置。
-c 指定用户的账户失效时间
-g 指定用户的基本组名
-G:指定用户的附加组名
-M 不建立使用者目录,,即使/etc/log in.defs系统档设定要建立使用者目录
-s 指定用户的登陆shell
★passwd---为用户账号设置密码
必须设置密码才能登陆到linux系统。
相关子选项
-d 清空指定用户的密码,仅使用用户名即可登录系统
-l 锁定用户账户
-S 查看用户账户的状态(是否被锁定)
-u 解锁用户账户
★usermod---修改用户账户属性
常用的几个选项
-u 修改用户的UID号
-d 修改用户的宿主目录位置
-e 修改用户的账户失效时间
-g 修改用户的基本组名
-G 修改用户的附加组名
-M 不为用户建立并初始化宿主目录
-s 指定用户的登陆shell
-l 更改用户账号的登陆名称
-L 锁定用户账户
-U 解锁用户账户
★userdel---删除用户账号
使用-r选项可以将该用户的宿主目录一并删除
★用户账号的初始配置文件
来自于账号模板目录“/etc/skel”
“.bash_profile”文件中的命令将在用户每次登录时被执行
“.bashrc”文件中的命令在每次加载“/bin/bash”程序时被执行
“.bash_logout”文件中的命令将在用户每次退出时被执行
5.组账号管理
★组账号文件
与组账号相关的配置文件也有两个,分别是/etc/group、/etc/gshudow。前者用于报讯组账号的名称、GID号、组成员等基本信息。后者用于保存组账户的加密密码字串信息
★groupadd命令---添加组账号
-g 指定GID号
★gpasswd---添加、删除组成员
-a 添加用户成员
-d 删除用户成员
-M 可以同时添加多个用户
★groupdel---删除组账号
添加指定的组账号名称作为参数
6.用户和组账号查询
★groups命令---查询某个用户账户所属的组
★finger命令---查询用户账号的详细信息
★users、w、who命令---查询当前登录到主机的用户信息。
三个命令查看的侧重点不同
finger 列出用户登录名、终端、登录时间及个人信息等
w 列出用户名、终端、执行的命令等各种统计信息
who 列出用户名、终端、登录时间、来源地点等信息
users 仅列出用户名信息
二 管理文件和目录的权限及归属
1. 在linux文件系统的安全模型中,为系统中的文件或目录赋予了两个属性:访问权限(权限)和文件所有者(归属)。访问权限包括读取、写入、可执行三种基本类型。归属包括属主、属组。
2.查看文件或目录的权限和归属
ls -ld
第一字段:表示该文件的访问权限 权限字段由4部分组成
第1个字符:表示该文件的类型,可以是d(目录)、b(快设备文件)、c(字符设备文件)、减号“-”(普通文件)、字母“I”(链接文件)等
第2-4个字符:表示该文件的属主用户(user)对该文件的访问权限
第5-7个字符:表示该文件的属组内各成员用户(group)对该文件的访问权限
第8-10个字符:表示其他任何用户(other)对该文件的访问权限
3.设置文件或目录的权限
chmod命令实现。在设置针对每一类用户的访问权限时,可以采用两种形式的权限表示方法:子字符形式和数字形式。r、w、x权限字符可分别表示为八进制数字 4、2、1,表示一个权限组合时需要将数字进行累加。
基本的命令格式
★chmod 【ugoa】【+-=】【rwx】
“ugoa”表示该权限设置所针对的用户类别,“u”代表文件属组,“g”代表文件属组内的用户,“o”代表其他任何用户,“a”代表所有用户
“+-=”表示设置权限的操作动作,“+”代表增加相应权限,“-”代表减少相应权限,“=”代表进设置对应的权限
“rwx”是权限的字符组合形式,也可以拆分使用。
★chmod nnn 文件或目录 nnn为需要设置的具体权限值
4.设置文件或目录的归属
通过chown、chgrp命令进行。chown命令可以同时修改文件或目录的属组、属主,而chgrp命令只用于修改属组信息。
基本的命令格式
chown 属主【:【属组】】 文件或目录
-R递归修改目录中所有子目录及文件的归属
5.使用附加权限
1.SET位权限
SET位权限多用于给可执行的程序或脚本文件进行配置,其中SUID表示对属主用户增加SET位权限,SGID表示对属组内的用户增加SET位权限。执行文件被设置了SUID、SGID权限后,任何用户在执行该文件时,将获得该文件属主、属组账号对应的身份。
设置了SET权限的目录,使用ls命令查看其属性时,其他用户权限处的“x”将变为“s”。
2.粘滞位权限
粘滞位主要用于为目录设置特殊的附加权限,当目录被设置了粘滞位权限以后,即使用户对该文件有写入权限,也不能删除该目录中其他用户的文件数据。
linux系统中/tmp、/var/tmp是系统的临时文件夹。
设置了粘滞位权限的目录,使用ls命令查看其属性时,其他用户权限处的“x”将变为“t”。