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. Sass使用教程

    sass官网: http://sass-lang.com/ http://sass-lang.com/documentation/file.SASS_REFERENCE.html Sass和Scss的 ...

  2. 使用jpeglib库实现bmp转jpg

    一.vc编译jpeglib库 1.下载源代码 下载地址:http://www.ijg.org/.注意:一定要下载win32 版本 2.编译源代码. A.解压源代码,修改源代码中jconfig.vc为j ...

  3. poj1503---大数加法

    先讲一种错误的做法:WA了n次,大神一定帮我看一下//看到有说数组大小开到250,我改了之后还是不//思路是将arr这个数组的每一行附上输入的值,然后求每列所有数之和,当然进位 //maxlen记录这 ...

  4. MFC CWnd仿按钮

    CBtn::CBtn() { RegisterWndClass(); } bool CBtn::RegisterWndClass(void) { WNDCLASS n; HINSTANCE hInst ...

  5. C#获取单个字符的拼音声母

    public class ConvertToPinYing     {         /// <summary>         /// 汉字转拼音缩写         /// < ...

  6. UBUNTU 下如何升级 gcc, g++

    正如大家所知道的GCC并不支持"make uninstall". 一种推荐安装方式就是把GCC 安装在你自己指定的一个路径,当你不须要某个GCC版本号的时候你仅仅须要移除相应版本号 ...

  7. 纯CSS3实现自定义涂鸦风格的边框

    今天我们要来分享一款基于纯CSS3的自定义边框应用,看上去它像一个Tooltip控件,因为下边框有一个小三角,就像很多地方的引用文本框一样.另外这款CSS3边框是涂鸦风格的,看起来很有个性.用CSS3 ...

  8. Windows消息传递函数SendMessage参数属性

    Windows消息传递函数SendMessage参数属性 转载于:http://www.cr173.com/html/5605_1.html Windows是一个消息驱动式系统,SendMessage ...

  9. XCode常用快捷键(转)

    刚开始用Xcode是不是发现以前熟悉的开发环境的快捷键都不能用了?怎么快捷运行,停止,编辑等等.都不一样了.快速的掌握这些快捷键,能提供开发的效率. 其实快捷键在Xcode的工具栏里都标注有,只是有的 ...

  10. vs2010:【“System.Data.OracleClient.OracleConnection”已过时】警告

    在oracle 安装目录下 找到 Oracle.DataAccess.dll添加引用,然后 using Oracle.DataAccess.Client;其他的都不用动,即可.连接字符串中 如有 用的 ...