@mrz1
2018-01-01T14:14:48.000000Z
字数 4561
阅读 858
笔记
- 解释Linux的安全模型
- 解释用户帐号和组群帐号的目的
- 用户和组管理命令
Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。
每个用户账号都拥有一个惟一的用户名和各自的口令。
用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。
实现用户账号的管理,要完成的工作主要有如下几个方面:
- 用户账号的添加、删除与修改。
- 用户口令的管理
- 用户组的管理
- 多用户:多人同时使用系统资源;
- 多任务:同时运行多个进程;
Linux用户:Username/UID
管理员:root,UID=0
普通用户:系统资源的正常使用者;1-65535 2^16-1
系统用户:仅用于运行服务程序;1-499(CentOS6) 1-999 (CentOS7)
对守护进程获取资源进行权限分配
登录用户:500+(CentOS6) 1000+(CentOS7)
用户登录到/bin/bash
就是交互式登录,如果要禁止用户交互式登录就还要修改为nologin
etc/passwd: 用户及其属性信息
zhang:x:1001:1001::/home/zhang:/bin/bash
用户名:密码:UIL为0是管理员:UID与GID一样:添加描述:家目录:shell类型
/etc/shadow:用户密码及其相关属性
zhang:!!:17487:0:99999:7:::
1.“登录名”是与`/etc/passwd`文件中的登录名相一致的用户账号
2.“口令”字段存放的是加密后的用户口令字,如果为空,则对应用户没有口令,登录时不需要口令;
叹号代表帐号被锁定;
双叹号表示这个密码已经过期了。
$6$开头的,表明是用SHA-512加密的,
$1$ 表明是用MD5加密的
$2$ 是用Blowfish加密的
$5$ 是用 SHA-256加密的。
更改加密算法 `authconfig --passalgo=sha256 --update``
使用数字、大写字母、小写字母及特殊字符中至少3种
足够长
使用随机密码
定期更换,不要使用最近曾经使用过的密码
3.“最后一次修改时间”表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能不一样。例如在SCOLinux中,这个时间起点是1970年1月1日。
4.“最小时间间隔”指的是两次修改口令之间所需的最小天数。
5.“最大时间间隔”指的是口令保持有效的最大天数。
6.“警告时间”字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。
7.“不活动时间”表示的是用户没有登录活动但账号仍能保持有效的最大天数。
8.“失效时间”字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。
# getent passwd fei 查看fei用户contos7
# authconfig --passalgo=sha256 --update 更改加密算法
# openssl rand -base64 30 |head -c30 随机生成30位
# cat /etc/login.defs 这个文件最后有加密的方式
删除密码登录时输入name会直接登录
创建用户会默认加密!!
# echo zhangqifei |passwd --stdin zhang 修改密码可见 # passwd zhang也可以
# echo zhangqifei |passwd --stdin fei &> /app/null.txt 把提示信息删除掉了
# echo $HISTCONTROL # HISTCONTROL=ignoreboth 之后命令加空格不添加到历史
# passwd -e zhang 马上过期修改密码 # chage -d0 zhang 马上过期修改密码
# chage -M 42 zhang 修改最长过期时间
Contos5 可以$ usermod -U wangcai 去除!两次 6以上不允许了
# usermod -L zhang 添加锁定用户
# usermod -U zhang 添加锁定用户
密码默认在shadow里面执行pwunconv密码切换到passwd里面
执行pwconv密码切换到shadow里面
安装插架 finger fei 查看详细信息
# chfn --help 查看修改信息
# usermod -d /home/fei fei 修改家目录
# cat /etc/shells shells的类型
# usermod -s 修改shells类型 # chsh -s /bin/csh
Linux组:统一授权的容器 Groupname/GID
管理员组:root, 0
普通组:
系统组:1-499(CentOS6) 1-999 (CentOS7)
普通组:500+(CentOS6) 1000+(CentOS7)
组类别:
- 主要组
用户必须属于一个且只有一个主组
组名同用户名,且包含一个用户,私有组
- 附加组
一个用户可以属于另个或多个辅助组
/etc/group: 所有组及其属性信息
`zhang:x:1001:`
用户名:组密码(通常不需要设定,密码是被记录在`/etc/gshadow`):组id:以当前组为附加组的用户列表(分隔符为逗号)
/etc/gshadow:组密码及其相关属性
`zhang:!::`
用户名:组密码:组管理员的列表,更改组密码和成员:以当前组为附加组的用户列表:(分隔符为逗号)
运行中的程序:进程 (process)
以进程发起者的身份运行:root: /bin/cat
zhang: /bin/cat
进程所能够访问资源的权限取决于进程的运行者的身份
添加新用户账号使用useradd命令,其语法如下:
useradd:添加用户
-b:指定家目录所在的位置
-c:指定用户的注释信息
-d:指定家目录所在的位置和名字
-D:显示或者更改为用户默认添加的配置,需要有root权限,修改 的文件在/etc/defauilt/useradd中
-e:指定用户的过期时间,格式可以为YY-MM-DD
-f:指定用户密码过期后将之锁定的期限
-g:为用户指定主组名或ID,组名或ID必须存在
-G:为用户指定附加组,组名或ID必须存在
-k:为用户指定家目录下的内容模板,指定后不退出终端立刻查看 会看到用户下的文件属于模板所有者且无法访问,退出终端后再 次查看则文件属于用户、所有组也会变成用户所在组
-K:覆盖/etc/defs下的键值,通过这个选项可以修改用户的一些 参数
-l:不将用户添加到lastlog和faillog数据库
-m:创建用户的家目录,普通用户默认创建家目录,系统用户创建 家目录
-M:不创建用户家目录
-N:不创建与用户名相同的组,而是以users作为主组
-o:允许创建ID相同名字不同用户,系统登录名显示
-p:可以执行但是在shadow文件中显示为明文,建立的用户无法 通过-p选项创建的密码成功登录系统,可以猜测用户输入的密码 并不是与明文的密码匹配,而是以同样的加密算法加密然后匹配 秘文
-r:创建一个系统用户,系统用户没有邮箱目录和家目录,用-m可 以创建家目录
-s:指定用户的登录shell,在/etc/shells查看可用shell
-u:指定用户的uid
-U:创建与用户名相同的组;创建用户时默任创建与用户
-Z:用一个特定的seuser作为SElinux用户映射
修改新用户账号使用usermod 命令,其语法如下:
usermod:修改用户参数
-c:修改用户的注释
-d:修改用户的家目录,如果目录不存在不会创建,修改之后再次 创建与家目录相同的目录也不会被识别,用su无法切换到用户目 录而是到一个bash下
-e:指定用户账号过期的时间,即/etc/shadow文件内容格式的倒 数第二个字段
-f:设置账号的锁定期限
-g:修改用户的主组,组必须存在
-G:添加附加组列表,会覆盖以前的附加组
-a:为用户追加附加组,与-G共用
-l:修改登录名
-L:锁定指定用户,在/etc/shadow的密码栏加!,密码必须存在 才有效
-m:移动家目录的内容到新的位置,仅仅用于-d
-o:允许不同名用户有相同ID
-R:directory to chroot into 目录chroot进 //未理解其作用
-s:修改用户的登陆shell
-p:修改密码与useradd的情况相同
-u:修改用户的uid
-U:解锁指定的用户
-Z:映射新的SElinux用户到用户
删除新用户账号使用userdel 命令,其语法如下:
userdel:删除用户
-f:强制完成某些无法正常完成的操作
-r:删除用户的同时移除用户的家目录和邮箱
-R: --root CHROOT_DIR directory to chroot into
-Z:移除所有的用户的SElinux用户的映射
$ newusers user.txt 批量创建用户 但是不会创建家目录;不能登录系统,没有邮箱
user格式:fei:x:1000:1000:fei:/home/fei:/bin/bash
$ cat passwd.txt | chpasswd 批量加密用户
Passwd格式:用户名:口令
chpasswd:批量创建密码,创建后能登录系统,没有邮箱
创建用户gentoo,附加组为bin和root,默认shell为/bin/csh,注释信息为"Gentoo Distribution"
$ useradd -G bin,root -s /bin/csh -c '1234567' gentoo
$ su UserName:非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录
$ su - UserName:登录式切换,会读取目标用户的配置文件,切换至家目录,完全切换
$ su - root -c ‘cat /etc/shadow’ 切换root并查看shadow文件
groupadd
roupmod
groupdel
$ groups zhang 查看所属组
$ usermod -aG zhang,mage fei 把zhang,mage添加到fei辅助组里面 如果里面有的话加a 就是追加的意思
$ usermod -G “” fei 删除fei的所有辅助组 $ groupmems -p -l fei删除fei的所有辅助组
$ usermod -d /app/mage -m fei 把fei家目录搬家到/app/mage下面
$ nuwgrp fei 改变主组原先主组是zhang执行这条命令之后在创建文件主组变成fei
$ gpasswd -A zhang fei 把zhang设为fei的管理员 root才有权限
$ gpasswd -a zhang fei 把zhang加入fei这个组
$ gpasswd -g zhang fei 把zhang改为fei的主组
$ groupmems $ usermod $ gpasswd 都是管理组的
$ cat /etc/group fei:x:1000:fei(组成员辅助组)
$ cat /etc/gshadow fei:!!::fei(组成员辅助组)