用户和组管理
token:令牌机制,只有密码没有用户名
identity:认证机制,需要ID账号和密码
资源分派:
authentication:认证
authorization:授权
accouting:审计
Linux用户:计算机便于识别数字,将人们惯用的username转换为UID
管理员:root,UID=0
普通用户:除root以外,UID为1-65535。
普通用户又分:系统用户:1-499,1-999:为守护类进程获取资源进行权限分配
登录用户:500+,1000+
Linux组:组名:groupname/GID
管理员组:root,0
普通组:系统组:1-499,1-999
普通组:500+,1000+
Linux的安全上下文:
运行中的程序:进程(process)——以进程发起者的身份运行
Linux组的类别:
用户的基本组(主组):
组名同用户名,且仅包含一个用户,又称-私有组
用户的额外组(附加组):
Linux用户和组相关的配置文件
/etc/passwd:用户及其属性信息(名称、UID、基本组ID等)
account:password:UID:GID:GECOS:directory:shell
用户名:密码:UID:GID:GECOS:主目录:默认shell
/etc/group:组及其属性信息
组名:组密码:GID:以当前组为附加组的用户列表(以逗号分割)
/etc/shadow:用户密码及其相关属性
登录名:加了密的密码:最近一次更改密码日期:密码的最小使用期限:密码最大使用期限:密码警告时间段:密码禁用期:账户过期日期:保留字段
最后一次更改密码日期:时长,相对于unix元年的时长,距离1970年1月1号的天数。
/etc/gshadow:组密码及其相关属性
密码的复杂性策略:
- 使用数字、大写字母、小写字母、特殊字符中至少3种
- 足够长
- 不要使用易猜测密码
- 定期更换
用户和组相关的管理命令:
用户创建:useradd
组添加:groupadd
id:查看用户相关得id信息:
id [OPTION]... [USERNAME]
su:切换用户或者以其他用户身份运行命令
su [OPTION]... [-] [USER [ARG]...]
#su username:非登录式切换,不会读取目标用户配置文件:
#su – username:登录式切换,会读取目标用户得配置文件:完全切换
执行命令:
su [-] username -c ‘COMMAD’:直接以其他用户得身份运行命令
#su -l username = #su – username :登录切换
用户属性修改:usermod
usermod [-c comment] [-d home_dir [ -m]]
[-e expire_date] [-f inactive_time]
[-g initial_group] [-G group[,...]]
[-l login_name] [-s shell]
[-u uid [ -o]] login
-u新UID,-g新基本组,-G新附加组,原来得附加组被覆盖,若保留原有则同时使用-a
-s新的默认shell,-c新的注释信息, -d新的家目录文件,原有家目录中的文件不会同时移动至新的家目录,若要移动,则同时使用-m选项。
-l新的用户名 -L:锁定用户 -U:解锁指定用户,-e MM/DD/YY 指明用户账号过期日期
-f 设定非活动期限
给用户添加密码:passwd
#passwd 【options】 username:修改指定用户密码,仅root用户权限
#passwd :修改自己的密码。当前必须有密码。
常用选项:-l锁定用户,-u解锁用户
-n mindays 指定最短使用期限
-x maxdays 指定最大使用期限
-w warndays 密码过期提前警告天数
-i inactivedays 非活动天数,密码过期后允许登录更改密码的宽限期限
-e 设置密码过期期限
--stdin 从标准输入接收用户密码
echo “PASSWORD” | passwd --stdin USERNAME
注:/dev/unll,(bit buckets) 数据黑洞,胃桶。
/dev/zero,吐0 ,无穷尽
# echo '123456' | passwd --stdin user1 &> /dev/null
删除用户:userdel
#userdel [option]…login
-r 删除用户家目录
组属性修改:groupmod
组删除:groupdel
组密码添加:gpasswd
#gpasswd 【options】 groupname
-a user :将user添加至指定组中
-d user :删除用户user的以当前组为组名的附加组
-A user1,user2…:设置有管理权限的用户列表
newgrp命令:临时切换基本组
pwck命令:检查
修改用户属性:chage:更改用户密码过期信息
其他命令:
chfn,修改用户信息
chsh,
finger,
权限管理:
文件的权限主要针对三类权限定义:
owner:属主 group:属组 other:其他
每个文件针对每类访问者都定义了三种权限:
r:readable w:writable x:excutable
文件:
r:可使用文件查看类工具获取其内容
w:可修改其内容
x:可以把此文件提请内核启动为一个进程
目录:
r:可使用ls查看目录列表
w:可在目录中创建文件、删除目录中的文件
x:可以使用ls -l查看此目录中的文件列表,可以cd进入此目录
修改文件权限:chmod
chmod [OPTION]... OCTAL-MODE FILE...
-R:递归修改
chmod [OPTION]... MODE[,MODE]... FILE...
修改一类用户所有权限:u= , g= , 0= , ugo= , a=
修改一类用户的某位权限:chmod u+r,g+w,o+w test.txt
chmod [OPTION]... --reference=RFILE FILE...
参考RFILE文件的权限,将FILE的权限修改为同RFILE
修改文件的属主和属组
仅root可用
chown:修改文件的属主
chown [OPTION]... [OWNER][:[GROUP]] FILE...
命令中的:可用 . 号替换
-R:递归
chown [OPTION]... --reference=RFILE FILE...
chgrp:修改文件的属组
chgrp [OPTION]... GROUP FILE...
chgrp [OPTION]... --reference=RFILE FILE...
文件或目录创建时的umask:遮罩码
文件:666-umask
如果某类用户的权限减得的结果中存在x权限,则将其权限+1
目录:777-umask
umask:查看
umask n :设定值
仅在当前shell有效。