用户和组命令的简单使用

用户和组管理命令:

用户管理命令:useradd usermod userdel

组管理命令:groupadd groupmod groupdel

用户创建:useradd

-u:uid 定义在/etc/login.defs

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

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

-c:用户的诠释信息

-d;指定用户的主目录

-s:用户指定的默认shell类型。可用shell列表在/etc/shells文件中

-G:为用户指定附加组,组必须事先存在

-N:不创建私有组做主组,使用user组做主组。

-r:创建系统用户时,用到的参数。CentOS 6: ID<500,CentOS 7: ID<1000

系统默认值:/etc/default/useradd文件中。

显示或更改默认设置:

useradd -D:显示默认设置

useradd -D -s shell :新用户的shell。对应:/etc/default/useradd文件中的SHELL项

useradd -D -b:新用户主目录的路径。对应:/etc/default/useradd文件中的HOME项

useradd -D -g:新用户初始组的祖名或id,组必须事先存在,组id也必须有一个已经存在的项。对应:/etc/default/useradd文件中的GROUP项。

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

/etc/default/useradd

/etc/skel/*

/etc/login.defs

用户属性修改:usermod

-u uid:新的uid

-g gid:新的gid

-G group1,group2,group3: 新的附加组,原来的附加组会被覆盖,如果保留原有,则同时使用-a选项,表示append

-a:添加用户到指定组,只能和-G配合使用。

-s  SHELL:shell 新的默认shell

-c  "诠释信息":新的注释信息

-d home:新家目录,不会自动创建,原家目录的文件不会同时移动到新的家目录;

如果要创建新的家目录并移动原来家目录的数据,同时使用-m选项

-l login_name : 新的名字

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

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

-e yyyy-mm-dd :指明用户账号过期日期

-f inactive :设定非活动期限

用户删除:userdel

-r:删除用户家目录

查看用户相关的id信息

id [option]…. [USER]

-u:uid

-g:gid

-G:groups

-n :name(需要配合ugG来使用)

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

su [options…] [-] [user [args…]]

切换用户的方式:

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

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

root su至其他用户无须密码;普通用户切换时需要密码。

换个身份执行命令:

su -l UserName 相当于 su – UserName  选项:-l  –login:

设置密码

passwd  [OPTIONS] UserName : 修改指定用户的密码。(只有管理员有权限修改用户的密码)

passwd: 修改自己的密码

passwd -e username :强制用户密码过期,下次登陆修改密码,与chage -d 0 username命令功能相同。

常用选项:

-l:锁定指定用户

-u:解锁指定用户

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

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

-x maxdays:指定最大使用期限

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

-i inactivedays: 非活动期限

–stdin : 从标准输入接受用户密码  ,不用和用户交互。

          eg1:echo "新密码" | passwd –stdin 用户名

修改用户密码策略:

chage [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,显示密码策略

用户和组命令的简单使用eg1:          chage            -d 0                      tom : 下一次登录强制重设密码

         最近日期为0,意思是密码立即到期,需要修改   用户名

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

                  随时更改    最大天数42天       过期前14天警告               过期7天禁用          用户名称

eg3:chage  -E  2016-09-10  tom  

               tom账户到2016-09-10到期

用户相关的其他命令:

chfn:交互式指定个人信息 。(就是/etc/passwd中的诠释信息)

chsh:指定shell。(chsh -s /bin/csh   tom:指定tom的shell类型为csh)

finger:查看用户的个人信息。(就是/etc/passwd中的诠释信息)

创建组:

groupadd  [OPTION]… group_name

-g gid:指明gid号

-r:创建系统组  centos6 gid<500   centos7 gid< 1000

修改和删除组:

组属性修改:groupmod  [OPTION]… group

-n  group_name : 新的组名

-g  gid:新的gid号

删除组: groupdel group

更改组密码:gpasswd  [OPTION] GROUP

-a user : 将user添加到指定组中。

-d user: 删除组中的指定用户user。

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

newgrp命令:临时切换基本组

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

更改和查看组成员: groupmems [options] [action]

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

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

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

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

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

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


知识点梳理:

1、文件格式说明:

passwd文件格式:

login name passwd uid gid gecos home directory shell
登入用户名 密码 用户身份ID 用户组ID 用户诠释信息 用户主目录 默认使用shell类型
root x 0 0 root /root /bin/bash
      yhb          x        1000      1000        yhb     /home/yhb /bin/bash
     tom           x        1000      1000       tom     /home/tom /bin/csh

shadow文件格式:

以:为分隔符,共8个:,解释各个字段的含义

bin : * : 17095 : 0 : 99999 : 7 :3 : :预留

yhb : 密码 : 17095 : 0 : 99999  :  7  :   密码过期几天后账号会被锁定   :  从1970年1月1日起,多少天后账号失效 :预留

登陆用户:

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

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

密码在过几天可以被变更(0表示随时可被更改) :

密码在过几天必须被变更(99999表示永不过期) :

密码过期前几天系统提示用户变更密码(7天,系统默认的) :

密码过期几天后账号会被锁定 :

从1970年1月1日起,多少天后账号失效 :

密码加密:

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

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

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

      MD5: 128bit 

      sha1: 160bit

     sha224,sha256,sha384,sha512

更改加密算法命令:

   authconfig –passalgo=sha256 –update

group文件格式: cat /etc/group

用户和组命令的简单使用群组名称:组名

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

GID:组的id号

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

用户和组命令的简单使用gshadow文件格式: cat /etc/gshadow

用户和组命令的简单使用群组名称:组名

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

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

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

2、pwunconv和pwconv命令:

image.png

3、添加用户到指定的组:                        从组中删除用户:

一、usermod -aG 用户名 组名            一、groupmems -d 用户名 -g 组名

二、gpasswd  -a 用户名   组名           二、  groupmems -p -g 组名(清楚所有成员)

三、groupmems -a 用户名 -g 组名

4、用户的修改、删除、加解锁

修改用户名:

usermod -l newname oldname

用户加锁与解锁:

usermod -L yi   :会在/etc/passwd中,yi用户密码字段前,添加1个!号。

usermod -U yi   :会将在/etc/passwd中,yi用户密码字段前的!号去掉。

    或者

passwd -l yi  :会在/etc/passwd中,yi用户密码字段前,添加2个!号。

passwd -u yi  :会将在/etc/passwd中,yi用户密码字段前的一个!号弃掉。

用户删除

userdel   username:  只是删除了该用户,用户的家目录和邮箱等数据都还在。

userdel -r username : 将用户的家目录和邮箱等一起删除滴。

5、强制用户需改密码

passwd -e tom        

或者     

chage -d0 tom

::强制tom用户下次登入修改密码

6、批量添加用户和组

第一步、需要和passwd文件格式一样的文件 名字usere.txt

image.png用户和组命令的简单使用

执行命令,如下图所示:

image.png

用户增加完成。

第二步、编辑一个文件,名字p.txt,其内容格式为:用户名:密码  如图所示:

image.png

完成文件编辑后,执行chpasswd命令,如图:

image.png

密码修改完成。

注意:

通过上述操作可以批量添加用户和设置用户密码,但是不会创建新用户家目录下的配置文件,需要手动复制。




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

(0)
cxhzcxhzcxhzcxhz
上一篇 2016-10-24
下一篇 2016-10-24

相关推荐

  • MySQL高级特性-合并表

    1. Merge Tables         如果愿意的话,可以把合并表看成一种较老的、有更多限制的分区表,但是它们也有自己的用处,并且能提供一些分区表不能提供的功能。 合并表实际是容纳真正的表的容器。可以使用特殊的UNION语法来CREATE TABLE。下面是一个合并表的例子: mysql> &n…

    Linux干货 2015-04-13
  • N25_第三周作业_leon

    N25_第三周作业_leon 1.       列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@localhost ~]# who 全部 jj       tty1  …

    Linux干货 2017-01-06
  • N22-℡浮生.若夢 ╮-第三周作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 ~]# who |cut -d' ' -f1 |uniq -c    1 root    2 ch…

    Linux干货 2016-09-15
  • DNS原理详解

    1、DNS概述   domain name service  区域名称服务或者domain named system 区域名称系统,是互联网最基础的服务,分为正向域名解析(将域名解析为IP地址)和反向域名解析(将IP地址解析为域名)两部分。 2、bind   bind(Berkeley Internet Name Domain)…

    Linux干货 2016-08-26
  • 进入linux世界的初步认识

    1、 描述计算机的组成及其功能.
    2、 按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别.
    3、 描述Linux的哲学思想,并按照自己的理解对其进行解释性描述.
    4、 说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述.
    5、 如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的.
    6、 请罗列Linux发行版的基础目录名称命名法则及功用规定.

    Linux干货 2018-02-25
  • Tomcat基于memcached会话共享

    安装两台memcache,基于tomcat做会话同步;(只对动态内容缓存,用于追踪用户会话) 前提:两个tomcat节点:172.16.100.7(tomcatA.magedu.com),172.16.100.8(tomcatB.magedu.com)两个memcached节点:172.16.100.9, 172.16.100.10一个负载均衡节点:172.…

    2017-05-25