[关闭]
@mrz1 2018-01-01T14:14:48.000000Z 字数 4561 阅读 766

linux-用户和组

笔记

主要内容

  • 解释Linux的安全模型
  • 解释用户帐号和组群帐号的目的
  • 用户和组管理命令


Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。
每个用户账号都拥有一个惟一的用户名和各自的口令。
用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。
实现用户账号的管理,要完成的工作主要有如下几个方面:
- 用户账号的添加、删除与修改。
- 用户口令的管理
- 用户组的管理
- 多用户:多人同时使用系统资源;
- 多任务:同时运行多个进程;

介绍安全3A

用户user

Linux用户:Username/UID
管理员:root,UID=0
普通用户:系统资源的正常使用者;1-65535 2^16-1
系统用户:仅用于运行服务程序;1-499(CentOS6) 1-999 (CentOS7)
对守护进程获取资源进行权限分配
登录用户:500+(CentOS6) 1000+(CentOS7)
用户登录到/bin/bash就是交互式登录,如果要禁止用户交互式登录就还要修改为nologin

  1. etc/passwd: 用户及其属性信息
  2. zhang:x:1001:1001::/home/zhang:/bin/bash
  3. 用户名:密码:UIL0是管理员:UIDGID一样:添加描述:家目录:shell类型
  1. /etc/shadow:用户密码及其相关属性
  2. zhang:!!:17487:0:99999:7:::
  3. 1.“登录名”是与`/etc/passwd`文件中的登录名相一致的用户账号
  4. 2.“口令”字段存放的是加密后的用户口令字,如果为空,则对应用户没有口令,登录时不需要口令;
  5. 叹号代表帐号被锁定;
  6. 双叹号表示这个密码已经过期了。
  7. $6$开头的,表明是用SHA-512加密的,
  8. $1$ 表明是用MD5加密的
  9. $2$ 是用Blowfish加密的
  10. $5$ 是用 SHA-256加密的。
  11. 更改加密算法 `authconfig --passalgo=sha256 --update``
  12. 使用数字、大写字母、小写字母及特殊字符中至少3种
  13. 足够长
  14. 使用随机密码
  15. 定期更换,不要使用最近曾经使用过的密码
  16. 3.“最后一次修改时间”表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能不一样。例如在SCOLinux中,这个时间起点是1970年1月1日。
  17. 4.“最小时间间隔”指的是两次修改口令之间所需的最小天数。
  18. 5.“最大时间间隔”指的是口令保持有效的最大天数。
  19. 6.“警告时间”字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。
  20. 7.“不活动时间”表示的是用户没有登录活动但账号仍能保持有效的最大天数。
  21. 8.“失效时间”字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。
  1. # getent passwd fei 查看fei用户contos7
  2. # authconfig --passalgo=sha256 --update 更改加密算法
  3. # openssl rand -base64 30 |head -c30 随机生成30位
  4. # cat /etc/login.defs 这个文件最后有加密的方式
  5. 删除密码登录时输入name会直接登录
  6. 创建用户会默认加密!!
  7. # echo zhangqifei |passwd --stdin zhang 修改密码可见 # passwd zhang也可以
  8. # echo zhangqifei |passwd --stdin fei &> /app/null.txt 把提示信息删除掉了
  9. # echo $HISTCONTROL # HISTCONTROL=ignoreboth 之后命令加空格不添加到历史
  10. # passwd -e zhang 马上过期修改密码 # chage -d0 zhang 马上过期修改密码
  11. # chage -M 42 zhang 修改最长过期时间
  12. Contos5 可以$ usermod -U wangcai 去除!两次 6以上不允许了
  13. # usermod -L zhang 添加锁定用户
  14. # usermod -U zhang 添加锁定用户
  15. 密码默认在shadow里面执行pwunconv密码切换到passwd里面
  16. 执行pwconv密码切换到shadow里面
  17. 安装插架 finger fei 查看详细信息
  18. # chfn --help 查看修改信息
  19. # usermod -d /home/fei fei 修改家目录
  20. # cat /etc/shells shells的类型
  21. # usermod -s 修改shells类型 # chsh -s /bin/csh

组group

Linux组:统一授权的容器 Groupname/GID
管理员组:root, 0
普通组:
系统组:1-499(CentOS6) 1-999 (CentOS7)
普通组:500+(CentOS6) 1000+(CentOS7)
组类别:
- 主要组
用户必须属于一个且只有一个主组
组名同用户名,且包含一个用户,私有组
- 附加组
一个用户可以属于另个或多个辅助组

  1. /etc/group 所有组及其属性信息
  2. `zhang:x:1001:`
  3. 用户名:组密码(通常不需要设定,密码是被记录在`/etc/gshadow`):组id:以当前组为附加组的用户列表(分隔符为逗号)
  1. /etc/gshadow:组密码及其相关属性
  2. `zhang:!::`
  3. 用户名:组密码:组管理员的列表,更改组密码和成员:以当前组为附加组的用户列表:(分隔符为逗号)

Linux安全上下文

运行中的程序:进程 (process)
以进程发起者的身份运行:root: /bin/cat zhang: /bin/cat
进程所能够访问资源的权限取决于进程的运行者的身份

用户和组管理命令

用户管理命令
  1. 添加新用户账号使用useradd命令,其语法如下:
  2. useradd:添加用户
  3. -b:指定家目录所在的位置
  4. -c:指定用户的注释信息
  5. -d:指定家目录所在的位置和名字
  6. -D:显示或者更改为用户默认添加的配置,需要有root权限,修改 的文件在/etc/defauilt/useradd
  7. -e:指定用户的过期时间,格式可以为YY-MM-DD
  8. -f:指定用户密码过期后将之锁定的期限
  9. -g:为用户指定主组名或ID,组名或ID必须存在
  10. -G:为用户指定附加组,组名或ID必须存在
  11. -k:为用户指定家目录下的内容模板,指定后不退出终端立刻查看 会看到用户下的文件属于模板所有者且无法访问,退出终端后再 次查看则文件属于用户、所有组也会变成用户所在组
  12. -K:覆盖/etc/defs下的键值,通过这个选项可以修改用户的一些 参数
  13. -l:不将用户添加到lastlogfaillog数据库
  14. -m:创建用户的家目录,普通用户默认创建家目录,系统用户创建 家目录
  15. -M:不创建用户家目录
  16. -N:不创建与用户名相同的组,而是以users作为主组
  17. -o:允许创建ID相同名字不同用户,系统登录名显示
  18. -p:可以执行但是在shadow文件中显示为明文,建立的用户无法 通过-p选项创建的密码成功登录系统,可以猜测用户输入的密码 并不是与明文的密码匹配,而是以同样的加密算法加密然后匹配 秘文
  19. -r:创建一个系统用户,系统用户没有邮箱目录和家目录,用-m 以创建家目录
  20. -s:指定用户的登录shell,在/etc/shells查看可用shell
  21. -u:指定用户的uid
  22. -U:创建与用户名相同的组;创建用户时默任创建与用户
  23. -Z:用一个特定的seuser作为SElinux用户映射
  1. 修改新用户账号使用usermod 命令,其语法如下:
  2. usermod:修改用户参数
  3. -c:修改用户的注释
  4. -d:修改用户的家目录,如果目录不存在不会创建,修改之后再次 创建与家目录相同的目录也不会被识别,用su无法切换到用户目 录而是到一个bash
  5. -e:指定用户账号过期的时间,即/etc/shadow文件内容格式的倒 数第二个字段
  6. -f:设置账号的锁定期限
  7. -g:修改用户的主组,组必须存在
  8. -G:添加附加组列表,会覆盖以前的附加组
  9. -a:为用户追加附加组,与-G共用
  10. -l:修改登录名
  11. -L:锁定指定用户,在/etc/shadow的密码栏加!,密码必须存在 才有效
  12. -m:移动家目录的内容到新的位置,仅仅用于-d
  13. -o:允许不同名用户有相同ID
  14. -R:directory to chroot into 目录chroot //未理解其作用
  15. -s:修改用户的登陆shell
  16. -p:修改密码与useradd的情况相同
  17. -u:修改用户的uid
  18. -U:解锁指定的用户
  19. -Z:映射新的SElinux用户到用户
  1. 删除新用户账号使用userdel 命令,其语法如下:
  2. userdel:删除用户
  3. -f:强制完成某些无法正常完成的操作
  4. -r:删除用户的同时移除用户的家目录和邮箱
  5. -R: --root CHROOT_DIR directory to chroot into
  6. -Z:移除所有的用户的SElinux用户的映射
  1. $ newusers user.txt 批量创建用户 但是不会创建家目录;不能登录系统,没有邮箱
  2. user格式:fei:x:1000:1000:fei:/home/fei:/bin/bash
  3. $ cat passwd.txt | chpasswd 批量加密用户
  4. Passwd格式:用户名:口令
  5. chpasswd:批量创建密码,创建后能登录系统,没有邮箱
用户练习

创建用户gentoo,附加组为bin和root,默认shell为/bin/csh,注释信息为"Gentoo Distribution"
$ useradd -G bin,root -s /bin/csh -c '1234567' gentoo

  1. $ su UserName:非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录
  2. $ su - UserName:登录式切换,会读取目标用户的配置文件,切换至家目录,完全切换
  3. $ su - root -c cat /etc/shadow 切换root并查看shadow文件
组帐号管理命令

groupadd
roupmod
groupdel

组练习
  1. $ groups zhang 查看所属组
  2. $ usermod -aG zhang,mage fei zhang,mage添加到fei辅助组里面 如果里面有的话加a 就是追加的意思
  3. $ usermod -G “” fei 删除fei的所有辅助组 $ groupmems -p -l fei删除fei的所有辅助组
  4. $ usermod -d /app/mage -m fei fei家目录搬家到/app/mage下面
  5. $ nuwgrp fei 改变主组原先主组是zhang执行这条命令之后在创建文件主组变成fei
  6. $ gpasswd -A zhang fei zhang设为fei的管理员 root才有权限
  7. $ gpasswd -a zhang fei zhang加入fei这个组
  8. $ gpasswd -g zhang fei zhang改为fei的主组
  9. $ groupmems $ usermod $ gpasswd 都是管理组的
  10. $ cat /etc/group fei:x:1000:fei(组成员辅助组)
  11. $ cat /etc/gshadow fei:!!::fei(组成员辅助组)
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注