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

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

📁 linuxSir 网站的精华文章
💻 HTM
📖 第 1 页 / 共 5 页
字号:
      <P>useradd 
      这么多的参数看上去头有点晕,我们如何用呢??其实很简单;一个参数一个参数的试一试不就明白了??这是最好的学习方法。实践是检验真理的唯一标准;</P>
      <P>如果useradd 后面直接跟用户名,不加任何参数,表示添加用户时按事先/etc/default/adduser 
      和/etc/login.defs 添加新用户的配置文件的规则来添加用户;其实我们为了方便,也可以把这两个文件修改以适合我们添加用户需要;</P>
      <P>useradd 为什么还需要那么多的参数呢?</P>
      <P>原因很简单,主要是为了管理员方便管理用户。useradd 是灵活的,可以跳过/dev/default/adduser 
      和/etc/login.defs 两个配置文件中的规则来自定义添加用户;比如在用户的家目录,在/etc/default/adduser 
      中可能定义在/home目录下建立,如果我们的机器/home独立占一个分区,并且有点紧张,但我们又不想改变/etc/default/adduser 
      关于家目录的定义,这里我们就可以通过 adduser -d 参数把新增用户家目录定义到空间比较空闭的分区;</P>
      <P>通过下面的几个例子,可能有助于我们理解useradd ,其实很简单~,学习也是这样,先从简单的入手,一步一步的走过来,没有什么难的~~</P>
      <P><B>实例四:</B>以/etc/logins.defs和/etc/default/adduser 默认的规则添加用户;</P>
      <P>
      <DIV class=codeblock><CODE>[root@localhost ~]# useradd 
longcpu</CODE></DIV>
      <P></P>
      <P>注解:如果useradd 后面直接用户名,表示系统读取 /etc/login.defs和/etc/default/adduser 
      配置文件,根本这两个配置文件所定义的规则来添加用户,比如用户的家目录哪里,用什么SHELL,UID和GID的分配... ... 
      查看/etc/passwd的新增记录,然后根据 /etc/login.defs和/etc/default/adduser 
      查看新增用户是否符合这两个配置文件所约定的规则;</P>
      <P><B>实例五:</B>练习参数的使用;</P>
      <P>
      <DIV class=codeblock><CODE>[root@localhost ~]# useradd -c ChinaCpu longcpu 
      注:添加一个新用户amdcpu ,使用参数-c;<BR>[root@localhost ~]# more /etc/passwd |grep 
      longcpu 注:查看/etc/passwd 
      文件,并抽取longcpu的记录;<BR>longcpu:x:510:510:ChinaCpu:/home/longcpu:/bin/bash</CODE></DIV>
      <P></P>
      <P>注:看上去是已经有amdcpu用户了;x是密码段;UID和GID 都是510,ChinaCpu表示是什么意思? 
      家目录位于/home/amdcpu,SHELL是bash ;</P>
      <P></CODE><BR>[root@localhost ~]# finger longcpu 注:我们查询一下amdcpu 
      用户的信息;<BR>Login: longcpu Name: ChinaCpu 注:-c ChinaCpu 
      表示用户真实的名字或全名;<BR>Directory: /home/longcpu Shell: /bin/bash<BR>Never logged 
      in.<BR>No mail.<BR>No Plan.<BR></CODE></P>
      <P><B>注解:</B>这个例子,我们做了添加用户、查看/etc/passwd 的变化; 并且通过finger 
      来查询longcpu用户的信息,目的是理解参数-c的用处;</P>
      <P>参数-c 后面的就是就是UID:GID后面说明文字,这段文字中包括用户真实姓名,办公地址,办公电话等,可以通过chfn 
      来更改,我们可以通过chfn 来修改用户信息,然后查看 /etc/passwd 的变化,再来用finger 
      来查询用户信息。几个工具组合练习一下,也容易忘记;</P>
      <P><B>实例六:</B>自定义用户的家目录、SHELL类型、所归属的用户组等;</P>
      <P>添加用户longcpu,并设置其用户真实名字为ChinaCpu,其家目录在/opt/longcpu,让其归属为用户组 
      linuxsir、root、beinan成员,其SHELL类型为tcsh ;</P>
      <P>
      <DIV class=codeblock><CODE>[root@localhost ~]# useradd -c ChinaCpu -d 
      /opt/longcpu -G linuxsir,root,beinan -s /bin/tcsh 
      longcpu</CODE></DIV><BR><B><BR>注:</B>添加用户longcpu ,真实名是ChinaCpu ,家目录设置在 
      /opt/longcpu ,是linuxsir,root,beinan 用户组成员, SHELL是tcsh ;<BR>
      <DIV class=codeblock><CODE>[root@localhost ~]# ls -ld /opt/longcpu/ 
      注:是不是自动创建了longcpu的家目录?<BR>drwxr-xr-x 3 longcpu longcpu 4096 11月 4 22:30 
      /opt/longcpu/<BR>[root@localhost ~]# more /etc/passwd |grep longcpu 注:查看 
      /etc/passwd 
      中是否有longcpu用户记录;<BR>longcpu:x:510:510:ChinaCpu:/opt/longcpu:/bin/tcsh<BR>[root@localhost 
      beinan]# finger longcpu 注:查询longcpu用户的信息 ;<BR>Login: longcpu Name: 
      ChinaCpu<BR>Directory: /opt/longcpu Shell: /bin/tcsh<BR>Never logged 
      in.<BR>No mail.<BR>No Plan.<BR>[root@localhost beinan]# id longcpu 
      注:查询UID和GID 以及所归属的用户组;<BR>uid=510(longcpu) gid=510(longcpu) 
      groups=510(longcpu),0(root),500(beinan),502(linuxsir)</CODE></DIV>
      <P></P>
      <P>关于在添加新用户时用户组,添加用户时,如果不使用-n 参数,系统会自动建一个与用户名同名的用户组;</P>
      <P><B><BR>实例七:</B>练习用户有效期限;</P>
      <P>在本例中,我们主要来看看-e参数,这个参数还是比较重要的,是设定用户的帐号什么时候过期;</P>
      <P>在本例中,我们添加了一个帐号,并且设置其帐号在 2005年11月04日之前是有效的,一旦过了这个日期,便停止其登录;</P>
      <P>
      <DIV class=codeblock><CODE>[root@localhost ~]# useradd -e 11/04/2005 
      cooler 注:添加用户cooler,并设置其有效期为2005年11月04日;<BR>[root@localhost ~]# passwd 
      cooler 注:设置用户cooler密码;<BR>Changing password for user cooler.<BR>New UNIX 
      password: 注:设定cooler的密码;<BR>Retype new UNIX password: 注:核实设定密码;<BR>passwd: 
      all authentication tokens updated successfully. 注:设置成功;</CODE></DIV>
      <P></P>
      <P>如何验证-e 是不是真的有效?我写这篇文档的时间是 
      2005年11月05号,所以添加这个cooler用户肯定是过期的,就是他有密码也不能登录;</P>
      <P>有的弟兄会问,他把有效期的记录放在哪里了呢?其实我们在以前的文档中已经说过了,是写在/etc/shadow文件中了;</P>
      <P><B>请参考:</B> <A 
      href="http://www.linuxsir.org/main/?q=node/98">《用户(user)和用户组(group)配置文件详解》</A></P>
      <P><FONT id=2.2 size=3><B><BR>2、adduser 工具;<BR></B></FONT></P>
      <P>在Fedora 系统中,adduser和useradd 用法是一样的,但在 Slackware 系统中 adduser 
      是通过人机交互的方法来添加用户,其实和useradd 加各项参数来自定义添加用户所达到的目的是一样的,只不过在Slackware 中,useradd 
      是以人机交互的提问式的进行;这样我们没有必要知道那么多的参数,一样可以达到自定义添加用户;</P>
      <P>
      <DIV class=codeblock><CODE>[root@localhost ~]# adduser 
      注:运行adduser命令;<BR>Login name for new user []: bluemoon 注:添加新用户 bluemoon 
      <BR>User ID ('UID') [ defaults to next available ]: 1200 注:用户的UID ,UID 
      是唯一的;如果有提示说被占用,就选比较大的UID ,比如1300<BR>Initial group [ users ]: users 
      注:初始化用户组(或主用户组)为users,这个用户组也是可以自己定义的,但用户组必须存在,如果不存在,您可以用groupadd来添加<BR>Additional 
      groups (comma separated) []: root,beinan 
      注:附加用户组,这个也是自己定义的,多个用户组之间用,号分割;<BR>Home directory [ /home/bluemoon ] 
      注:定义用户的家目录位置,也是可以自己定义的,比如/opt/bluemoon ; <BR>Shell [ /bin/bash ] 注:所用SHELL 
      ,此处用的是bash ;<BR>Expiry date (YYYY-MM-DD) []: 
      注:用户的有效日期,如果不设置就直接回车,表示从不过期;如果设置就以2005-11-05这样的格式来输入;<BR>New account will 
      be created as follows: 
      注:创建的用户情况如下;<BR>---------------------------------------<BR>Login 
      name.......: bluemoon<BR>UID..............: 1200<BR>Initial group....: 
      users<BR>Additional groups: root<BR>Home directory...: 
      /home/bluemoon<BR>Shell............: /bin/bash<BR>Expiry date......: [ 
      Never ]<BR>This is it... if you want to bail out, hit Control-C. 
      Otherwise, press<BR>ENTER to go ahead and make the account. 
      <BR>注:在这里按回车就开始创建,如果认为这样不合理,就按CTRL+C 来中断;<BR>Creating new account... 
      这样就创建好了;系统会自动提示我们修改用户的信息,比如用户的全名、房间号、电话等...... 以及用户的密码;<BR>Changing the 
      user information for bluemoon<BR>Enter the new value, or press ENTER for 
      the default<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Full Name 
      []: bluemoon Linux<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Room 
      Number []: 503<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Work 
      Phone []: 
      0411-8888888<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Home Phone 
      []: 0411-9999999<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Other 
      []:<BR>Changing password for bluemoon<BR>Enter the new password (minimum 
      of 5, maximum of 127 characters)<BR>Please use a combination of upper and 
      lower case letters and numbers.<BR>New password: 
      注:设置用户bluemoon的密码;<BR>Re-enter new password: 注:验证一次;<BR>Password changed. 
      注:设置密码成功</CODE></DIV>
      <P></P>
      <P><FONT id=2.3 size=3><B><BR>3、通过修改/etc/passwd 
      管理(添加、删除、修改)用户的方法;<BR></B></FONT></P>
      <P><B>请参考:</B> <A 
      href="http://www.linuxsir.org/main/?q=node/98">《用户(User)和用户组(Group)配置文件详解》</A></P>
      <P><FONT id=2.4 size=3><B><BR>4、添加用户组命令groupadd ;<BR></B></FONT></P>
      <P>语法格式:</P>
      <P><B><BR>groupadd [-g gid [-o]] [-r] [-f] group<BR></B><BR>
      <DIV class=codeblock><CODE>groupadd 
      可指定用户组名称来建立新的用户组帐号,需要时可从系统中取得新用户组值。groupadd有下列选项可用。<BR>-g 
      后接GID值,除非使用-o参数不然该值必须是唯一,不可相同,数值不可为负,预设值以/etc/login.defs为准;<BR>-r<BR>此参数是用来建立系统帐号的GID会比定义在系统档文件上/etc/login.defs 
      的GID_MIN来的小。注意useradd此用法所建立的帐号不会建立使用者目录,也不会纪录在/etc/login.defs.的定义值。如果你想要有使用者目录须额外指定-m参数来建立系统帐号,它会自动帮你选定一个小于的GID_MIN的值,不需要再加上-g参数。<BR>-f 
      This is force 
      flag.新增一个已经存在的用户组帐号,系统会出现错误讯息然后结束groupadd。如果是这样的情况,不会新增这个用户组(如果是这个情况下,系统不会再新增一次) 
      也可同时加上-g选项,当你加上一个GID,此时GID就不用是唯一值,可不加-o参数,建好用户组后会显结果(adding a group as 
      neither -g or -o options were specified)。</CODE></DIV>
      <P></P>
      <P>其实增加用户组的,用起来还是简单一点为好;比如下面的例子,添加GID为666的用户组google;</P>
      <P>
      <DIV class=codeblock><CODE>[root@localhost ~]# groupadd -g 666 
      google</CODE></DIV>
      <P></P>
      <P><FONT id=3 size=4><B><BR>三、passwd 设置或修改用户密码;<BR></B></FONT></P>
      <P><FONT id=3.1 size=3><B><BR>1、passwd 简单说明;<BR></B></FONT></P>
      <P>我们已经学会如何添加用户了,所以我们还要学习设置或修改用户的密码;passwd命令的用法也很多,我们只选如下的几个参数加以说明;想了解更多,请参考man 
      passwd或passwd --help ;</P>
      <P><B><BR>passwd [OPTION...] <ACCOUNT Name><BR></B></P>
      <P>passwd 
      作为普通用户和超级权限用户都可以运行,但作为普通用户只能更改自己的用户密码,但前提是没有被root用户锁定;如果root用户运行passwd 
      ,可以设置或修改任何用户的密码;</P>
      <P>passwd 命令后面不接任何参数或用户名,则表示修改当前用户的密码;请看下面的例子;<BR>
      <DIV class=codeblock><CODE>[root@localhost ~]# passwd 
      注:没有加任何用户,我是用root用户来执行的passwd 表示修改root用户的密码;下面也有提示;<BR>Changing password 
      for user root.<BR>New UNIX password: 注:请输入新密码;<BR>Retype new UNIX 
      password: 注:验证新密码;<BR>passwd: all authentication tokens updated 
      successfully. 注:修改root密码成功;</CODE></DIV>
      <P></P>
      <P>如果是普通用户执行passwd 只能修改自己的密码;</P>
      <P>如果新建用户后,要为新用户创建密码,则用 <B>passwd 用户名</B> ,注意要以root用户的权限来创建;</P>
      <P>
      <DIV class=codeblock><CODE>[root@localhost ~]# passwd beinan 
      注:更改或创建beinan用户的密码;<BR>Changing password for user beinan.<BR>New UNIX 
      password: 注:请输入新密码;<BR>Retype new UNIX password: 注:再输入一次;<BR>passwd: all 
      authentication tokens updated successfully. 注:成功;</CODE></DIV>
      <P></P>
      <P>普通用户如果想更改自己的密码,直接运行passwd即可;比如当前操作的用户是beinan;</P>
      <P>
      <DIV class=codeblock><CODE>[beinan@localhost ~]$ passwd<BR>Changing 
      password for user beinan. 注:更改beinan用户的密码;<BR>(current) UNIX password: 
      注:请输入当前密码;<BR>New UNIX password: 注:请输入新密码;<BR>Retype new UNIX password: 
      注:确认新密码;<BR>passwd: all authentication tokens updated successfully. 
      注:更改成功;</CODE></DIV>
      <P></P>
      <P><FONT id=3.2 size=3><B><BR>2、passwd 几个比较重要的参数;<BR></B></FONT></P>

⌨️ 快捷键说明

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