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

相关推荐

  • N25_第一周博客作业

    一、计算机组成及其功能      1、CPU:          运算器:计算功能,对数据进行加工处理的部件。          控制器:负责从存储器读取指令,控制计算器之间的运行状态和结果;     &nbs…

    Linux干货 2016-12-04
  • Linux网络管理之路由和team网络组

    如何实现把linux当路由器来使用,实现不同网段之间的通信访问,这就是今天所要实现的路由配置   环境准备:4台虚拟机,两台中间两台作为路由器来使用(每天主机两块网卡),其他两台作为终端主机,目的是让不同网段的两台主机之间互相访问(这里在vmware里面做的实验,所以网卡的类型都设置为桥接)   拓扑图:   步骤一:将A、D两…

    系统运维 2016-09-10
  • 利用nginx实现基于传输层的四层负载均衡

    nginx利用ngx_stream_core_module实现四层的负载均衡服务。作为四层负载均衡nginx和lvs的区别在于: lvs工作于内核层,相对来说效率更高,性能更强; nginx工作于用户空间; lvs不会受到套接字数量的限制; nginx作为四层负载均衡也需要监听套接字来和客户端,后台服务器进行连接,会受到套接字数量限制,不过这个问题可以通过k…

    2017-07-03
  • ansible配置详解

    概述     ansible是一款无需在被管理主机上安装客户端,基于SSH对多台目标主机进行同时操作的轻量级的管理软件,借助各个内部的功能模块,实现了批量系统配置、批量程序部署、批量运行命令等功能。本篇就介绍一些关于ansible的基础配置相关的内容,具体包括:     1、an…

    Linux干货 2016-11-05
  • 认识shell

    一、认识shell 什么是shell?shell为单词外壳的意思。那么这是谁的外壳?我们知道一个系统中实际工作的是那些硬件,cpu、内存、磁盘等。我们如何调用这些硬件为我们工作?实际上,硬件是由内核kernel控制的。我们可以通过kernel控制硬件,但我们不能直接和内核kernel交流。我们需要一个外壳,这个外壳就是shell来沟通kernel。何为she…

    Linux干货 2015-09-22
  • 1、安装配置介绍

    http://note.youdao.com/yws/public/redirect/share?id=b90faa657ee452edb27ab1a13fc7b0bc&type=false

    Linux干货 2016-08-08

评论列表(1条)

  • renjin
    renjin 2017-04-05 15:45

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