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,笔者将尽可能的及时给予回复。

Linux用户及用户组管理的更多相关文章

  1. Linux 用户和用户组管理

    Linux 用户和用户组管理 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统. 用户的账号一方面可以帮助 ...

  2. 八、Linux 用户和用户组管理

    Linux 用户和用户组管理 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统. 用户的账号一方面可以帮助 ...

  3. linux用户和用户组管理详解

    Linux 用户和用户组管理 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统. 用户的账号一方面可以帮助 ...

  4. Linux 用户和用户组管理(useradd userdel groupadd groupdel)

    Linux 用户和用户组管理 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统. Linux系统用户账户的 ...

  5. Linux用户和用户组管理总结

    Linux下和用户和用户组管理有关的配置文件: /etc/group Group account information. /etc/gshadow Secure group account info ...

  6. Linux 笔记 - 第五章 Linux 用户与用户组管理

    博客地址:http://www.moonxy.com Linux 是一个多用户的操作系统,在日常的使用中,从安全角度考虑,应该尽量避免直接使用 root 用户登录,而使用普通用户. 1. 关于用户 u ...

  7. Linux系列教程(十五)——Linux用户和用户组管理之用户管理命令

    上篇博客我们介绍了用户管理的相关配置文件,包括用户信息文件/etc/passwd,用户密码文件/etc/shadow:然后介绍了用户组信息文件/etc/group,用户组密码文件/etc/gshado ...

  8. Linux系列教程(十四)——Linux用户和用户组管理之相关配置文件

    前面我们介绍了软件包管理.首先介绍了rpm包的相关命令,但是我们发现直接安装rpm包会被其依赖性折磨的不行,然后解决办法是yum在线管理,通过yum命令安装rpm包能自动帮助我们解决依赖性.最后又介绍 ...

  9. Linux用户和用户组管理

    该内容来摘自于鸟叔的Linux私房菜. Linux的每个用户包含两个ID,一个是用户ID,一个是用户组ID.系统会根据/etc/passwd和/etc/group的设定来决定用户的访问权限.下面对用户 ...

随机推荐

  1. 跨平台的C++应用和UI开发库 QT

    跨平台的C++应用和UI开发库 QT 运行环境: 授权方式:BSD 软件大小:M 下载量:3912 更新日期:2012-04-05 来源地址: 联系作者:Linux     Qt是诺基亚开发的一个跨平 ...

  2. rageagainstthecage 源代码

    //头文件包含 #include <stdio.h> #include <sys/types.h> #include <sys/time.h> #include & ...

  3. kindeditor更改图片上传时网络图片的路径

    当我们想要使用kindeditor的图片上传功能时,有两种选择图片方式,一种是本地选择,一种是在图片空间中选择,图片空间的默认地址是server上的/kindeditor/attached/image ...

  4. Exception Handling in ASP.NET Web API

    public static void RegisterGlobalFilters(GlobalFilterCollection filters) { filters.Add(new HandleErr ...

  5. SqlServer之表变量和临时表

    表变量: 表变量创建的语法类似于临时表,区别就在于创建的时候,必须要为之命名.表变量是变量的一种, 表变量也分为本地及全局的两种,本地表变量的名称都是以"@"为前缀,只有在本地当前 ...

  6. OC 实现多选参数

    在iOS的开发过程中有许多方法都是有可选参数的,例如: + (instancetype)arrayWithObjects:(ObjectType)firstObj, ... NS_REQUIRES_N ...

  7. Linux学习之echo命令

    语法: # echo [Options] [String] 方括号中的项目是可选的.字符串可以定义为字符的有限序列(如字母,数字,符号,标点符号). 当echo命令不带任何选项或字符串使用时,它会在显 ...

  8. php的cURL库介绍

    cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP.FTP.TELNET等.很多小偷程序都是使用这个函数.最爽的是,PHP也支持 cURL 库.本文将介绍 cURL 的 ...

  9. Java编程中提高性能的几点建议

    尽量减少对变量的重复计算 如 for(int i=0;i<list.size();i++) 应该改为 for(int i=0,len=list.size();i<len;i++) 并且在循 ...

  10. Linux下安装QT和OpenGL后QT无法使用OpenGL的解决方法

    我的系统为Ubuntu14.04,用apt-get安装了实现了OpenGl的mesa,QT则是用官网下载的run文件来安装的. 好了,现在两个都分别有了,所以要在qt下尝试写OpenGl代码. 之前试 ...