安全模型(3A)
验证身份:
Authentication:认证,验证用户身份
Authorization:授权,不同的用户设置不同权限
Accouting|Audition:审计
一、用户帐号类型
Linux中每个用户是通过 User Id (UID)来唯一标识的 新建用户 1-60000 自动分配 0-65535 端口号
管理员:root, 0
程序用户:1-499 (CentOS 6以前), 1-999 (CentOS 7以后) 不登录的用户 系统默认的情况
对守护进程获取资源进行权限分配
普通用户:500+ (CentOS6以前), 1000+(CentOS7以后) 不指定 顺序
给用户进行交互式登录使用
超级用户:root 用户是 Linux 操作系统中默认的超级用户账号,对本主机拥有至高 无上的权限,类似于 Windows 操作系统中的 Administrator 用户
普通用户:账号需要由 root 用户或其他管理员用户创建,拥有的权限受 到一定限制,处理问题受到限制,一般只在用户自己的宿主目录中拥有完整权限。
程序用户:在安装 Linux 操作系统及部分应用程序时,会添加一些特定的低权限用 户账号,这些用户一般不允许登录到系统,而仅用于维持系统或某个程序的正常运 行
1.2组帐号
基本组:有且唯一
附加组:可有可无,可以有多个
默认新建用户时自动添加同名的组
二、用户账号管理
2.1、文件位置
/etc/passwd
存放保存用户名称、宿主目录、登录 Shell 等基本信息
/etc/shadow
存放保存密码
2.2、新建用户
useradd命令
useradd 【选项】 用户名
添加用户:查看是否在 passwd和shadow文件中生成信息
-
在/etc/passwd 文件和/etc/shadow 文件的末尾增加该用户账号的记录
-
若未明确指定用户的宿主目录,则在/home 目录下自动创建与该用户账号同名的宿 主目录,并在该目录中建立用户的各种初始配置文件。
-
若没有明确指定用户所属的组,则自动创建与该用户账号同名的基本组账号,组账 号的记录信息将保存到/etc/group 和/etc/shadow 文件中。
常用的命令:
-u:指定用户的 UID 号,要求该 UID 号码未被其他用户使用
-M:不建立宿主目录,即使/etc/login.defs 系统配置中已设定要建立宿主目录
-s:指定用户的登录 Shell /sbin/nologin
2.3、密码管理
passwd命令
为用户账号设置密码
passwd [选项]... 用户名
基本用法 不加选项 可以添加密码
-
-d:清空指定用户的密码,仅使用用户名即可登录系统。
-
-l:锁定用户账户。
-
-S:查看用户账户的状态(是否被锁定)。
-
-u:解锁用户账户。
2.4、修改用户账号的属性
usermod命令
usermod [选项]... 用户名
常见选项
-l 更改用户账号的登录名称(Login Name)
-L 锁定用户账户
-u 修改用户的 UID 号
-U 解锁锁用户账户
-d:修改用户的宿主目录位置。
-e:修改用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。
-g:修改用户的基本组名(或使用 GID 号)
-G:修改用户的附加组名(或使用 GID 号)
-s:指定用户的登录 Shell
2.5、删除用户
userdel [选项] 用户
-r 将宿主目录一起删除
2.6、用户账号的初始配置文件
用户宿主目录下的初始配置文件只对当前用户有效
~/ .bash_profile
#此文件中的命令将在该用户每次登录时被执行,他会设置一些环境变量,并且会调用该用户的~/.bashrc文件
~/.bashrc
#此文件中的命令将在该用户每次打开新的bash shell时(包括登录系统)被执行(登录 切换 新的bash环境)
~/.bash_logout
#此文件中的命令将在该用户每次退出时bash shell时使用
/etc/bashrc
三、文件/目录的权限和归属
程序访问文件时的权限,取决于此程序的发起者
-
进程的发起者,同文件的属主:则应用文件属主权限
-
进程的发起者,属于文件属组;则应用文件属组权限
-
应用文件“其它”权限
例子 root用户和普通用户 是否都可以看 (cat /etc/shadow)
访问人群分为了三类
-
所属主(u)
-
所属组(g)
-
其他人 (o)
权限分为三种
-
读(r,4)
-
写(w,2)
-
执行(x,1程序,脚本)
对文件的权限
-
r 可使用文件查看类工具,比如:cat,可以获取其内容
-
w 可修改其内容
-
x 可以把此文件提请内核启动为一个进程,即可以执行(运行)此文件(此文件的内容必须是可执行)
对目录的权限
-
r 可以使用ls查看此目录中文件列表
-
w 可在此目录中创建文件,也可删除此目录中的文件,而和此被删除的文件的权限无关
-
x 可以cd进入此目录,可以使用ls -l查看此目录中文件元数据(须配合r权限),属于目录的可访问的最小权限
3.1、chmod
模式法:
chmod 对谁(所有者,所属组,其他)操作(+ - =)权限 文件
谁:u,g,o,a
操作:+,-,=
权限:r,w,x(普通权限对root无效)
数字法:
1 2 4
x w r
3.2、umask
umask 的值可以用来保留在创建文件权限
实现方式:
新建文件的默认权限: 666-umask,如果所得结果某位存在执行(奇数)权限,则将其权限+1,偶数不变
新建目录的默认权限: 777-umask
非特权用户umask默认是 002
root的umask 默认是 022
四、特殊权限
访问控制列表 ACL
ACL:Access Control List,实现灵活的权限管理
除了文件的所有者,所属组和其它人,可以对更多的用户设置权限
CentOS7 默认创建的xfs和ext4文件系统具有ACL功能
CentOS7 之前版本,默认手工创建的ext4文件系统无ACL功能,需手动增加
chmod u+s /usr/bin/vim
给vim加上suid权限,代表所有用户可以使用vim打开并编辑所有文件
chmod o+t /opt/aa
添加Sticky 位具有写权限的目录通常用户可以删除该目录中的任何文件,无论该文件的权限或拥有权
在目录设置Sticky 位,只有文件的所有者或root可以删除该文件