四、用户管理

Linux系统对账号与组的管理是通过ID号来实现的,我们在登录系统时,输入用户名与对应的密码,操作系统会将用户名转化为ID号后判断该账号是否存在,并对比密码是否匹配。Linux中,用户ID号被称为UID,组ID号被称为GID。其中,UID=0,代表超级管理员root,目前我们创建的用户UID默认从1000起算起。

用户存在的意义:(安全),用户是系统安全机制的一部分

Linux系统中的组分为基本组和附加组两种,一个用户同时刻可以加入一个基本组和多个附加组。默认在创建用户时,自动创建同名的组,并设置用户加入该基本组。

组存在的意义:共享资源,开放权力
<<<…用户的查看…>>>

  whoami         ##查看当前用户
在这里插入图片描述

  id            ##查看指定用户id信息
  选项  -u        ##查看用户uid
  选项  -g        ##查看用户gid
  选项  -G        ##查看用户所在所有组id
  选项  -n        ##查看用户所属群组的名称     这里的-n必须和u\g\G连用:-uG -ug -uu
在这里插入图片描述

<<<…用户的切换…>>>

  su - student       ##切换至student用户。"-"表示同时切换至用户的环境,即切换到student的家目录

  exit            ##退出当前用户

  ##每次 su - 切换至其他用户时,应先退出exit,回到root,再切换至其他用户

<<<…用户在系统中的存储方式…>>>

  /etc/passwd        ##存储用户信息的文件,以’:'为分隔符

  用户名称:密码:uid:gid:说明:家目录:默认shell
  #######最后一列:bin/bash表示该用户可以登录系统,sbin/nologin表示无法登录系统

  /etc/group         ##存储用户组信息的文件,以’:‘为分隔符
  组的名字:组密码:组id:组成员
  #######用户属于某个附属组,才会在该附属组的最后一列显示该用户
在这里插入图片描述
  >如图所示,tom,harry创建时默认属于同名的初始组,而它们也分别属于shengchan,caiwu这两个附属组
在这里插入图片描述
  /etc/shadow         ##存储认证信息的文件,以’:'为分隔符
  /etc/skel/.*          ##默认开启shell的配置,用户的骨文件
  /home/username       ##用户的家目录,每创建的user,都会存在/home目录下

<<<…用户管理命令…>>>
  1. 用户的删除
      userdel
      userdel student       ##删除用户但不删除用户的配置文件
      userdel -r student      ##删除用户同时删除用户的配置文件,通常删除就把 -r 加上

  2. 用户建立
     用户信息监控命令
       watch -n 1 ‘tail -n 4 /etc/passwd /etc/group ; ls -l home’  ##监控passwd、group、home每秒1次
      useradd               ##建立用户
      useradd -u 8888 one        ##指定用户uid
      useradd -g 6666 one        ##指定用户初识组id,8888组必须存在
      useradd -G 2222 one        ##指定用户附加组id,2222组必须存在
      useradd -c ‘用户说明’ one     ##指定用户说明
      useradd -d /home/lee one     ##指定用户家目录
      useradd -s /bin/bash one     ##指定用户的默认shell
      在这里插入图片描述

  3. 用户组建立
      groupadd               ##建立用户组
      groupadd -g 888           ##建立并指定用户组id
      groupdel               ##删除用户组
      在这里插入图片描述

  4. 更改用户信息
      usermod
      usermod -l 新名称 one        ##更改用户的名称
      usermod -u 6666 one        ##更改用户uid
      usermod -g 2222 one        ##更改用户初识组
      usermod -G 3333 one      ##更改用户附加组
      usermod -aG 4444 one     ##添加用户的附加组
      usermod -G “” one       ##删除用户所有附加组的身份
      usermod -c “hahahah” one    ##指定用户说明文字
      usermod -d /home/lee one    ##更改用户家目录指向
      usermod -md /home/lee one    ##更改用户家目录
      usermod -s /bin/bash one     ##更改用户默认shell
      usermod -L one         ##冻结用户
      usermod -U one         ##解锁用户
      在这里插入图片描述

<<<…用户认证信息…>>>

  etc/shadow              ##记录用户认证信息,以“:”分隔
  用户名称:用户密码:用户密码最后一次被更改的时间:用户密码最短有效期:用户密码最长有效期:
  密码警告期限:用户非活跃天数:用户到期日:用户自定义列,目前没有启用
  在这里插入图片描述
  passwd             ##用户密码
  passwd   one          ##更改one用户的密码
  passwd -S one          ##查看one用户密码信息
  passwd -l one           ##在用户密码前加入“!!”
  passwd -L one           ##在用户密码前加“!”
  passwd -d one           ##清空one用户密码

  普通用户改密码时
   1.必须知道当前永久原始密码
   2.密码不能和帐号名称相似
   3.密码不能是纯数字或纯字母
   4.密码不能是有序的字母和数字的组合

  #用户密码最后一次被更改的时间#
   passwd -e westos ##会改变用户最后一次更改密码时间为0.
   ##用户在登陆时会被强制更改密码
   chage -d 0 westos ##两个命令功能类似

  #用户密码最短有效期#
   passwd -n 1 westos ##westos用户在1天之内不能修改密码
   chage -m 1 westos

  #用户密码最长有效期#
   passwd -x 30 westos ##设定westos在30天内必须改密码
   chage -M 40 westos
  #密码警告期限#
  passwd -w 2 westos ##密码过期前两天有警告输出
  chage -W 2 westos
  #用户非活跃天数#
   passwd -i 1 westos ##密码过期后仍可登陆系统的天数
   chage -I 1 westos
  #用户到期日#
   chage -E 2018-11-11 westos ##westos用户在2018-11-11日会被冻结
  #用户自定义列,目前没有启用#

<<<…用户权利下放…>>>

  1.在系统中超级用户可以下放普通用户不能执行的操作给普通用户
  下放权力配置文件:/etc/sudoers      

  2.下放权力的方法
  )超级用户执行visudo进入编辑/etc/sudoers模式
  
)格式:
  获得权限用户 主机名称=(获得到的用户身份) 命令
  tom localhost=(root) /usr/sbin/useradd
  tom用户能在localhost主机以超级用户身份执行/usr/sbin/useradd
  在这里插入图片描述
  在这里插入图片描述
  3.执行下放权限命令
  sudo 命令 ##如果第一次执行sudo需要输入当前用户密码
  在/etc/sudoers中如果设置如下:
  tom localhost=(root) NOPASSWD: /usr/sbin/useradd
  表示用户调用sudo命令的时候不需要自己密码

PS:当天遇到的小问题:
1.用root切换至student用户后,再进入student的桌面时:cd /home/student/Desktop
2.watch -n 1 “tail -n 4 /etc/passwd /etc/group;ls -l home” ##每秒为频率监控引号里的内容
3.usermod -d /home/lee westos ##更改用户家目录的指向
  usermod -md /home/lee westos ##更改用户家目录 #还更改家目录的名字
4.切换用户时,su - username ##’-'和’username’之间也得有空格
5.passwd -e username ##改变用户最后一次更改密码时间为0,用户登陆时会被强制更改密码 ##用passwd -S username查看时,最后一次时间列为1969-12-31
6.不能登陆系统就是 usermod -s /sbin/nologin username即没有登陆权限, 而usermod -L username是冻结用户,此时root用户还是能切换至该uesername用户
7.创建用户时,可以同时用空格隔开好几个参数:useradd -u 6666 -G 1688 -c ‘system username’ username
8.同时更改所有者和所在组时,用‘.’隔开,例如: chown user.group /linux/westos3
9.更改文件所属组,chgrp groupname file

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值