Linux系统用户相关学习总结

一、用户相关文件说明

  在centos系统中,向系统中添加用户时,涉及到如下文件:

  ·/etc/passwd        用户账号信息保存位置

  ·/etc/shadow        账号密码保存位置

  ·/etc/group         群组信息保存位置

  ·/etc/gshdow        群组密码保存位置

  ·/home/用户名/       用户的家目录,新建用户时创建

  ·/var/spool/mail/用户名   用户的邮箱所在位置,新建用户时,在mail目录下新建与用户名同名的邮件文件

  ·/etc/skel/          用户模板目录(家目录中隐藏文件的模板),创建用户家目录时,会将skel目录下的文件复制到用户家目录中

1、用户信息:/etc/passwd

  在/etc/passwd文件中,每一行代表一个账号信息。每个账号包含7列信息,每列信息用英文冒号“:”分隔。每列信息含义如下:

  Linux系统用户相关学习总结

  说明在centOS7-8版本中,系统用户的UID号:1-999;普通用户的UID号从1000开始,且普通用户的GID号也是从1000开始设置。

2、密码文件:/etc/shadow

  在“/etc/shadow”文件中,每一行代表一个账号的密码信息。每行有9,每列信息之间用英文冒号(:隔开。每列信息(即账号密码参数)含义如下:

  Linux系统用户相关学习总结

  说明(1)、密码过期与密码失效不是同一个概念;(2)、查询系统密码加密方式:authconfig --test | grep hashing

3、组文件:/etc/group

  组文件中,每一行代表一个群组。每行有4列,每列用冒号“:”隔开,形式如下:组名称:组密码:GID:组成员列表

   Linux系统用户相关学习总结

  群组中的相关概念:

  · 初始群组:即initial group。在用户文件(/etc/passwd)中,第4列GID号所代表的群组,

        就是用户的初始群组, 即用户登录系统后,立即拥有初始群组的相关权限。

        每个用户的初始组只能有一个,一般都是将和用户名相同的组作为用户的初始组。

   · 附加组:一个用户除了属于初始组外,还可以加入到其他群组中,即附加组。

       将用户加入到附加组中:即将用户的名称写入到“/etc/group”文件中对应组信息中的第4列里。

   · 有效群组:用户在新建文件或目录时,新文件或目录所设置的那个群组即为有效群组

        当用户在多个群组中(包括与用户同名的群组)时,用户在新建文件或目录默认情况下,

        与用户同名的那个群组为文件的所属组。即有效组为初始群组。

    改变有效群组newgrp命令。newgrp命令作用的是用户会另外以一个shell来提供用户的群组环境,

           退出新环境到原本的shell环境输入exit即可。

           Linux系统用户相关学习总结

   · 查看用户在哪些群组里:使用groups命令(显示结果的第一个群组为有效群组)

4、组密码:/etc/gshadow

  组密码文件中,每一行代表一个群组。每行有4列,每列以冒号“:”隔开。

  Linux系统用户相关学习总结

  说明:若给群组设置组管理员(在/etc/gshadow文件中的第3列添加用户即组管理员),

     并设置了组密码,那么群组密码保存在/etc/gshadow文件中的第2列中。

     组管理员可以利用该密码管理组成员,即组成员的加入和删除。

     使用gpasswd命令设置群组管理员。

二、账号管理

  Linux系统中的账号管理一般包括用户添加修改删除设置密码群组添加删除修改等操作。

1、用户管理

  向系统添加用户时,一般会设置“/etc/passwd”、“/etc/shadow”、“/etc/group”、“/etc/gshadow”文件的内容,

  会在“/home/”目录下新建一个与用户同名的目录为用户的家目录,且该目录的权限为700

  也会在“/var/spool/mail/”目录下新建与用户名同名的邮箱文件。

  (1)、添加用户useradd命令  (2)、修改用户usermod 命令

  (3)、删除用户userdel命令  (4)、设置密码passwd命令、chage命令

A、添加用户:useradd命令

  1)、 useradd命令详解

   Linux系统用户相关学习总结

  2)、 useradd命令创建用户时使用的预设值参考的配置文件如下:

    a、“/etc/default/useradd”文件:可使用“useradd -D”命令查看该文件内容

      Linux系统用户相关学习总结

      私有群组机制:在创建账号时,会建立一个与账号名称同名的群组作为初始群组。

              而且家目录权限设定为700,即仅有自己可进入自己的家目录。

      公共群组机制:以GROUP=100的设定值即users群组为初始群组。而且家目录的权限设定为755,

             即用户间可互相分享家目录内的资源。

       b、“/etc/login.defs”文件

        Linux系统用户相关学习总结

      · 创建普通用户时设置UID:先取得UID_MIN设定值,再获取/etc/passwd文件的最大UID值,

        然后,两者比较并获取它们的最大值,最后,将获取的最大值加1。

      · 创建系统用户的UID设置:与设置普通用户的UID方式类似,将SYS_UID_MIN与/etc/passwd文件

        的系统账号最大值进行比较后,获取二者中最大值,再加1。

   c、“/etc/skel/”目录

    useradd命令创建用户时,会自动将“/etc/skel/”模板目录下的所有文件拷贝到新建用户的家目录下

B、设置密码:passwd命令

  useradd新建账户,默认该新建账户是无法登录的。用passwd命令设置密码后才能登录。

   Linux系统用户相关学习总结

  · 删除用户的密码

    Linux系统用户相关学习总结

  ·“--stdin”选项使用举例:

     Linux系统用户相关学习总结

  ·设置密码的相关原则:

    a、密码不能与账号相同;

    b、密码尽量不要选用字典里面会出现的字符;

    c、密码长度需要超过8个字符

    d、密码不要使用个人信息,如身份证、手机号、其他电话号码等;

    e、密码不要使用简单的关系式,如“1+1=2”,“Iamjack”等;

    f、密码尽量使用大小写字符、数字、特殊字符(“$”,“_”,“-”等)的组合

C、修改密码:chage命令

  chage命令可用于修改“/etc/shadow”文件中密码各个日期的值,root用户使用。

  Linux系统用户相关学习总结

  · chage命令中常用的功能:用户第一次登录时,强制用户一定要更改密码才能使用

    Linux系统用户相关学习总结

D、修改用户:usermod命令

  usermod命令可用于修改与账号相关的信息。如:/etc/passwd文件、/etc/group文件等。

  Linux系统用户相关学习总结

  · 常用的功能:附加组中添加用户,或者说将用户加入某个群组

    Linux系统用户相关学习总结

    注意:该群组在系统中已存在

E、删除用户:userdel命令

  userdel命令的功能是删除用户的相关资料,如

  · 用户账号/密码相关参数:/etc/passwd,/etc/shadow

  · 用户群组相关参数:/etc/group,/etc/gshadow

  · 用户个人档案资料:/home/username,/var/spool/mail/username..

  userdel指令的语法:

   Linux系统用户相关学习总结

  说明一般删除用户时,需要加“-r”选项,将用户家目录一并删除

  注意:在删除用户时,一定先要确认该用户在主机上没有任何有关该用户的资料。

       即先用“find / -user username”命令查找系统中用户的相关资料。

2、普通用户的相关功能

A、id命令

  id命令是用来查询用户自己的相关UID/GID等信息。命令的详细说明如下:

  Linux系统用户相关学习总结

B、chsh命令

  chsh即change shell,用于修改用户自己的shell类型。命令常用功能如下:

  Linux系统用户相关学习总结

C、chfn命令

  chfn命令设置的信息会保存在“/etc/passwd”文件中的第5列中作为用户的说明信息。

  Linux系统用户相关学习总结

三、群组管理

1、新建群组:groupadd命令

  groupadd命令是用于向系统中添加新的群组,即在“/etc/group”和“/etc/gshadow

  文件中添加新的群组。命令的常用功能如下:

  Linux系统用户相关学习总结

2、删除群组:groupdel命令

  groupdel命令用于删除系统中的群组,即删除“/etc/group”和“/etc/gshadow”的组。

  注意:需要删除的群组不是用户的初始群组,即该群组的GID号不在“/etc/passwd”

       文件中的第4列信息中,否则,该群组无法删除。是用户的附加组,删除无影响。

   Linux系统用户相关学习总结

3、修改群组:groupmod命令

  groupmod命令用于修改“/etc/group”中的群组信息的。强烈建立不要随意改动GID号,

  容易造成系统资源的错乱。

  Linux系统用户相关学习总结

4、群组管理工具:gpasswd命令

  gpasswd命令是用来设定群组密码并指定组管理员的,但已很少使用该功能,因为被

  sudo命令取代。所以,gpasswd命令主要用于添加用户到群组中或删除群组中的用户

  即向“/etc/group”和“/etc/gshadow”文件中的第4列(附加组)中添加或删除用户

   Linux系统用户相关学习总结

  · 附加组中添加用户或者说将用户加入某个群组的方法总结:

  方法一

    Linux系统用户相关学习总结

     方法二

    Linux系统用户相关学习总结

上一篇:ubuntu 16.04 安装VNC远程桌面


下一篇:GZIP,Apache,PHP:在成熟网站中我应该知道什么?