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

相关推荐

  • linux终端类型

    人机交互界面:GUI、CLI GUI: gnome:c,gtk kde:c++,qt CLI: bash,zsh,sh,csh,ksh 不同CLI间跳转:alt+f1\f2\f3\f4   终端类型: 物理终端、控制台终端:/dev/console,控制台console 计算机显示器通常被称为控制台终端(Console) 虚拟终端:/dev/tty…

    Linux干货 2016-10-14
  • N26-博客作业-week2

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。   cp:copy 复制文件和路径 cp [OPTION]… [-T] SOURCE DEST cp [OPTION]… SOURCE… DIRECTORY cp [OPTION]… -t DIRECTORY SOURCE&…

    Linux干货 2017-02-12
  • linux同时创建多个目录

    mkdir -p a_{c,d} b_{c,d} mkdir 同时创建多个文件夹 mkdir -p  mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sb…

    2017-08-28
  • FHS文件系统各目录功能

        FHS文件系统各目录功能 前言                  FHS (Files system Hiserarchy Standard)…

    Linux干货 2016-10-17
  • 重构-改善既有代码的设计:重构原则(二)

    1.什么是重构 重构(Refactoring):在不改变软件的功能和外部可见性的情况下,为了改善软件的结构,提高清晰性、可扩展性和可重用性而对软件进行的改造,对代码内部的结构进行优化。 2.为何重构   1)改进软件设计(整理代码) 重构和设计是相辅相成的,它和设计彼此互补。有了重构,你仍然必须做预先的设计,但是不必是最优的设计,只需要一个合理的解…

    Linux干货 2015-04-07
  • Linux系统vim文本编辑器

                                                      &nbsp…

    Linux干货 2016-08-15

评论列表(1条)

  • renjin
    renjin 2017-04-05 15:45

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