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

用户和组相关的配置文件


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 09:09
下一篇 2016-10-24 09:09

相关推荐

  • 网络N23期第四周grep

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@localhost ~]# cp -R /etc/skel /home/tuser1 && chmod g-r,o-r /home/tuser1 [root@localhost ~]# ls -l…

    系统运维 2016-12-05
  • Linux的发行版及哲学思想

    Linux是一套免费使用和自由传播的类Unix系统,是一个基于Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的工具软件、应用程序和网络协议。它支持32位和64位硬件,是一个性能稳定的多用户网络操作系统。严格来讲,Linux这个词本身只表示Linux内核,联合GNU 组织里的各种强大的应用软件而组成的操作系统。 从Linux的诞生至今,…

    Linux干货 2016-10-30
  • Linux文件系统:从inode理解软链接与硬链接

    什么是inode? 在Linux磁盘存储文件系统中,我们以块划分磁盘为两部分:超级块(superblock)和数据块(data block);同时划分单文件为用户数据(user data)和元数据(meta data)两个部分。 用户数据记录的是文件的真实内容。比如你的血液、骨骼和各器官等等。 元数据这是附加于文件的属性信息。比如身高、体重、血型和年龄等等。…

    Linux干货 2016-08-07
  • 文本三剑客—sed 基础

    文本三剑客—sed 基础        sed编辑器被称作流编辑器(stream editor),和普通的交互式文本编辑器恰好相反。在交互式文本编辑器中(比如vim),你可以用键盘命令来交互式的插入、删除或者替换数据中的文本。流编辑器则会自爱编辑器处理数据之前基于预习提供的一组…

    Linux干货 2017-05-15
  • 数据库基础知识

    关系模型:结构化数据模型实体-关系模型对象关系模型:基于对象的数据模型半结构化数据模型:XML(扩展标记语言) SQL:Structure Query Language结构化查询语言DML:数据操作语言INSERT DELETE SELECT UPDATEDDL:数据定义语言CREATE DROP ALTERDCL: 数据控制语言GRANT REVOKE R…

    Linux干货 2017-09-25
  • 用户及权限管理

    新建用户用到的相关文件/etc/default/useradd /etc/login.defs /etc/skel/* 批量创建用户1.创建用户列表user.txt(文件格式同/etc/passwd) 2.newusers user.txt 3.创建密码文件passwd.txt(格式  用户名:密码) 4.cat passwd.txt | chpa…

    Linux干货 2016-08-11