首页 > 代码库 > 用户和组命令及相关配置文件

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

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


目录

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

      1、useradd 帐号建立

      2、usermod 用户属性更改

      3、Passwd

      4、userdel 

      6、chfn.

      7、Chsh

      8、finger

      9、groupadd

      10、Groupdel 

      11、groupmod

      12、gpasswd

      13、Id

      14、groups. 4

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

      1、/etc/passwd

      2、/etc/shadow

      3、/etc/group. 5

      3.1 /etc/group 内容具体分析

      4、/etc/gshadow 解说

 

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

   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://lxlxlx.blog.51cto.com/3363989/1864816

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