用户、组和权限
安全3A
资源分派:
Authentication:认证
Authorization:授权
Accouting|Audition:审计
用户user
令牌token,identity
Linux用户:Username/UID
管理员:root , 0
普通用户:1-65535
系统用户:1-499 1-999
对守护进程获取资源进行权限分配
登录用户:500 ,1000+
交互式登录
组group
linux组:groupname/GID
安全上下文件
Linux安全上下文
运行中的程序:进程
以进程发起者的身份运行:
root:/bin/cat
普通用户:/bin/cat
进程所能够访问资源的权限取决于进程的运行者的身份
组的类别:
用户的主要组(主组):
用户必须属于一个且并且只有一个主组
组名可以同用户的名字,且仅包含一个用户:私有组
用户的附加组(辅助组)
一个用户可以属于零个或多个辅助组
用户和组的配置文件
Linux用户和组的主要配置文件
/etc/passwd:用户的属性信息(名称、UID、主组ID等)
/etc/group:组的属性信息
/etc/shadow:用户密码及其相关属性
/etc/gshadow:组密码的相关属性
在/etc/passwd的文件格式:
login name:登录用户 (chen)
passwd 密码 (x)
UID 用户身份编号 (1000)
GID 登录默认所在组编号(1000)
GECOS 用户全名 描述
home directory 用户主家的目录(/home/chen )
shell 用户默认使用shell (/bin/bash)
[[email protected] ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
shadow文件格式
登录用户
用户密码:一般用sha512加密
从1970年1月1日起到密码最近一次被更改的时间
密码再过几天可以被变更(0表示随时可被更变)
密码再过几天必须被变更(99999表示永不过期)
密码过期前几天系统提醒用户(默认一周)
密码过期几天后帐号会被锁定
从1970年1月1日算起,多少天后帐号失效
密码加密:
加密机制:
加密:明文-->密文
解密:密文-->明文
单向加密:哈希算法,原文不同,密文必不同
相同算法定长输出,获得密文不可逆推出原始数据
雪崩效应:初始条件的微小改变,引起结果的巨大改变
md5
sha1
sha224:224bits
sha256:256bits
sha384:384bits
sha512:512bits
更改加密算法 authconfig --passalgo=sha256 --update
密码的复杂性策略
使用数字、大写字母、小写字母及特殊字符中至少3种
足够长
使用随机密码
定期更换;不要使用最近曾经使用过的密码
group文件格式
群组名称:就是群组名称
群组密码:通常不需要设定,密码是被记录在/etc/gshadow
GID:就是群组的ID
以当前组为附加组的用户列表(分隔符为逗号)
gshdow文件格式
群组名称:就是群组名称
群组密码
组管理员列表:组管理员的列表,更改组木马和成员
以当前组为附加组的用户列表:(分隔符为逗号)
文件操作
vipw和vigr
pwck和grpck
用户和组管理命令
用户管理命令
useradd
usermod
userdel
组帐号维护命令
groupadd
groupmod
groupdel
用户创建:useradd
useradd [options] LOGIN
-u UID:定义在/etc/login.defs
-o 配合-u 选项,不检查UID的唯一性
-g "hello" 用户的注释信息
-d 以指定的路径(不存在)为家目录
-s 指明用户的默认shell程序
可用列表在/etc/shells文件中
-G GROUP1 [GROUP2,. . .] 为用户指明附加组,组必须事先存在
-N 不创建私用组做主组,使用users组做主组
-r 创建系统用户 centos6 :ID<500 centos7:ID<1000
创建用户:useradd
默认值设定:/etc/default/useradd文件中
显示或更改默认设置:
useradd -D
useradd -D -s SHELL
练习:
1、创建用户gentoo,附加组为bin和root,默认shell为/bin/csh,注释信息为"Gentoo Distribution"
useradd gentos
usermod -G bin,root gentoo
usermod -s /bin/csh gennto
usermod -c ‘Gentoo Distribution‘ gentoo
2、创建下面的用户、组和组成员关系
名字为admins 的组
用户natasha,使用admins 作为附属组
用户harry,也使用admins 作为附属组
groupadd admins
usermod -G admins natasha
usermod -G admins harry
新建用户的相关文件和命令
/etc/default/useradd
/etc/skel/*
/etc/login.defs
newusers passwd格式文件 批量创建用户
chpasswd 批量修改用户口令
用户属性修改:
usermod[OPTION] login
-u UID:新UID
-g GID:新基本组
-G GROUP1 [GROUP2,...[GROUP]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项,表示append;
-s SHELL 新的默认shell
-c ‘COMMENT‘ 新的注释信息
-d home 新家目录不会自动创建,原家目录中的文件不会同时移动至新的家目录;若要创建新家目录并移动原家数据,同时使用-m选项
-l login_name 新的名字
-L lock指定用户,在/etc/shadow密码栏的增加
-U unlock制定用户,将/etc/shadow 密码栏的 拿掉
-e yyyy-MM-DD 指明用户帐号过期日期
-f INACTIVE 设定非活动期限
删除用户
userdel [OPTION]...login
-r:删除用户家目录
查看用户相关ID信息
id [OPTION]...[USER]
-u UID
-g GID
-G Groups
-n Name
切换用户命令
su - username
设置密码
passwd 修改指定用户的密码
选项:
-l 锁定指定用户
-u 解锁指定用户
-e 强制用户下次登录修改密码
-n 指定最短使用期限
-x 最大的使用期限
-w 可以提前多少天开始警告
-i 非活动期限
修改用户密码
chage
chfn 指定个人信息
chsh 指定shell
finger
创建组:
groupadd
-g GID 指明GID号
-r 创建系统组
centos6 ID<500
centos7 ID<1000
修改、删除组:
组属性修改:groupmod
-n group_name 新名字
-g GID 新的GID
组删除:groupdel
更改组密码:
组密码:gpasswd
gpasswd
-a user 将user添加至指定组中
-d user 从指定组中移除用户user
-A user1,user2,... 设置有管理权限的用户列表
newgrp命令:临时切换基本组
如果用户本不属于此组,则需要组密码
更改和查看组成员
groupmems
-g 更改为指定组 (只有root 可以只用)
-a 指定用户加入组
-d 从组中删除用户
-p 从组中清除所有成员
-l 显示组成员
groups 查看用户所属组列表
文件权限
chown 设置文件的所有者 属主
-R 递归
chgrp 设置文件的属组信息
-R 递归
文件的权限主要针对三类对象进行定义:
owner 属主 u
group 属组 g
other 其他 o
每个文件针对每类访问者都定义了三种权限
r 读
w 写
x 执行
文件权限操作命令
chmod
新建文件和目录的默认权限
umask值 可以用来保留在创建文件权限
新建DIR权限 777-umask
非特权用户umaks是 002
root的umask是 022
umask 查看
umask # 设定
umask 002
umask -S 模式方式显示
umask -p 输出可被调用
全局设置 /etc/bashrc
用户设置 ~/.bashrc
Linux文件系统上的特殊权限
SUID、SGID、Sticky
三种常用权限 r w x user group other
可执行文件上SUID权限
SUID 只对二进制可执行程序有效
SUID 设置在目录上无意义
权限设定
chmod u+s
chmod u-s
可执行文件上SGID权限
权限设定
chmod g+s
chmod g-s
还有一些示列 明天更新