Linux用户和组管理

Linux用户和组管理

Username / UID

  • 管理员:root,0
  • 普通用户 : 1–65535

    • 系统用户 :系统已经已经存在专门用来对系统服务或者系统资源进行管理的
      1–499(CentOS 6.X)
      1–999 (CentOS 7.X)
    • 登录用户:平时专门做系统管理的用户
      500+ (CentOS 6.X)
      1000+ (CeentOS 7.X)
      用户ID ,其实就是UID, 用来标识用户身份的;

Groupname / GID

  • 管理员组 : root,0
  • 普通组: 1-65535

    • 系统组:1-499(CentOS 6.X), 1-999(CENTOS7)
      非系统组:500+(CentOS 6.x), 1000+(CENTOS7)

用户和组的关系

每个用户必须属于一个与用户同名的组(默认的情况) 这个组一般叫做基本组(主组)
一个用户可以属于除基本组之外的其他组,这个组就叫做(附加组)(辅助组)

[root@lyp home]# ll /etc/{passwd,group,shadow,gshadow}* -rw-r--r--. 1 root root 998 Mar 29 18:08 /etc/group
-rw-r--r--. 1 root root 1015 Mar 25 01:00 /etc/group-
----------. 1 root root 807 Mar 29 18:08 /etc/gshadow
----------. 1 root root 820 Mar 25 01:00 /etc/gshadow-
-rw-r--r--. 1 root root 2335 Mar 29 18:08 /etc/passwd
-rw-r--r--. 1 root root 2380 Mar 29 18:08 /etc/passwd-
----------. 1 root root 1402 Mar 29 18:08 /etc/shadow
----------. 1 root root 1523 Mar 29 18:08 /etc/shadow-

/etc/group 存储的是组信息
/etc/gshadow 存储的是组的密码
/etc/passwd 存储系统全部用户的账号信息
/etc/shadow 存储用户和对应的密码 ,密码有效时间

  • /etc/passwd
root: x: 0: 0 : root: /root:     /bin/bash
用户名  密码占位符   UID   GID   注释信息  用户的家目录   默认的用户的shell /sbin/nologin 系统用户 因为系统资源或者进程的管理工作,并不需要登录 38 /sbin/nologin 4 /bin/bash 1 /sbin/shutdown 1 /sbin/halt 1 /bin/sync
  • /etc/group
magedu: x : 1000 :  magedu
 组名    密码占位符        GID       用户
  • /etc/gshadow
magedu: !! :          : magedu 群组名称    密码     组管理员列表      组里的用户
  • /etc/shadow
magedu:    用户名 $6$X5WhrwGlH43.    密码(加密的密码)
    :17249 最近一次修改密码的时间
    :0 经过多少天才可以被变更
    :99999: 最大使用时间(永不过期) 7: 密码到期之前7天提醒修改密码
    :  密码到期之后这个账号被锁定
    :  账号失效时间
    : 保留
    如果是 ! * 说明这个账号是不可用被锁定

$ 6 $  X5WhrwGlH43drG6g $HBK4K2Ze5QURnW3VuFYIL4KMKo1 加密算法         salt                     密码
加密算法:md5 ; sha1 ; sha224 ; sha256 ; sha384 ; sha512
使用salt可以避免密码一样;添加的随机数
MySQL,用户加密md5

批量修改密码:
shell脚本 ;python脚本
ansible ; puppet ; salt
或一台台改

用户和组相关的管理命令

  • 用户创建  useradd (使用频率2)
    -u 指定UID (默认500|1000开头)
    -o -u新建用户前不检查指定的UID是否存在(默认是检查,一般不要使用这个选项)
    useradd -u 250 -o yonggege
    -g GID|组名 指明用户所属的基本组 (使用比较多)
    -G 指明用户所属的附加组
    -d 指定某个目录作为家目录,默认/home
    -s 指明用户默认的shell 默认/bin/bash 通常会指定/sbin/nologin(使用较多)
    -c “ ” 指定用户注释信息
    -r 新建系统用户
    -m 默认选项 创建用户家目录
    -M 不创建用户家目录 (使用较多)
    useradd -M -s /sbin/nologin yongge
    useradd -D 改变新建用户默认的选项 (使用频率为0)
[root@CentOS68 ~]# cat /etc/default/useradd  # useradd defaults file GROUP=100 HOME=/home  默认家目录 INACTIVE=-1 密码失效日期,shadow第7 EXPIRE= 账号失效日期 第8 SHELL=/bin/bash SKEL=/etc/skel  家目录下面的隐藏文件的模板 CREATE_MAIL_SPOOL=yes 是否创建一个邮箱账户 
  • 用户属性修改  usermod
    -U 解锁用户 sarah
    -L 锁定用户 (直接修改密码文件,加感叹号)

  • passwd: 修改自己的密码
    passwd [options] UserName

    • 不常用选项:
      -l:锁定指定用户
      -u:解锁指定用户
      -e (date):强制用户下次登录修改密码;(过期期限,日期)
      -n mindays: 指定最短使用期限
      -x maxdays:最大使用期限
      -w warndays:提前多少天开始警告
      -i inactivedays:非活动期限
      常用选项 :
      –stdin:从标准输入接收用户密码
      echo “PASSWORD” | passwd –stdin USERNAME
      Note: linux 系统之上有两个特殊文件:
      /dev/null: 能够接收任何内容,并将其丢弃,外号:无底洞
      /dev/zero : 能够连续不断的输出0信息

      echo "123456" | passwd --stdin xian
      chage -d 0 xian   要求用户在第一次登陆的时候必须强制一定要修改密码 echo "P@ $ sd" |  passwd --stdin xian
    • (1)passwd : 修改自己的密码
      (2)passwd UserName : 修改指定用户密码,仅限root
      注意:字符串有一个$符号 会把后面的内容给替换成变量 而这个变量为空,所以切记改密码的时候要使用单引号 强引用
      要注意的事情是:改完密码之后,当前的终端不能立即退出,改为先验证下密码是否改成功,如果成功再退出,如果不成功,你退出了,后果就自己想吧!

  • userdel  删除用户 (使用频率1)
    -r 删除用户家目录

  • 创建组  groupadd
    groupadd [options] group

    • g GID:指明GID;默认是上一个组的GID+1
    • r: 创建系统组
    • id  查看用户信息
      id [OPTION] … [USER]
      -u UID
      -g GID
      -G 附加组
      -n Name
  • groupmems
    groupmems -a user_name | -d user_name | [-g group_name] | -l | -p

    • -g 组 -a 用户名
      -g 组 -d 删除
      -g 组 -p 清空
      -g 组 -l 列出组内所有的用户
      groupmems -g shanxi -a hanzhong;
      使用groupadd 添加一个组情况相对较多 。
  • 切换用户或以其他用户身份执行命令( switch user): su

    • su UserName : 非登录式切换,即不会读取目标用户的配置文件;
      su – UserName : 登录式切换,会读取目标用户的配置文件,完全切换;
      Note : root su 至其他用户无需密码,非root用户切换时需要密码;
      不加 – 某些环境变量可能不会切换过去,等于是人过去了,行李还没过去 su lucy;
      加 – 行李和人都过去 ,生产推荐使用 su – lucy;
      su -l USER === su – USER
      -c ’CMD‘ 以某个用户的身份执行CMD命令
      [root@CentOS68 ~]# su – lucy -c ‘whoami’
      xian
      su – lucy -c “date +’%Y %m'”
      2017 03
      单引号和双引号在执行单个命令的时候并没有什么区别,所有执行的命令里面包含 ’ ’ 建议外面使用 “ ”
      使用root切换到其他普通的时候 是不需要密码的,但是普通用户切换到root或者切换到其他用户的时候是需要密码登录的
      su – root 用户名可以省略,但是仅限于root用户
      如果想切换到root用户不用输密码,可以只用visudoer编辑
  • 组属性修改 :groupmod
    groupmod [options] GROUP

    • n group_name : 新名字
    • g GID :新的GID
  • 组删除 : groupdel
    groupdel GROUP (首先删除对应的用户 然后才能执行对应的组的删除操作)

  • 组密码 : 组密码的作用为用户切换基本组 , 其设置工具为gpasswd
    gpasswd [option] group

    • a user : 将user添加至指定组中
      -d user :将user从指定组中删除
      -A userlist : 设置有组管理权限的用户列表
  • groups

    [zhengzhou@CentOS68 ~]$ groups
    zhengzhou root  基本组和附加组
    [zhengzhou@CentOS68 ~]$ newgrp root 切换基本组和附加组
    [zhengzhou@CentOS68 ~]$ groups 
    root zhengzhou
    [zhengzhou@CentOS68 ~]$ touch shangjie 
    [zhengzhou@CentOS68 ~]$ ll shangjie 
    -rw-r--r--. 1 zhengzhou root 0 Mar 31 11:07 shangjie
  • newgrp : 临时切换基本组:如果用户本不属于此组,则需要组的密码

  • 修改用户密码属性 : chage

    • chage [OPTION]… LOGIN
      -d LAST_DAY 最近一次更改密码(3) (使用较多)
      -E –expiredate EXPIRE_DATE账号失效日期(8)
      -I –inactive INACTIVE密码失效日期(7)
      -m –mindays MIN_DAYS最短使用天数(4)
      -M –maxdays MAX_DAYS最大使用天数(5)
      -W –warndays WARN_DAYS失效前警告时间(6)
    • 其他命令:
      chfn : 指定个人信息,修改内容 ; chfn changchun
      chsh :指定shell ; chsh changchun /sbin/nologin
      finger : 查看个人信息内容 ; finger changchun

原创文章,作者:s,如若转载,请注明出处:http://www.178linux.com/72306

(0)
ss
上一篇 2017-04-01
下一篇 2017-04-01

相关推荐

  • 马哥教育21期网络班—第11周课程+练习—-成长进行时–不退步–上

    1、详细描述一次加密通讯的过程,结合图示最佳。 对称加密: 加密和解密使用同一个密钥; 缺点:如何通信方多的话,需要保存多组密钥 公钥加密:密钥是成对儿出现 公钥:公开给所有人;pubkey 私钥:自己留存,必须保证其私密性;secret key 特点:用公钥加密的数据,只能使用与之配对儿的私钥解密;反之亦然; 数字签名:主要在于让接收方确认发送方…

    Linux干货 2016-09-19
  • 软件安装与管理–rpm、yum

    一、rpm包管理器     1、介绍rpm        在linux系统中,服务是要通过程序来提供的,通过调用API接口编写好之后的源码包文件对于普通用户来说,安装起来较为繁琐。于是人们将源码在编译安装的环境下制作了更加高级的rpm包,它的最大特点是避免了对原软件包的编译安装,以更加简便…

    Linux干货 2016-08-22
  • 马哥教育网络班22期第3周课程作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@MyCloudServer ~]# who | cut -d " " -f1 |sort -u root 2、取出最后登录到当前系统的用…

    Linux干货 2016-09-19
  • 文件系统挂载

    挂载: 将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录做为其它文件访问入口的行为 卸载: 为解除此关联关系的过程 把设备关联挂载点:mount Point mount 卸载时:可使用设备,也可以使用挂载点 umount mount   umount命令都是临时生效,机器重启后失效 挂载点下原有文件在挂载完成…

    Linux干货 2017-04-30
  • 磁盘分区相关知识

    磁盘分区相关知识 使用磁盘分区的过程设备识别→设备分区→创建文件系统→标记文件系统→在/etc/fstab文件中创建条目→挂载新的文件系统 分区不是必须的,但是分区是必要的:优化I/O性能实现磁盘空间配额限制提高修复速度隔离系统和程序安装多个OS采用不同文件系统 不重启激活新添加的磁盘:echo “- – -” > …

    Linux干货 2017-08-20
  • 简述计算机网络数据链路层

    数据链路层    数据链路层是什么?      数据链路层工作在七层网络模型的第二层,它定义了在单个链路上如何传输数据。 数据链路层:是为了提供功能上和规程上的方法,以便建立、维护和释放网络实体间的数据链路 。 物理链路(物理线路):是由传输介质与设备组成的。原始的物理传输线路是指没有采用高层差错控…

    Linux干货 2017-05-15

评论列表(1条)

  • renjin
    renjin 2017-04-05 15:45

    几乎学了的很多知识你都总结出来了,挺好的,继续努力