用户和组命令及相关配置文件总结

用户和组相关的配置文件


1477231792513903.jpg

目录

一、创建用户、组和权限相关命令… 1

1、useradd 帐号建立… 1

2、usermod 用户属性更改… 2

3、Passwd. 2

4、userdel 2

6、chfn. 3

7、Chsh. 3

8、finger. 3

9、groupadd. 3

10、Groupdel 3

11、groupmod. 3

12、gpasswd. 4

13、Id. 4

14、groups. 4

二、用户、组相关配置文件… 4

1、/etc/passwd. 4

2、/etc/shadow.. 5

3、/etc/group. 5

3.1 /etc/group 内容具体分析… 6

4、/etc/gshadow 解说… 6

 

 一、创建用户、组和权限相关命令

  1、useradd 帐号建立

   -c<备注>:加上备注文字。描述信息

-d<登入目录>:指定用户主目录;

-e<有效期限>:指定帐号的有效期限;

-f<缓冲天数>:指定在密码过期后多少天即关闭该帐号;

-g<群组>:指定用户所属的主组;

-G<群组>:指定用户所属的附加组;

-m:自动建立用户的登入目录;

-M:不要自动建立用户的登入目录;

-n:取消建立以用户名称为名的群组;

-r:建立系统帐号;

-s<shell>:指定用户登入后所使用的shell;

-u<uid>:指定用户id。

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

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

  2、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: 设定非活动期限;

  3、Passwd

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

      修改自己的密码;

常用选项:

-l:锁定指定用户

-u:解锁指定用户

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

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

-x maxdays:最大使用期限

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

-i inactivedays:非活动期限;

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

echo "PASSWORD" | passwd –stdin USERNAME

        

  4、userde  -r: 删除用户家目录;

  5、chage

-d LAST_DAY

-E, –expiredate EXPIRE_DATE

-I, –inactive INACTIVE

-m, –mindays MIN_DAYS

-M, –maxdays MAX_DAYS

-W, –warndays WARN_DAYS

–l,显示密码策略

示例:

chage -d 0 tom 下一次登录强制重设密码

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

chage  -E 2016-09-10 tom

  6、chfn  指定用户信息

  7、Chsh    指定shell

  8、finger

 查找并显示用户信息

  -l:列出该用户的帐号名称,真实姓名,用户专属目录,登入所用的Shell,登入时间,转信地址,

电子邮件状态,还有计划文件和方案文件内容;

-m:排除查找用户的真实姓名;

-s:列出该用户的帐号名称,真实姓名,登入终端机,闲置时间,登入时间以及地址和电话;

-p:列出该用户的帐号名称,真实姓名,用户专属目录,登入所用的Shell,登入时间,转信地址,   

电子邮件状态,但不显示该用户的计划文件和方案文件内容。        

   9、groupadd

    用于创建一个新的工作组,新工作组的信息将被添加到系统文件中。

       -g:指定新建工作组的id;

    -r:创建系统工作组,系统工作组的组ID小于500;

    -K:覆盖配置文件“/ect/login.defs”;

    -o:允许添加组ID号不唯一的工作组。

   10、Groupdel 

    用于删除指定的工作组,本命令要修改的系统文件包括/ect/group和/ect/gshadow。若该群组中仍

包括某些用户,则必须先删除这些用户后,方能删除群组。

   11、groupmod 

      更改群组识别码或名称。需要更改群组的识别码或名称时,可用groupmod

  指令来完成这项工作。

  g<群组识别码>:设置欲使用的群组识别码;

   -o:重复使用群组识别码;

   -n<新群组名称>:设置欲使用的群组名称。

    12、gpasswd

    修改组密码管理用户组。

     -a:添加用户到组;

    -d:从组删除用户;

    -A:指定管理员;

    -M:指定组成员和-A的用途差不多;

    -r:删除密码;

    -R:限制用户登入组,只有组中的成员才可以用newgrp加入该组。

  13、Id

    显示指定用户或当前用户(当未指定用户时)的用户与组信息。

      -g或–group   显示用户所属群组的ID。

    -G或–groups   显示用户所属附加群组的ID。

    -n或–name    显示用户,所属群组或附加群组的名称。

    -r或–real    显示实际ID。

    -u或–user    显示用户ID。

    -help         显示帮助。

    -version      显示版本信息。

  14、group    显示用户所在的组

 二、用户、组相关配置文件

 1、/etc/passwd

    在/etc/passwd 中,每一行都表示的是一个用户的信息;一行有7个段位;每个段位用:号分割,比如下面是

我的系统中的/etc/passwd 的两行;

    beinan:x:500:500:beinan sun:/home/beinan:/bin/bash

    linuxsir:x:505:502:linuxsir open,linuxsir office,13898667715:/home/linuxsir:/bin/bash

    beinan:x:500:500:beinan sun:/home/beinan:/bin/bash

    linuxsir:x:501:502::/home/linuxsir:/bin/bash

    第一字段:用户名(也被称为登录名);在上面的例子中,我们看到这两个用户的用户名分别是 beinan 和linuxsir;

    第二字段:口令;在例子中我们看到的是一个x,其实密码已被映射到/etc/shadow 文件中;

    第三字段:UID ;请参看本文的UID的解说;

    第四字段:GID;请参看本文的GID的解说;

    第五字段:用户名全称,这是可选的,可以不设置,在beinan这个用户中,用户的全称是beinan sun ;而linuxsir 

这个用户是没有设置全称;

    第六字段:用户的家目录所在位置;beinan 这个用户是/home/beinan ,而linuxsir 这个用户是/home/linuxsir ;

    第七字段:用户所用SHELL 的类型,beinan和linuxsir 都用的是 bash ;所以设置为/bin/bash ;

 2、/etc/shadow

    /etc/shadow 的内容分析;

    /etc/shadow 文件的内容包括9个段位,每个段位之间用:号分割;我们以如下的例子说明;

    root:$6$gFokRPqvkR6xYILo$jj96SnqDa8R0MCoDbRRRntFzvPhRIWfiepMsnY3KKf8oKmPKnah0PdQVvTN5clkhn9nDBrlC0widkPHjG7ADp.:16968:0:99999:7:::

    linuxsir:$1$IPDvUhXP$8R6J/VtPXvLyXxhLWPrnt/:13072:0:99999:7::13108:

    第一字段:用户名(也被称为登录名),在/etc/shadow中,用户名和/etc/passwd 是相同的,这样就把passwd 和shadow中

用的用户记录联系在一起;这个字段是非空的;

    第二字段:密码(已被加密)$6 表示加密类型  $gFokRPqvkR6xYILo$表示“盐”

    加“盐”后及时两个用户使用相同密码加密后密文也不相同 系统默认“盐”为系统时间。

    第三字段:上次修改口令的时间;这个时间是从1970年01月01日算起到最近一次修改口令的时间间隔(天数),您可以通过passwd 来

修改用户的密码,然后查看/etc/shadow中此字段的变化;

    第四字段:两次修改口令间隔最少的天数;如果设置为0,则禁用此功能;也就是说用户必须经过多少天才能修改其口令;此项功能用

处不是太大;默认值是通过/etc/login.defs文件定义中获取,PASS_MIN_DAYS 中有定义;

    第五字段:两次修改口令间隔最多的天数;这个能增强管理员管理用户口令的时效性,应该说在增强了系统的安全性;如果是系统默

认值,是在添加用户时由/etc/login.defs文件定义中获取,在PASS_MAX_DAYS 中定义;

    第六字段:提前多少天警告用户口令将过期;当用户登录系统后,系统登录程序提醒用户口令将要作废;如果是系统默认值,是在添

加用户时由/etc/login.defs文件定义中获取,在PASS_WARN_AGE 中定义;

    第七字段:在口令过期之后多少天禁用此用户;此字段表示用户口令作废多少天后,系统会禁用此用户,也就是说系统会不能再让此用

户登录,也不会提示用户过期,是完全禁用;

    第八字段:用户过期日期;此字段指定了用户作废的天数(从1970年的1月1日开始的天数),如果这个字段的值为空,帐号永久可用;

    第九字段:保留字段,目前为空,以备将来Linux发展之用;如果更为详细的,请用 man shadow来查看帮助,您会得到更为详尽的资料;

 3、/etc/group

        /etc/group 文件是用户组的配置文件,内容包括用户和用户组,并且能显示出用户是归属哪个用户组或哪几个用户组,

   因为一个用户可以归属一个或多个不同的用户组;同一用户组的用户之间具有相似的特征。比如我们把某一用户加入到root用户组,那么

   这个用户就可以浏览root用户家目录的文件,如果root用户把某个文件的读写执行权限开放,root用户组的所有用户都可以修改此文件,

   如果是可执行的文件(比如脚本),root用户组的用户也是可以执行的;用户组的特性在系统管理中为系统管理员提供了极大的方便,

   但安全性也是值得关注的,如某个用户下有对系统管理有最重要的内容,最好让用户拥有独立的用户组,或者是把用户下的文件的权限

   设置为完全私有;另外root用户组一般不要轻易把普通用户加入进去.

 3.1  /etc/group 内容具体分析

    /etc/group 的内容包括用户组(Group)、用户组口令、GID及该用户组所包含的用户(User),

每个用户组一条记录;格式如下:

       group_name:passwd:GID:user_list在/etc/group 中的每条记录分四个字段:

    第一字段:用户组名称;

    第二字段:用户组密码;

    第三字段:GID

    第四字段:用户列表,每个用户之间用,号分割;本字段可以为空;如果字段为空表示用户组为GID的

用户名;我们举个例子:

      root:x:0:root,linuxsir   注:用户组root,x是密码段,表示没有设置密码,GID

   是0,root用户组下包括root、linuxsir以及GID为0的其它用户(可以通过/etc/passwd查看);

 4、/etc/gshadow 解说

    /etc/gshadow是/etc/group的加密资讯文件,比如用户组(Group)管理密码就是存放在这个文件。/etc/gshadow

和/etc/group是互补的两个文件;对于大型服务器,针对很多用户和组,定制一些关系结构比较复杂的权限模型,设置用

户组密码是极有必要的。比如我们不想让一些非用户组成员永久拥有用户组的权限和特性,这时我们可以通过密码验证的

方式来让某些用户临时拥有一些用户组特性,这时就要用到用户组密码; /etc/gshadow 格式如下,每个用户组独占一行;

    groupname:password:admin,admin,…:member,member,…

    第一字段:用户组

    第二字段:用户组密码,这个段可以是空的或!,如果是空的或有!,表示没有密码;

    第三字段:用户组管理者这个字段也可为空,如果有多个用户组管理者,用,号分割;

    第四字段:组成员,如果有多个成员,用,号分割;

    举例:

    beinan:!::linuxsir

    linuxsir:oUS/q7NH75RhQ::linuxsir

    第一字段:这个例子中,有两个用户组beinan用linuxsir

    第二字段:用户组的密码,beinan用户组无密码;linuxsir用户组有已经,已经加密;

    第三字段:用户组管理者,两者都为空;

    第四字段:beinan用户组所拥有的成员是linuxsir ,然后还要对照一下/etc/group和/etc/passwd 查看是否还有其它

用户,一般默认添加的用户,有时同时也会创建用户组和用户名同名称;

 

 

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

(0)
秋季秋季
上一篇 2016-10-24
下一篇 2016-10-24

相关推荐

  • httpd——事务

    http协议: http/0.9 ,http/1.0 ,http/1.1 ,http/2.0 http协议:stateless          服务器无法持续追踪访问者来源          &nb…

    Linux干货 2016-10-12
  • 不作死就不会死,运维的危险命令(2)

    命令是一种很有趣且有用的东西,但在你不知道会带来什么后果的时候,它又会显得非常危险。所以,在输入某些命令前,请多多检查再敲回车。

    2017-12-03
  • GDB中应该知道的几个调试方法

    七、八年前写过一篇《用GDB调试程序》,于是,从那以后,很多朋友在MSN上以及给我发邮件询问我关于GDB的问题,一直到今天,还有人在问GDB的相关问题。这么多年来,有一些问题是大家反复在问的,一方面,我觉得我以前的文章可能没有说清楚,另一方面,我觉得大家常问的问题正是最有用的,所以,在这里罗列出来。希望大家补充。 一、多线程调试 多线程调试可能是问得最多的。…

    Linux干货 2016-07-11
  • bash脚本基础

    一,概述 shell脚本 程序:指令+数据 程序编程风格: 过程式:以指令为中心,数据服务于指令 对象式:以数据为中心,指令服务于数据 shell程序:提供了编程能力,解释执行 编程逻辑处理方式: 顺序执行 循环执行 选择执行 shell编程:过程式、解释执行 编程语言的基本结构: 数据存储:变量、数组 表达式: a + b 语句:if shell脚本是包含…

    Linux干货 2016-08-19
  • shell脚本编写-3

    1、for循环 for 变量名 in  列表;do 循环体 done 执行机制:依次将列表中元素赋值给“变量名”;每次赋值后即执一次循环体;直到列表中元素耗尽循环结束 列表生成方式: (1) 直接给出列表 (2) 整数列表: (a){start..end} (b) $(seq [start [step]] end)  (3) 返回列表的命…

    Linux干货 2016-08-18
  • 文件编辑之神器Sed

    pattern space   //  文本中每行内容都会进入到pattern space中, 如果匹配到了,就会进入到右分支, 如果没有匹配到,则进入左分支。 hold space  //  就是已经被模式匹配到, 并且编辑后保存的内容就是hold space 中. 默认情况下,当没有被匹配之后,没有匹配到…

    Linux干货 2016-08-15