⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 linux 用户管理工具介绍 linuxsir_org.htm

📁 linuxSir 网站的精华文章
💻 HTM
📖 第 1 页 / 共 5 页
字号:
        <LI><A href="http://www.linuxsir.org/main/?q=node/106#4.1">1、userdel 
        用法;</A> 
        <LI><A 
        href="http://www.linuxsir.org/main/?q=node/106#4.2">2、groupdel的用法;</A> 
        </LI></UL>
      <P><A 
      href="http://www.linuxsir.org/main/?q=node/106#5"><B>五、修改用户的工具介绍;</B></A></P>
      <UL>
        <LI><A href="http://www.linuxsir.org/main/?q=node/106#5.1">1、chfn 
        修改用户信息工具;</A> 
        <LI><A href="http://www.linuxsir.org/main/?q=node/106#5.2">2、chsh 
        改变用户的SHELL类型;</A> 
        <LI><A href="http://www.linuxsir.org/main/?q=node/106#5.3">3、usermod 
        用户修改工具(极其强大)</A> 
        <LI><A href="http://www.linuxsir.org/main/?q=node/106#5.4">4、userinfo 
        图形介面的修改工具;</A> </LI></UL>
      <P><A 
      href="http://www.linuxsir.org/main/?q=node/106#6"><B>六、后记;</B></A><BR><A 
      href="http://www.linuxsir.org/main/?q=node/106#7"><B>七、关于本文;</B></A><BR><A 
      href="http://www.linuxsir.org/main/?q=node/106#8"><B>八、致谢;</B></A><BR><A 
      href="http://www.linuxsir.org/main/?q=node/106#9"><B>九、参考文档;</B></A><BR><A 
      href="http://www.linuxsir.org/main/?q=node/106#10"><B>十、相关文档;</B></A> </P>
      <P><FONT 
      color=blue><B><BR>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++<BR>正文<BR>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++<BR></B></FONT></P>
      <P>Linux是一个多用户的操作系统,她有完美的用户管理工具,这些工具包括用户的查询、添加、修改,以及用户之间相互切换的工具等;通过这些工具,我们能安全、轻松的完成用户管理;</P>
      <P>在这里我们要引入用户控制工具的概念,比如对用户添加的useradd或adduser ,对用户删除的 userdel ,与修改用户相关信息的 
      usermod、chfn、chsh ,还有密码设置工具passwd 
等等;这些工具只所以被称为用户控制工具,理由是她们是控制和管理用户的工具。</P>
      <P><FONT id=1 size=4><B><BR>一、与用户管理相关的配置文件;<BR></B></FONT><BR><FONT id=1.1 
      size=3><B><BR>1、/etc/passwd 和/etc/groups<BR></B></FONT></P>
      <P>我们对用户和用户组进行添加、修改、删除最终目的是修改系统用户 /etc/passwd和其加密资讯文件 /etc/shadows 以及用户组的 
      /etc/groups和其加密资讯文件/etc/gshadow,所以对用户和用户组的添加并不仅仅是只能通过用户添加、修改、删除等用户控制工具来完成,我们还能直接修改与用户和用户组相应的配置文件来达到目的。在 
      <A 
      href="http://www.linuxsir.org/main/?q=node/98">《用户(user)和用户组(group)配置文件详解》</A>一文中,我有谈过通过修改用户及用户组配置文件的办法来添加、删除、修改用户,进而达到对系统用户的管理;</P>
      <P><B>参考文档:</B></P>
      <P><A href="http://www.linuxsir.org/main/?q=node/91">《Linux 
      用户(user)和用户组(group)管理概述》</A><BR><A 
      href="http://www.linuxsir.org/main/?q=node/98">《用户(user)和用户组(group)配置文件详解》</A></P>
      <P><FONT id=1.2 size=3><B><BR>2、超级权限控制sudo 的配置文件 /etc/sudoers 
      ;<BR></B></FONT></P>
      <P><B>参考文档:</B> <A href="http://www.linuxsir.org/main/?q=node/104">《Linux 
      系统中的超级权限的控制》</A></P>
      <P><FONT id=1.3 size=3><B><BR>3、添加用户规则文件 /etc/login.defs 和 
      /etc/default/useradd<BR></B></FONT></P>
      <P><B>参考文档:</B><A href="http://www.linuxsir.org/main/?q=node/91">《Linux 
      用户(user)和用户组(group)管理概述》</A></P>
      <P><FONT id=2 size=4><B><BR>二、添加用户工具和方法;<BR></B></FONT></P>
      <P>添加用户工具有useradd和adduser ,这两个工具所达到的目的都是一样的,在Fedora 发行版中,useradd 和adduser 
      用法是一样的;但在slackware发行版本中,adduser和useradd 还是有所不同,表现为adduser 
      是以人机交互的提问的方式来添加用户;</P>
      <P>除了useradd和adduser工具以外,我们还能通过修改用户配置文件/etc/passwd和/etc/groups的办法来实现;</P>
      <P>当然我们也不要忽略一些发行版独有用户管理工具,比如Fedora 中有 system-config-users 
      工具;这个工具比较简单,点几下鼠标就能完成;</P>
      <P><FONT id=2.1 size=3><B><BR>1、useradd 工具;<BR></B></FONT></P>
      <P>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中的文件(包括隐藏文件)到新用户的家目录中;</P>
      <P>useradd 的语法:<BR>
      <DIV class=codeblock><CODE>usage: useradd [-u uid [-o]] [-g group] [-G 
      group,...]<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[-d 
      home] [-s shell] [-c comment] [-m [-k 
      template]]<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[-f 
      inactive] [-e expire ] [-p passwd] 
      name<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;useradd -D [-g group] 
      [-b base] [-s 
      shell]<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[-f 
      inactive] [-e expire ]</CODE></DIV>
      <P></P>
      <P>当我们执行<B>useradd 用户名</B> 来添加用户时,我们会发现一个比较有意思的现象,新添中的用户的家目录总是被自动添加到 
      /home目录下,我们先举个例子;</P>
      <P>实例一:不加任何参数,直接添加用户;</P>
      <P>
      <DIV class=codeblock><CODE>[root@localhost beinan]# useradd 
      beinanlinux<BR>[root@localhost beinan]# ls -ld 
      /home/beinanlinux/<BR>drwxr-xr-x 3 beinanlinux beinanlinux 4096 11月 2 
      15:20 /home/beinanlinux/</CODE></DIV>
      <P></P>
      <P>在这个例子中,我们添加了beinanlinux用户,我们在查看/home/目录时,会发现系统自建了一个beinanlinux的目录;</P>
      <P>我们再来查看 /etc/passwd 文件有关beinanlinux的记录,也会有新发现;我们通过more 来读取 /etc/passwd 
      文件,并且通过grep 来抽取 beinanlinux字段,得出如下一行;</P>
      <P>
      <DIV class=codeblock><CODE>[root@localhost beinan]# more /etc/passwd | 
      grep 
      beinanlinux<BR>beinanlinux:x:509:509::/home/beinanlinux:/bin/bash</CODE></DIV>
      <P></P>
      <P>从得出的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目录中的一样;</P>
      <P>由此我们引出我们下面所要谈的内容: </P>
      <P>useradd -D [-g group] [-b base] [-s shell] [-f inactive] [-e expire 
      ]</P>
      <P><FONT id=2.11 size=3><B><BR>1)/etc/default/useradd 
      配置文件的定义;<BR></B></FONT><BR>useradd -D [-g group] [-b base] [-s shell] [-f 
      inactive] [-e expire ] </P>
      <P>useradd 加-D参数后,就是用来改变配置文件 /etc/default/useradd的;<BR><B><BR>useradd -D 
      [-g group] [-b base] [-s shell] [-f inactive] [-e expire ]<BR></B><BR>
      <DIV 
      class=codeblock><CODE>&nbsp;&nbsp;&nbsp;&nbsp;当-D选项出现时,useradd秀出现在的预设值,或是藉由命令列的方式更新预设值。可用选项为∶<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-b 
      default_home 
      注:定义用户所属目录的前一个目录。用户名称会附加在default_home后面用来建立新用户的目录。当然使用-d后则此选项无效。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-e 
      default_expire_date 
      注:用户帐号停止日期。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-f 
      default_inactive 
      注:帐号过期几日后停权。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-g default_group 
      注:新帐号起始用户组名或ID。用户组名须为现有存在的名称。用户组ID也须为现有存在的用户组。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-s 
      default_shell 
      注:用户登入后使用的shell名称。往后新加入的帐号都将使用此shell.<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如不指定任何参数,useradd显示目前预设的值。</CODE></DIV>
      <P></P>
      <P>实例二:<BR>useradd -D 如不指定任何参数,useradd显示目前预设的值;</P>
      <P>
      <DIV class=codeblock><CODE>[root@localhost beinan]# useradd 
      -D<BR>GROUP=100<BR>HOME=/home<BR>INACTIVE=-1<BR>EXPIRE=<BR>SHELL=/bin/bash<BR>SKEL=/etc/skel<BR>CREATE_MAIL_SPOOL=no</CODE></DIV>
      <P></P>
      <P>我们看一下/etc/default/useradd 
      文件就明白了,应该和上面的输出是一样的;所以如果我们想改变useradd配置文件/etc/default/adduser 
      的内容,也可以用编辑器直接操作,如果你会用vi编辑器或者其它编辑器的话,这个应该不成问题吧;<BR><B><BR>实例三:<BR></B><BR>我想把添加用户时的默认SHELL 
      /bin/bash 改为 /bin/tcsh ,则应该用下面的命令;</P>
      <P>
      <DIV class=codeblock><CODE>[root@localhost beinan]# useradd -D -s 
      /bin/tcsh 注:把添加用户时的SHELL 改为tcsh ;<BR>[root@localhost beinan]# more 
      /etc/default/useradd 注:查看是否成功;<BR># useradd defaults 
      file<BR>GROUP=100<BR>HOME=/home<BR>INACTIVE=-1<BR>EXPIRE=<BR>SHELL=/bin/tcsh 
      注:成功;<BR>SKEL=/etc/skel<BR>CREATE_MAIL_SPOOL=no</CODE></DIV>
      <P></P>
      <P>这个-D参数的解说就这样了,也是比较简单,如果不会用命令,直接改参数配置文件总会吧;Linux解决问题是极为灵活的,就看我们怎么解决了,对不对?<BR><FONT 
      id=2.12 size=3><B><BR>2)useradd 添加用户;<BR></B></FONT></P>
      <P>
      <DIV class=codeblock><CODE>useradd [-u uid [-o]] [-g group] [-G 
      group,...]<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[-d 
      home] [-s shell] [-c comment] [-m [-k 
      template]]<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[-f 
      inactive] [-e expire ] [-p passwd] name</CODE></DIV>
      <P></P>
      <P>新帐号建立,当不加-D参数,useradd指令使用命令列来指定新帐号的设定值and使用系统上的预设值.新用户帐号将产生一些系统档案,用户目录建立,拷备起始档案等,这些均可以利用命令列选项指定。此版本为RedHat 
      Linux提供,可帮每个新加入的用户建立个别的group,毋须添加-n选项。</P>
      <P>
      <DIV class=codeblock><CODE>useradd 
      可使用的选项为<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-c comment 注:新帐号 
      password 档的说明栏 。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-d home_dir 
      注:新帐号每次登入时所使用的home_dir。预设值为default_home内login名称,并当成登入时目录名称。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-e 
      expire_date 
      注:帐号终止日期。日期的指定格式为MM/DD/YY。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-f 
      inactive_days 
      注:帐号过期几日后永久停权。当值为0时帐号则立刻被停权。而当值为-1时则关闭此功能,预设值为-1<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-g 
      initial_group 
      注:group名称或以数字来做为用户登入起始用户组(group)。用户组名须为现有存在的名称。用户组数字也须为现有存在的用户组。预设的用户组数字为1。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-G 
      group,[...]<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注:定义此用户为此一堆groups的成员。每个用户组使用","区格开来,不可以夹杂空白字元。用户组名同-g选项的限制。定义值为用户的起始用户组。。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-m 
      注: 
      用户目录如不存在则自动建立。如使用-k选项skeleton_dir内的档案将复制至用户目录下。然而在/etc/skel目录下的档案也会复制过去取代。任何在skeleton_dir 
      or 
      /etc/skel的目录也相同会在用户目录下一一建立。The-k同-m不建立目录以及不复制任何档案为预设值。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-M 
      不建立用户目录,即使/etc/login.defs系统档设定要建立用户目录。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-n 
      预设值用户用户组与用户名称会相同。此选项将取消此预设值。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-r 
      此参数是用来建立系统帐号。系统帐号的UID会比定义在系统档上/etc/login.defs.的UID_MIN来的小。注意useradd此用法所建立的帐号不会建立用户目录,也不会在乎纪录在/etc/login.defs.的定义值。如果你想要有用户目录须额外指定-m参数来建立系统帐号。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-s 
      shell 
      注:用户登入后使用的shell名称。预设为不填写,这样系统会帮你指定预设的登入shell。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-u 
      uid 
      uid用户的ID值。必须为唯一的ID值,除非用-o选项。数字不可为负值。预设为以/etc/login.defs中的UID_MIN的值为准,0到UID_MIN的值之间,为系统保留的UID 
      ;</CODE></DIV>
      <P></P>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -