用户、组的基本概念:
用户和组
系统上每一个进程都是由一个特定的用户发起
系统上的文件都是由特定的用户拥有
用户对系统上的文件访问时 收到权限控制
与运行中的进程相关联的用户确定该进程可访问的文件和目录
用户:
用户标识符、密码
用户的分类
管理员
普通用户
组:
用户组、用户容器
用户和组的标识符:
UID: 0-65535(使用用户)
管理员用户:
root:0
普通用户:
1-65535
系统用户:
CentOS6:1-499
CentOS7:1-999
登录用户:
CentOS6:500-
CentOS7: 1000-
名称解析:
用户名--------UID
/etc/passwd
GID: 0-65535
用户组的类别:
用户的基本组
用户的附加组
/etc/group
认证信息:密码 /etc/shadow /etc/gshadow
密码策略:
1、使用随机密码
2、最短密码不低于8位
3、应该使用小写字母、大写字母、数字、标点符号四类中的至少三类
4、定期更换
加密算法:
用户组管理:
安全上下文:进程是以其发起者的身份运行,进程对文件的访问权限,取决于发起此进程的用户的权限
groupadd
groupadd [options] group
-g GID : 指定组ID,默认情况下上一个组ID+1
-r:创建一个系统组
groupmod:修改组属性
groupmod [options] GROUP
-g:修改组ID
-n:修改组名
groupdel:删除组
groupdel [options] GROUP
groupdel nebula
useradd 创建用户
useradd [options] LOGIN
-u:指定UID
-g:指定基本组ID
-G:指定用户的附加组,附加组要事先存在
-c:添加注释信息
-d:指定用户的家目录,通过复制/etc/ske1目录,并改名
-s:指定用户的默认shell
-r:创建系统用户
useradd -D 显示创建用户的配置
useradd -D [options] 修改默认配置
userdel 用户删除
userdel 登录名
-r:删除用户时一并删除家目录
usermod:修改用户属性
-u:修改用户的ID
-g:修改用户的基本组
-G:修改用户的附加组
-c:修改注释信息
-d:修改家目录
-m:与-d选项一起使用,用于将原来家目录的文件移动到新的家目录
-a:与-G一起使用,追加用户的附加组
-l:修改用户名
-s:修改默认shell
-L:锁定用户密码
-U:解锁用户密码
passwd
1、passwd:直接修改自己的密码
2、passwd username:修改指定用户的密码,仅root用户有此权限
-l:锁定用户
-d:清除密码串
-e DATE:过期日期
-i DAYS:非活动期限
-n DAYS:密码最短使用期限
-x DAYS :密码最长使用期限
-w DAYS:告警期限
–stain:非交互式创建密码
echo “PASSWORD” |passwd --stdin username
gpasswd:
-a username:向组内添加用户
-d username:从组内删除用户
newgrp:临时切换指定的组位基本组
chage:更改密码过期信息
-d:指定密码最后修改日期
-E:密码到期日期
-w:密码过期前的警告天数
-m:密码可以更改的最小天数
-M:密码保持有效的最大天数
id:
-u:显示UID
-g:显示GID
-G:显示用户的所有组ID
-n:显示名字
6 6 6 加密算法
rsIAoufpdIhAk2df$ 加密因子
最后一次修改时间:表示从某一个时间点开始,到用户组最后一次修改口令的天数,一般情况下是从1970.1.1
最小时间间隔:
最大时间间隔:
小练习:
1、创建用户gentoo,UID位4001,基本组位suse,附加组位jerry(jerry的GID位5000)
2、创建用户federa,其注释信息为“federa core” 默认shell位、bin/csh
3、修改gentoo用户家目录为/tmp/gentoo
4、gentoo增加附加组natasha
正则表达式
元字符
字符匹配
匹配次数
位置锚定
分组引用
用户
组
Linux文件系统权限:
权限对象
文件拥有者
群组
其他人
权限类型
d rwxr-xr-x . 2 root root 4096 Jul 28 06:43 bin
r:4
w:2
x:1
r–r--r–444
rw-rwx-r 674
755 644 600 700
rwx权限说明
1、对于文件而言
r:可以获取文件的数据
w:可以修改文件的数据
x:可以将此文件运行为进程
2、对于目录而言
r:可以使用ls命令获取文件列表
w:可以修改文件列表,即创建和删除
x:表示我们可以cd到此目录,并且可以使用ls-l获取往你那的详细属性
权限判断逻辑
文件:前提条件,用户能够进入到文件所在目录
删除文件:看用户是否具备对目录的w权限
1、判断用户身份,owner-group-other
创建文件,和删除文件逻辑相同
目录:前提条件:判断用户是否能够成功进入目录所在目录,x权限
删除目录:
创建目录:
权限管理命令:
chmod
chmod [OPTION]... MODE[,MODE]... FILE...
chmod [OPTION]... OCTAL-MODE FILE...
chmod [OPTION]... --reference=RFILE FILE...
三类用户:
u
g
o
a:所有
chmod [OPTION]… MODE[,MODE]… FILE…
MODE表示法:
赋权表示法: rwx
u= u=r
g=
o=
a=
chmod u=,g=,o=
授权表示法:
u+ ,u-
g+ ,g-
o+ ,o-
a+ ,a-
注意:只有用户自己修改自己的文件
chmod 777 filename
从属关系
chown,chgrp
-R:递归修改
chown username:groupname dirname
chown username: dirname
chown :groupname name
chgrp groupname name
注意:只有管理员可以修改
进程安全上下文:
进程对文件访问权限模型:
进程的属主与文件的属主是否相同,如果相同,则应用的是属主权限
否则,则检查进程的属主是否属于文件的属组,如果是,则应用属组的权限
否则,使用other权限
基本权限ACL
1、针对单个用户设置
2、针对用户组设置
3、子文件/目录继承父目录的权限
权限掩码
umask
文件权限:
666-022
644
目录:
777-022
755
特殊权限:
SUID:
当文件所有者的x权限出现s时,表示当前这个文件具有SUID权限
1、SUID权限仅仅对二进制程序有效
2、执行者对于该程序有x权限
3、本权限仅仅在执行程序的过程中有效
4、程序的执行者拥有该程序的拥有者的权限
如果当前这个文件属主位没有x权限,显示大写S
SGID:当文件所有者的x权限出现s时,表示当前这个文件具有SUID权限
1、SGID也是对二进制文件有效
2、执行者对该程序具有可执行权限 x权限
3、主要用于目录上:
SBIT:t
1、主要针对于other位
2、作用于目录
3、在该目录下创建新的文件或目录,只有自己和root可以删除
4、对文件无效
SUID,SGID,SBIT
字符表示法
s s t u+s
数字表示法
4 2 1
chmod 0755
1755
chattr
a:append 只能够向文件添加数据,不能删除数据
i:文件不能被删除,改名,链接同时不能写入内容
A:atime 访问时间不可修改
lsatter
3、在该目录下创建新的文件或目录,只有自己和root可以删除
4、对文件无效
SUID,SGID,SBIT
字符表示法
s s t u+s
数字表示法
4 2 1
chmod 0755
1755
chattr
a:append 只能够向文件添加数据,不能删除数据
i:文件不能被删除,改名,链接同时不能写入内容
A:atime 访问时间不可修改
lsatter