8288分类目录 8288分类目录 8288分类目录
  当前位置:海洋目录网 » 站长资讯 » 站长资讯 » 文章详细 订阅RssFeed

【linux】循序渐进学运维-用户管理篇

来源:本站原创 浏览:100次 时间:2022-01-06


文章目录
    • 1. Linux下的用户
    • 2. 配置文件
    • 3. 用户管理
    • 4) 密码文件
    • 4. 修改用户的信息
    • 5. 关于用户管理常见的面试题
    • 总结:
    • 使用方法
    • 参数:
    • 使用举例:
    • 1) useradd
    • 2) adduser
    • 3) 删除用户: usedel
    • 1)每一段的具体含义如下:
    • 2)给用户添加密码
    • 3) 这里补充一下与用户相关的命令:
    • 修改UID
    • 修改shell
    • 更改用户主目录
    • 1)usermod
    • 2) 举例
    • 1) 查找当前系统下能够登陆系统的用户
    • 2) 统计当前系统下能够登陆系统的用户个数
    • 3) 增加一个新用户admin,权限是root


小手一抖,点赞走起!

写在前面:
博主是一名投身教培事业的标准八零后,叛逆而且追求自由,昵称取自于苏轼的《水调歌头》中的“高处不胜寒”,时刻提醒自己要耐得住寂寞,受的了孤独,在技术的道路上,不畏艰难,勇往直前。
我已经将全部的linux运维体系整理到了gitee上,内有福利: 点击领取
欢迎star,投稿,交流,后续还会有python系列和java系列。

1. Linux下的用户

Linux是一个多用户的系统,我们可以多个用户同时登陆Linux,在Linux中用户有三种角色:

  • 超级用户: root 拥有对系统的最高的管理权限 ID=0
  • 普通用户:(普通用户又包含系统用户和本地用户)
  • 系统用户 UID:1-999(centos7版本) 1-499(centos6版本)
  • 本地用户 UID:1000+

这个有个UID: 即每个用户的身份标示,类似于每个人的身份证号码.
虚拟用户: 虚拟用户:伪用户 一般不会用来登录系统的,它主要是用于维持某个服务的正常运行.如:ftp,apache

备注: 把Linux操作系统比作皇宫,root就相当于皇帝,系统用户就是皇宫里的太监,宫女,确保皇宫里的一些设施(服务)正常运行,打扫庭院。
而本地用户,就是外地官员或者大臣,偶尔被root授予尚方宝剑,可以行使皇帝的权利。

2. 配置文件

每个用户有三个信息可以证明自己: 一个是配置文件,一个是用户组文件,一个是用户对应的密码信息

名称账号信息说明用户配置文件/etc/passwd记录每个用户的基本属性,并且对所有用户可读,每一行记录一个用户,每行记录用冒号分割。用户组文件/etc/group用户组的所有信息存放地用户对应密码文件/etc/shadow用户密码单独分离出来放在了shadow下,该文件只有root用户拥有读的权限。3. 用户管理1) useradd使用方法

使用方法: useradd -d -u “UID” -g “初始组” -s “/bin/bash” 用户

参数:
-c comment 给新用户添加备注 -d home_dir 为主目录指定一个名字(如果不想用登录名作为主目录名的话) -e expire_date 用YYYYY-MM-DD格式指定一个账户过期的日期 -f inactive_days 指定这个帐户密码过期后多少天这个账户被禁用;0表示密码一过期就立即禁 用,-1表示禁用这个功能 -g initial_group 指定用户登录组的GID或组名 -G group ... 指定用户除登录组之外所属的一个或多个附加组 -k 必须和-m一起使用,将/etc/skel目录的内容复制到用户的HOME目录 -m 创建用户的HOME目录 -M 不创建用户的HOME目录(当默认设置里指定创建时,才用到) -n 创建一个同用户登录名同名的新组 -r 创建系统账户 -p passwd 为用户账户指定默认密码 -s shell 指定默认登录shell ,有时候禁止登陆使用/sbin/nologin-u uid 为账户指定一个唯一的UID

useradd 命令背后发生了什么?

  1. 创建一个唯一的UID
  2. 添加一个用户名相同的用户组和一个唯一的GID,并将用户设置为该组
  3. 在/home目录下创建一个与用户同名的目录
  4. 设置shell为/bin/bash
  5. 唯独没有设密码,需要使用passwd设置
使用举例:
  • 添加一个名为gaosh的用户,并使用bash作为登陆的shell
[root@zmgaosh ~]# useradd gaosh[root@zmgaosh ~]# tail -1 /etc/passwdgaosh:x:1000:1000::/home/gaosh:/bin/bash


每一部分的作用:(文字版)

gaosh:用户名x:密码占位符1001:用户的UID,它都是用数字来表示的1001:用户所属组的GID,它都是用数字来表示的用户描述信息:对用户的功能或其它来进行一个简要的描述/home/goash:用户主目录(shell提示符中“~”代表的那个)/bin/bash:用户登录系统后使用的shell,默认是/bin/bash

  • 创建用户并指定用户ID
[root@zmgaosh ~]# useradd -u 1111 xinsz08  # 创建用户指定UID1111[root@zmgaosh ~]# id xinsz08   #查看用户所属组,及uid和组ID信息uid=1111(xinsz08) gid=1111(xinsz08) 组=1111(xinsz08)[root@zmgaosh ~]# tail -1 /etc/passwd  #查看/etc/passwd新建用户 xinsz08:x:1111:1111::/home/xinsz08:/bin/bash[root@zmgaosh ~]# ls /home/xinsz08/ -a  #查看家目录默认模板.  ..  .bash_logout  .bash_profile  .bashrc

  • 指定用户的主目录
[root@zmgaosh ~]# useradd -d /opt/xinsz xinsz[root@zmgaosh ~]# ls -a /opt/xinsz/   #可以看到家目录跑/opt/xinsz下了.  ..  .bash_logout  .bash_profile  .bashrc[root@zmgaosh ~]# tail -1 /etc/passwdxinsz:x:1112:1112::/opt/xinsz:/bin/bash

  • 指定用户的主组
    就相当于一个财务加到前台组,让财务偶尔也干前台
[root@zmgaosh ~]# useradd qiantai  #创建了一个前台[root@zmgaosh ~]# id qiantaiuid=1113(qiantai) gid=1113(qiantai) 组=1113(qiantai)  [root@zmgaosh ~]# useradd -g qiantai caiwu # 把财务放在前台的组里[root@zmgaosh ~]# id caiwu uid=1114(caiwu) gid=1113(qiantai) 组=1113(qiantai)  #可以看到财务属于前台组,万一前台请假,财务顶上干前台

2) adduser

adduser是创建用户的另外一个命令,使用方法相同

[root@zmgaosh ~]#  which adduser/usr/sbin/adduser[root@zmgaosh ~]# ll /usr/sbin/adduserlrwxrwxrwx 1 root root 7 4月  27 22:17 /usr/sbin/adduser -> useradd

由此可见,adduser是useradd的软连接

3) 删除用户: usedel

选项: -r 汇联通家目录和/var/mail的目录一同删除
userdel 用户名 皇帝下令斩立决

userdel -r 用户名 皇帝下令斩立决并抄家灭族

[root@zmgaosh ~]# userdel -r xinsz08

4) 密码文件

密码文件放在/etc/shadow下:

[root@zmgaosh ~]# head -3 /etc/shadowroot:$6$SlVomD$EBjlGVUUOnCCk.lupiqnL58ESGeVJBNCvIc7IE6LNQ9J66OEhNSvlZQvk8EJkx6laSHDeDnuVN3NnJgqZxZid.:18430:0:99999:7:::bin:*:17834:0:99999:7:::daemon:*:17834:0:99999:7:::

同 /etc/passwd 文件一样,文件中每行代表一个用户,同样使用 “:” 作为分隔符,不同之处在于,每行用户信息被划分为 9 个字段。每个字段的含义如下:

用户名:加密密码:最后一次修改时间:最小修改时间间隔:密码有效期:密码需要变更前的警告天数:密码过期后的宽限时间:账号失效时间:保留字段

1)每一段的具体含义如下:
  1. 账户名称
  2. 加密后的密码,如果这一栏的第一个字符为!或者*的话,说明这是一个不能登录的账户,从上面可以看出,ubuntu默认的就不启用root账户。
  3. 最近改动密码的日期(这个是从1970年1月1日算起的总的天数)
  4. 密码不可被变更的天数:设置了这个值,则表示从变更密码的日期算起,多少天内无法再次修改密码,如果是0的话,则没有限制
  5. 密码需要重新变更的天数:如果为99999则没有限制
  6. 密码过期预警天数
  7. 密码过期的宽恕时间:如果在5中设置的日期过后,用户仍然没有修改密码,则该用户还可以继续使用的天数
  8. 账号失效日期,过了这个日期账号就无法使用
  9. 保留的
2)给用户添加密码

方法1:

[root@zmgaosh ~]# useradd gaosh1 [root@zmgaosh ~]# passwd gaosh1更改用户 gaosh1 的密码 。新的 密码:无效的密码: 密码未通过字典检查 - 它没有包含足够的不同字符重新输入新的 密码:passwd:所有的身份验证令牌已经成功更新。[root@zmgaosh ~]#

方法2:

[root@zmgaosh ~]# echo 123456 |passwd --stdin gaosh2更改用户 gaosh2 的密码 。passwd:所有的身份验证令牌已经成功更新。[root@zmgaosh ~]#

这里有个问题,如果两个不同的用户,他们的密码一样,在/etc/shadow中加密的hash值一样吗

  • 一样
  • 不一样
    很明显这里选不一样,要不然太容易破解了

3) 这里补充一下与用户相关的命令:命令作用id用户和组的信息whoami查看当前有效用户名who显示目前登入系统的用户信息。w显示已经登陆系统的用户列表users用于显示当前登录系统的所有用户的用户列表4. 修改用户的信息1)usermod

语法:usermod 【参数】用户名
常用参数:
-u UID
-d 宿主目录
-g 起始组
-G 附加组
-s 登录shell
-L 锁定

2) 举例修改UID
[root@zmgaosh ~]# id xinszuid=1112(xinsz) gid=1112(xinsz) 组=1112(xinsz)[root@zmgaosh ~]# usermod -u 2222 xinsz[root@zmgaosh ~]# id xinszuid=2222(xinsz) gid=1112(xinsz) 组=1112(xinsz)[root@zmgaosh ~]#

修改shell
[root@zmgaosh ~]# grep  xinsz /etc/passwdxinsz:x:2222:1112::/opt/xinsz:/bin/bash[root@zmgaosh ~]# usermod -s /sbin/nologin xinsz[root@zmgaosh ~]# grep xinsz /etc/passwd   xinsz:x:2222:1112::/opt/xinsz:/sbin/nologin   #可以看到变成了nologin[root@zmgaosh ~]#

更改用户主目录
[root@zmgaosh ~]# usermod -m -d /opt/xinsz1 xinsz[root@zmgaosh ~]# grep xinsz /etc/passwdxinsz:x:2222:1112::/opt/xinsz1:/sbin/nologin#可以看到家目录变成了/opt/xinsz1

5. 关于用户管理常见的面试题1) 查找当前系统下能够登陆系统的用户
[root@zmgaosh ~]# grep /bin/bash /etc/passwdroot:x:0:0:root:/root:/bin/bashgaosh:x:1000:1000::/home/gaosh:/bin/bashqiantai:x:1113:1113::/home/qiantai:/bin/bashcaiwu:x:1114:1113::/home/caiwu:/bin/bashsanwu:x:1115:1115::/home/sanwu:/bin/bashsanwu1:x:1116:1116::/home/sanwu1:/bin/bashgaosh1:x:1117:1117::/home/gaosh1:/bin/bashgaosh2:x:1118:1118::/home/gaosh2:/bin/bash[root@zmgaosh ~]#

2) 统计当前系统下能够登陆系统的用户个数
[root@zmgaosh ~]# grep /bin/bash /etc/passwd |wc -l8

3) 增加一个新用户admin,权限是root
[root@zmgaosh ~]# grep admin /etc/passwdadmin:x:0:1119::/home/admin:/bin/bash

总结:

今年,我有一个梦想:

我在gitee上汇总了一份运维的知识体系,包含了运维大大小小的知识点,准备用一年的时间来完成写作,目前正在进行,如果你有兴趣,可以看一下gitee上的知识框架,然后加我微信报名一起来写。

所有文章写完后,我会录制视频,视频收入会分给参与的小伙伴。
这份知识体系,是你从零基础入行运维的不二选择,欢迎小伙伴的加入梦想团队。

白嫖不好,创作不易,各位的点赞就是胜寒创作的最大动力,我们下篇文章再见!

  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net