日期:2014-05-16  浏览次数:20607 次

Linux useradd与用户管理相关的配置文件
http://os.51cto.com ?2010-03-01 10:14 ?佚名 ?CSDN ?我要评论( <script src="http://www.51cto.com/php/getArtCount.php?artid=185548&amp;type=all"></script> 1 )
  • 摘要: 添加用户工具有Linux useradd和adduser ,这两个工具所达到的目的都是一样的,在Fedora 发行版中,Linux useradd 和adduser 用法是一样的;但在slackware发行版本中,adduser和Linux useradd 还是有所不同,表现为adduser 是以人机交互的提问的方式来添加用户。
  • 标签: Linux useradd
  • <script src="http://www.51cto.com/js/article/keywords_ad.js"></script>
    Oracle帮您准确洞察各个物流 环节

Linux useradd已被广泛应用但是也在不断的更新,这里介绍Linux useradd安装设置使用,帮助大家安装更新Linux useradd系统Linux是一个多用户的操作系统,她有完美的用户管理工具,这些工具包括用户的查询、添加、修改,以及用户之间相互切换的工具等;通 过这些工具,我们能安全、轻松的完成用户管理;

在这里我们要引入用户控制工具的概念,比如对用户添加的useradd或adduser ,对用户删除的 userdel ,与修改用户相关信息的 usermod、chfn、chsh ,还有密码设置工具passwd 等等;这些工具只所以被称为用户控制工具,理由是她们是控制和管理用户的工具。

一、Linux useradd与用户管理相关的配置文件;

1、/etc/passwd 和/etc/groups我们对用户和用户组进行添加、修改、删除最终目的是修改系统用户 /etc/passwd和其加密资讯文件 /etc/shadows 以及用户组的 /etc/groups和其加密资讯文件/etc/gshadow。

所以对用户和用户组的添加并不仅仅是只能通过用户添加、修改、删除等用户控制工具来完成,我们还能直接修改与用户和用户组相应的配置文件来达到目 的。在 《用户(user)和用户组(group)配置文件详解》一文中,我有谈过通过修改用户及用户组配置文件的办法来添加、删除、修改用户,进而达到对系统用 户的管理;

参考文档:《Linux 用户(user)和用户组(group)管理概述》《用户(user)和用户组(group)配置文件详解》

2、超级权限控制sudo 的配置文件 /etc/sudoers ;参考文档: 《Linux 系统中的超级权限的控制》

3、添加用户规则文件 /etc/login.defs 和 /etc/default/useradd参考文档:《Linux 用户(user)和用户组(group)管理概述》

二、添加用户工具和方法;

添加用户工具有Linux useradd和adduser ,这两个工具所达到的目的都是一样的,在Fedora 发行版中,Linux useradd 和adduser 用法是一样的;但在slackware发行版本中,adduser和Linux useradd 还是有所不同,表现为adduser 是以人机交互的提问的方式来添加用户;

除了useradd和adduser工具以外,我们还能通过修改用户配置文件/etc/passwd和/etc/groups的办法来实现;当然我 们也不要忽略一些发行版独有用户管理工具,比如Fedora 中有 system-config-users 工具;这个工具比较简单,点几下鼠标就能完成;

1、useradd 工具;useradd 不加参数选项时,后面直接跟所添加的用户名时,系统时读取添加用户配置文件/etc/login.defs和/etc/default/useradd文 件,然后读取/etc/login.defs和/etc/default/useradd中所定义的规则添加用户;

并向/etc/passwd和/etc/groups文件添加用户和用户组记录;当然/etc/passwd和/etc/groups的加密资讯文 件也同步生成记录;同时发生的还有系统会自动在/etc/add/default中所约定的目录中建用户的家目录,并复制/etc/skel中的文件(包 括隐藏文件)到新用户的家目录中;

Linux useradd 的语法:

  1. usage:?useradd[-u?uid?[-o]]?[-g?group]?[-G?group,...] ?
  2. [-d?home]?[-s?shell]?[-c?comment]?[-m?[-k?template]] ?
  3. [-f?inactive]?[-e?expire?]?[-p?passwd]?name ?
  4. useradd-D?[-g?group]?[-b?base]?[-s?shell] ?
  5. [-f?inactive]?[-e?expire?]?

当我们执行Linux useradd用户名 来添加用户时,我们会发现一个比较有意思的现象,新添中的用户的家目录总是被自动添加到 /home目录下,我们先举个例子;

实例一:不加任何参数,直接添加用户;

  1. [root@localhost?beinan]#?useraddbeinanlinux ?
  2. [root@localhost?beinan]#?ls?-ld?/home/beinanlinux/ ?
  3. drwxr-xr-x3?beinanlinux?beinanlinux?4096?11月2?15:20?/home/beinanlinux/??

在这个例子中,我们添加了beinanlinux用户,我们在查看/home/目录时,会发现系统自建了一个beinanlinux的目录;我们再 来查看 /etc/passwd 文件有关beinanlinux的记录,也会有新发现;我们通过more 来读取 /etc/passwd 文件,并且通过grep 来抽取 beinanlinux字段,得出如下一行;

  1. [root@localhost?beinan]#?more?/etc/passwd?|?grep?beinanlinux ?
  2. beinanlinux:x:509:509::/home/beinanlinux:/bin/bash?

从得出的beinanlinux的记录来看,以adduser 工具添加beinanlinux用户时,设置用户的UID和GID分别为509 ,并且把beinanlinux的家目录设置在 /home/beinanlinux ,所有的SHELL是 bash ; 我们再来看看 /etc/shadow、/etc/groups和/etc/gshadow 文件。

是不是也有与beinanlinux有关的行;我们还要查看/etc/default/useradd 和/etc/login.defs文件的规则,看一下beinanlinux用户的增加是不是和这两个配置文件有关;我们还要查看 /home/beinanlinux目录下的文件,是不是和/etc/skel目录中的一样;

由此我们引出我们下面所要谈的内容: Linux usera