用户 组

用户 组

   在linux系统中,用户管理是基于用户名和密码的方式进行资源的分配,linux上用户Username/UID分为以下类别:

   管理员: root,0

   普通用户: 1-65535

普通用户分为:系统用户和登录用户两种

系统用户:1-499(centos6) 1-999(centos7)

登陆用户:500+(centos6) 1000+(centos7)

 

Groupname/gid

管理员组:root, 0

普通组: 1-65535

普通组又分为:系统组和非系统组(普通组)

系统组:1-499(centos6) 1-999(centos7)

非系统组:500+(centos6) 1000+(centos7)

 

Linux用户组相关的配置文件为 /etc/passwd,文件记录了用户及其属性信息(名称,UID,基本组 ID 等)

/etc/group:组及其属性信息

/etc/gshadow:用户密码及其属性

/etc/gshadow:组密码及其属性

 

Passwd文件格式

v  login name:登录用名(chengqiang) v

passwd:密码 (x) v

UID:用户身份编号 (1000) v

GID:登录默认所在组编号 (1000) v

GECOS:用户全名或注释 v

home directory:用户主目录 (/home/chengqiang) v

shell:用户默认使用shell (/bin/bash)

 

Shadow文件格式

登录用名 v

用户密码:一般用sha512加密 v

从1970年1月1日起到密码最近一次被更改的时间 v

密码再过几天可以被变更(0表示随时可被变更) v

密码再过几天必须被变更(99999表示永不过期) v、

密码过期前几天系统提醒用户(默认为一周) v

密码过期几天后帐号会被锁定 v

从1970年1月1日算起,多少天后帐号失效。

 

密码加密

1.使用随机迷码

2.最短>8位

3.大写字母,小写字母,各种字符,数字混合使用

4.定期更换

加密机制:

加密:明文–> 密文

解密:密文–> 明文 v

单向加密:哈希算法,原文不同,密文必不同

相同算法定长输出,获得密文不可逆推出原始数据

雪崩效应:初始条件的微小改变,引起结果的巨大改变

md5: message digest, 128bits

sha1: secure hash algorithm, 160bits

sha224: 224bits

sha256: 256bits

sha384: 384bits

sha512: 512bits v

更改加密算法 authconfig –passalgo=sha256 –update

 

Group文件格式

     群组名称:就是群组名称 v

     群组密码:通常不需要设定,密码是被记录在 /etc/gshadow v

     GID:就是群组的 ID v

     以当前组为附加组的用户列表(分隔符为逗号)

 

Gshadow文件格式

      群组名称:就是群组名称 v

      群组密码: v

      组管理员列表:组管理员的列表,更改组密码和成员 v

      以当前组为附加组的用户列表:(分隔符为逗号)

 

文件操作

      vigr 和Vipw:用于编辑用户密码文件,且只用于编辑密码文件。

      Pwck和grpck:检查用户密码文件的完整性。

 

用户和组管理命令

v    用户管理命令 Ü

          useradd :Ü

             用户创建:

                 默认值设定:/etc/default/useradd文件中

                 显示或更改默认设置: useradd -D

                                      useradd–D -s SHELL

          Useradd:

             -u  UID: [UID_MIN, UID_MAX]定义在/etc/login.defs

             -o  配合-u 选项,不检查UID的唯一性

             -g  GID:指明用户所属基本组,可为组名,也可以GID

             -c  "COMMENT":用户的注释信息

             -d  HOME_DIR: 以指定的路径(不存在)为家目录

             -s  SHELL: 指明用户的默认shell程序 可用列表在/etc/shells文件中

             -G  GROUP1[,GROUP2,…]:为用户指明附加组,组必须事先存在

             -N  不创建私用组做主组,使用users组做主组

             -r:  创建系统用户 CentOS 6: ID<500,CentOS 7: ID<1000

     

          Usermod:用户属性修改

                  Usermod[OPTION]login

                         -u  UID: 新UID

                         -g  GID: 新基本组

                         -G  GROUP1[,GROUP2,…[,GROUPN]]]:新附加组,原来的附加 组将会被覆盖;若保留原有,则要同时使用-a选项,表示append;

                         -s  SHELL:新的默认SHELL;

                         -c  'COMMENT':新的注释信息;

                         -d  HOME: 新家目录不会自动创建,原家目录中的文件不会同时移 动至新的家目录;若要创建新家目录并移动原家数据,同时使用-m选项

                         -l  login_name: 新的名字;

                         -L:  lock指定用户,在/etc/shadow 密码栏的增加 !

                         -U:  unlock指定用户,将 /etc/shadow 密码栏的 ! 拿掉

                         -e  YYYY-MM-DD: 指明用户账号过期日期;

                         -f  INACTIVE: 设定非活动期限;

                         Ü

           Userdel: 删除用户

                   userdel [OPTION]… login

                      -r: 删除用户家目录;

v

     组帐号维护命令 Ü

          groupadd 创建组

                groupadd [OPTION]… group_name

                  -g  GID: 指明GID号;[GID_MIN, GID_MAX]

                  -r:  创建系统组;

                     CentOS 6: ID<500

                     CentOS 7: ID<1000

 

Ü        groupmod 修改组Ü

v               组属性修改:groupmod

                  groupmod [OPTION]… group

                      -n group_name: 新名字

                      -g GID: 新的GID;

 

          groupdel删除组

             groupdel GROUP

 

新建用户的相关文件和命令

v/etc/default/useradd v

  /etc/skel/* v

  /etc/login.defs v

  newusers  passwd格式文件 批量创建用户 v

  chpasswd  批量修改用户口令

   

查看用户相关ID信息

id [OPTION]… [USER]

-u: UID

-g: GID

-G: Groups

 -n:Name

 

切换用户或以其他用户身份执行命令

vsu [options…] [-] [user [args…]] v

切换用户的方式:

    su UserName:非登录式切换,即不会读取目标用户的 配置文件,不改变当前工作目录

    su – UserName:登录式切换,会读取目标用户的配置 文件,切换至家目录,完全切换 v

    root su至其他用户无须密码;非root用户切换时需要密码 v

    换个身份执行命令:

su [-] UserName -c 'COMMAND'

 选项:-l  –login:

su -l UserName 相当于 su – UserName

 

设置密码

passwd [OPTIONS] UserName: 修改指定用户的密码,仅 root用户权限 v

passwd: 修改自己的密码; v

常用选项:

       -l: 锁定指定用户

      -u: 解锁指定用户

      -e: 强制用户下次登录修改密码

      -n  mindays: 指定最短使用期限

      -x maxdays:最大使用期限

      -w  warndays:提前多少天开始警告

      -i  inactivedays:非活动期限;

     –stdin:从标准输入接收用户密码;

     echo "PASSWORD" | passwd –stdin USERNAME

 

修改用户密码策略

vchage [OPTION]… LOGIN

    -d LAST_DAY

    -E, –expiredate EXPIRE_DATE

    -I, –inactive INACTIVE

    -m, –mindays MIN_DAYS

    -M, –maxdays MAX_DAYS

    -W, –warndays WARN_DAYS

    –l,显示密码策略 v

下一次登录强制重设密码

    chage -d 0 tom v

chage -m 0 –M 42 –W 14 –I 7 tom v

chage -E 2016-09-10 tom

 

用户相关的其它命令

chfn 指定个人信息 v

chsh 指定shell v

Finger

 

更改组密码

v  组密码:gpasswd v

gpasswd [OPTION] GROUP

 -a user: 将user添加至指定组中;

 -d user: 从指定组中移除用户user

-A user1,user2,…: 设置有管理权限的用户列表

vnewgrp命令:临时切换基本组;

      如果用户本不属于此组,则需要组密码

 

更改和查看组成员

vgroupmems [options] [action] options:

  -g, –group groupname 更改为指定组 (只有root) Actions:

  -a, –add username      指定用户加入组

  -d, –delete username    从组中删除用户

  -p, –purge                从组中清除所有成员

  -l, –list                   显示组成员列表 v

groups [OPTION].[USERNAME]… 查看用户所属组列表

 

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

(0)
xiaoqiang512xiaoqiang512
上一篇 2016-08-04
下一篇 2016-08-04

相关推荐

  • LAMP基于rsyslog+loganalyzer实现日志集中管理及分析

    前言 作为一名运维工程师,查看分析系统日志是每天必做的功课,但每次查看日志都得一台服务器一台服务器的看,几台服务器还可以这么对付,但如果管理成百上千台线上服务器,这种方法就捉襟见肘了。于是我们就需要用到日志服务器了,但是如何能让它更直观的显示呢?loganalyzer是一个不错的选择,本文将讲解如何使用rsyslog+loganalyze实现日志统一管理及分…

    Linux干货 2015-04-27
  • TCP 的那些事儿(下)

    这篇文章是下篇,所以如果你对TCP不熟悉的话,还请你先看看上篇《TCP的那些事儿(上)》 上篇中,我们介绍了TCP的协议头、状态机、数据重传中的东西。但是TCP要解决一个很大的事,那就是要在一个网络根据不同的情况来动态调整自己的发包的速度,小则让自己的连接更稳定,大则让整个网络更稳定。在你阅读下篇之前,你需要做好准备,本篇文章有好些算法和策略,可能会引发你的…

    Linux干货 2016-08-15
  • 在学习的过程中,我们应该如何获取帮助?

    正文 在学习的过程当中,我们总是遇到不会使用的问题,以各种姿势来获取帮助是一个运维人员的基本要求 在Linux系统中我们获取帮助主要有以下几种方式 1. 使用命令内建的选项来获取帮助 2. 使用man来查看命令使用手册 3. 使用info来查看命令的信息页 4. 查看软件自带的帮助文档 5. 查看软件官方的文档 6. 查看发行版本的文档 7. Google相…

    Linux干货 2016-03-04
  • 6个变态的C语言Hello World程序

    下面的六个程序片段主要完成这些事情: 输出Hello, World 混乱C语言的源代码 下面的所有程序都可以在GCC下编译通过,只有最后一个需要动用C++的编译器g++才能编程通过。 hello1.c  #define _________ }     #define ______…

    Linux干货 2016-05-08
  • parted使用说明

    一.为什么使用parted命令     传统的MBR(Master Boot Record)分区方式,有一个局限:无法支持超过2TB的硬盘分区(单个分区超过2TB)。     GPT(GUID Partition Table)的分区表很好的解决了这个问题,但在Linux系统中,传…

    Linux干货 2015-04-13
  • 海量数据处理算法—Bloom Filter

    1. Bloom-Filter算法简介         Bloom-Filter,即布隆过滤器,1970年由Bloom中提出。它可以用于检索一个元素是否在一个集合中。        Bloom Filter(BF)是一种空间效率很高的随机数据结构,它利用位数组很简洁地表…

    Linux干货 2015-10-22