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磁盘管理(分区,格式化,文件系统、VFS、mount、fstab)

    Linux系统中数据存储在磁盘中,磁盘在冯诺依曼体系中属于输入输出外部存储对象,保存着重要的企业数据,对Linux系统中的磁盘管理尤其需要熟练掌握,由于企业目前使用的主流存储设备还是硬盘,所以这里只叙述硬盘的组织结构; 1.分区:    (1)低级格式化:       硬盘在出厂的时候厂家会做一次分区格式化,…

    Linux干货 2016-09-02
  • linux入门

    基本知识和操作用法。

    Linux干货 2017-11-30
  • Linux源程序包管理器之RPM

    一、 RPM功能描述 l  打包 l  安装 l  卸载 l  升级 l  校验 l  数据库管理 二、 RPM包命名格式 1.       命名格式举例 name-version-relase.arch.rpm 例如:bash-4.2.3…

    系统运维 2015-09-25
  • 8-1作业

    1、创建testuser uid 1234,主组:bin,辅助组:root,ftp,shell:/bin/csh home:/testdir/testuser [root@localhost ~]# useradd -u 1234 -g bin -G root,ftp …

    Linux干货 2016-08-03
  • 文件的压缩与解压

    文件的压缩与解压   常用命令既参数 1, gzip                        …

    Linux干货 2017-04-16
  • SHELL中的变量

    SHELL中的变量            运行SHELL脚本中的单个命令自然有用,但这有其自身的限制。通常你会需要在SHELL命令使用其他数据来处理信息。这可以通过变量来实现。变量允许你临时性地将信息存储在SHELL脚本中,以便和脚本中的其他命令一起使用。 1 环境变量…

    Linux干货 2017-04-16

评论列表(1条)

  • renjin
    renjin 2017-04-05 15:45

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