首页 > 代码库 > Linux用户及用户组管理

Linux用户及用户组管理

  Linux是个优秀的多用户多任务操作系统。

  掌握Linux的用户/用户组管理是基本及必备技能之一。

  简单做下总结。

 

  无论采用图形界面的用户管理设置,还是终端的管理方式,最终目的都是对系统的用户/用户组配置文件进行修改。

  因此,这里我们将采用直接修改相关配置文件的方式对 用户/用户组 进行管理。

  

  首先,我们必须搞清楚,系统是如何加载 用户/用户组 相关配置信息的呢?

  对Linux系统文件结构有所认识的朋友肯定清楚,/etc/ 目录下集中存放着Linux的配置文件,这里我们不多说,集中关注本节的核心, 用户/用户组 的管理配置文件也是存在在这里的。是哪几个文件呢?

  /etc/passwd  &  /etc/shadow  --  这两个便是用户信息的相关配置文件;

  /etc/group  &  /etc/gshadow  --  这两个是用户组信息的相关配置文件;

  passwd 和 group 存放了 基本的记录信息,这里的信息都是明文记录的,但是密码是不能这样子给显示出来的,所以像密码这类信息就被通过处理投射到了  shadow 和 gshadow 文件中。因此,我们就是要修改这四个文件来实现管理功能。

  

  用户/用户组的管理也不例外于增删改查这几项。在这里,就不对文件内的记录格式做详细介绍了。干起来~~~

  查,没啥好说的,用vi打开,肉眼看也行,(:/)搜索也行,找自己需要的记录就是了。

  增,是从无到有,管理需要的节操这里都会接触到。按照约束,我们添加新的记录。

    1.用户管理,vi passwd ,格式为 --  用户名:x:uid:gid::home路径:/bin/bash

    2.第二个字段的x就是表示有密码的意思,但是已经提过,密码不在这个文件设置,我们将对该文件做投射处理,终端执行pwconv,shadow将会生成一条对应该用户名的记录。

    3.用户组管理,vi group , 格式为 --  用户组名:x:gid:user_list

      user_list就是该用户组包含的用户集合,多个用户间用逗号隔开。以后修改用户组信息,为该用户组添加删除用户都是从这里下手。

    4.对 group 进行投射管理,终端 执行 grpconv ,在 gshadow 中也会对应生成该用户组的记录。

    5.为新用户添加基本的系统配置文件。前提是为新用户按照配置的home路径准备好其home目录,然后将/etc/skel/下的隐藏文件都复制到其home目录下。

    6.将其home目录的归属者修改为配置文件中配置的用户和用户组。

  ok,大功初成。激活新用户,终端执行passwd 用户名,为其设置密码即可。

  在以上设置中需要注意的就是root用户组操作要谨慎,不要添加普通用户。uid,系统一般会预留空间,普通用户一般设在1000~60000之间即可,gid同样也是,而且不要重复。在添加过程中,要注意查看,为其设置的uid,gid是否已经使用,以便做合理修改。

  既然会添加了,那么改自然更加轻松。

  删除操作,从passwd和shadow删除,并将其对应的group内的user_list内删除即可。

 

  这是笔者自己的总结文章,所以中间会有些内容简略些,如果有不妥之处还请不吝赐教,给予指正。若有朋友需要帮助,可以随时留言或发送邮件sdauzdhly@126.com,笔者将尽可能的及时给予回复。