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

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

📁 linuxSir 网站的精华文章
💻 HTM
📖 第 1 页 / 共 5 页
字号:
      <P>
      <DIV class=codeblock><CODE>[root@localhost beinan]# passwd 
      --help<BR>Usage: passwd [OPTION...] &lt;accountName&gt;<BR>&nbsp;&nbsp;-k, 
      --keep-tokens keep non-expired authentication 
      tokens<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注:保留即将过期的用户在期满后能仍能使用;<BR>&nbsp;&nbsp;-d, 
      --delete delete the password for the named account (root 
      only)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注:删除用户密码,仅能以root权限操作;<BR>&nbsp;&nbsp;-l, 
      --lock lock the named account (root 
      only)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注:锁住用户无权更改其密码,仅能通过root权限操作;<BR>&nbsp;&nbsp;-u, 
      --unlock unlock the named account (root 
      only)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注:解除锁定;<BR>&nbsp;&nbsp;-f, 
      --force force 
      operation<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注:强制操作;仅root权限才能操作;<BR>&nbsp;&nbsp;-x, 
      --maximum=DAYS maximum password lifetime (root only) 
      注:两次密码修正的最大天数,后面接数字;仅能root权限操作;<BR>&nbsp;&nbsp;-n, --minimum=DAYS minimum 
      password lifetime (root only) 
      注:两次密码修改的最小天数,后面接数字,仅能root权限操作;<BR>&nbsp;&nbsp;-w, --warning=DAYS number 
      of days warning users receives before 
      注:在距多少天提醒用户修改密码;仅能root权限操作;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;password 
      expiration (root only)<BR>&nbsp;&nbsp;-i, --inactive=DAYS number of days 
      after password expiration when an 
      注:在密码过期后多少天,用户被禁掉,仅能以root操作;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;account 
      becomes disabled (root only)<BR>&nbsp;&nbsp;-S, --status report password 
      status on the named account (root 
      注:查询用户的密码状态,仅能root用户操作;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;only)<BR>&nbsp;&nbsp;--stdin 
      read new tokens from stdin (root only)</CODE></DIV>
      <P></P>
      <P>比如我们让某个用户不能修改密码,可以用-l 参数来锁定:</P>
      <P>
      <DIV class=codeblock><CODE>[root@localhost ~]# passwd -l beinan 
      注:锁定用户beinan不能更改密码;<BR>Locking password for user beinan.<BR>passwd: 
      Success 注:锁定成功;<BR>[beinan@localhost ~]# su beinan 
      注:通过su切换到beinan用户;<BR>[beinan@localhost ~]$ passwd 
      注:beinan来更改密码;<BR>Changing password for user beinan.<BR>Changing password 
      for beinan<BR>(current) UNIX password: 注:输入beinan的当前密码;<BR>passwd: 
      Authentication token manipulation error 注:失败,不能更改密码;</CODE></DIV>
      <P></P>
      <P><B><BR>再来一例:<BR></B></P>
      <P>
      <DIV class=codeblock><CODE>[root@localhost ~]# passwd -d beinan 
      注:清除beinan用户密码;<BR>Removing password for user beinan.<BR>passwd: Success 
      注:清除成功;<BR>[root@localhost ~]# passwd -S beinan 注:查询beinan用户密码状态;<BR>Empty 
      password. 注:空密码,也就是没有密码;</CODE></DIV>
      <P></P>
      <P><FONT color=red><B>注意:</B></FONT> 当我们清除一个用户的密码时,登录时就无需密码;这一点要加以注意;</P>
      <P><FONT id=3.3 size=3><B><BR>3、chage 修改用户密码有效期限的命令;<BR></B></FONT></P>
      <P>chage 用语法格式:</P>
      <P>
      <DIV class=codeblock><CODE>chage [-l] [-m 最小天数] [-M 最大天数] [-W 警告] [-I 失效日] 
      [-E 过期日] [-d 最后日] 用户</CODE></DIV>
      <P></P>
      <P>前面已经说的好多了,这个只是一笔带过吧,知道有这个命令就行,自己实践实践再说,大体和psswd有些参数的用法差不多;</P>
      <P><FONT id=4 size=4><B><BR>四、删除用户和用户组的工具, userdel和 groupdel 
      介绍;<BR></B></FONT><BR><FONT id=4.1 size=3><B><BR>1、userdel 
      用法;<BR></B></FONT></P>
      <P>userdel 的语法格式:</P>
      <P><B><BR>userdel [-r] 名称<BR></B></P>
      <P>userdel很简单,只有一个参数可选 -r ;如果加参数-r 
      ,表示在删除用户的同时,一并把用户的家目录及本地邮件存储的目录或文件也一同删除;比如我们现在有两个用户bnnb和lanhaitun,其家目录都位于/home目录中,现在我们来删除这两个用户;</P>
      <P>
      <DIV class=codeblock><CODE>[root@localhost ~]# userdel bnnb 
      注:删除用户bnnb,但不删除其家目录及文件;<BR>[root@localhost ~]# ls -ld /home/bnnb 
      注:查看其家目录是否存在;<BR>drwxr-xr-x 14 501 501 4096 8月 29 16:33 /home/bnnb 
      注:存在;<BR>[root@localhost ~]# ls -ld /home/lanhaitun 
      注:查看lanhaitun家目录是否存在;<BR>drwx------ 4 lanhaitun lanhaitun 4096 11月 5 14:50 
      /home/lanhaitun 注:存在;<BR>[root@localhost ~]# userdel -r lanhaitun 
      注:删除用户lanhaitun,其家目录及文件一并删除; <BR>[root@localhost ~]# ls -ld 
      /home/lanhaitun 注:查看是否在删除lanhaitun 用户的同时,也一并把其家目录和文件一同删除;<BR>ls: 
      /home/lanhaitun: 没有那个文件或目录 注:已经删除;</CODE></DIV>
      <P></P>
      <P><FONT color=red><B>警告:</B></FONT> 
      请不要轻易用-r参数;他会删除用户的同时删除用户所有的文件和目录,切记;如果用户目录下有重要的文件,在删除前请备份;</P>
      <P>其实也有最简单的办法,但这种办法有点不安全,也就是直接在/etc/passwd中删除您想要删除用户的记录;但最好不要这样做,/etc/passwd 
      是极为重要的文件,可能您一不小心会操作失误;</P>
      <P><FONT id=4.2 size=3><B><BR>2、groupdel的用法;<BR></B></FONT></P>
      <P>groupdel 是用来删除用户组的;</P>
      <P><B>语法格式:</B>groupdel 用户组</P>
      <P>比如:<BR>
      <DIV class=codeblock><CODE>[root@localhost ~]# groupdel 
      lanhaitun</CODE></DIV>
      <P></P>
      <P><FONT id=5 size=4><B><BR>五、修改用户的工具介绍;<BR></B></FONT></P>
      <P>我们前面已经多次说过用户配置文件的重要性了,其实我们无论怎么改,都是改与用户相关的配置文件;如果我们与用户相关的配置文件的规则,可以直接修改配置文件,在这里就不再多说了,请参看相关文档吧,谢谢;</P>
      <P><FONT id=5.1 size=3><B><BR>1、chfn 修改用户信息工具;<BR></B></FONT></P>
      <P>chfn 这个工具主要是用来改用户的全名,办公室地址,电话之类的;用法如下:</P>
      <P>
      <DIV class=codeblock><CODE>chfn [ -f full-name ] [ -o office ] [ -p 
      office-phone ] [ -h home-phone ] [ -u ] [ -v ] [ username ]</CODE></DIV>
      <P></P>
      <P>最简单的方法是</P>
      <P><B>chfn 用户名</B><BR>
      <DIV class=codeblock><CODE>[root@localhost ~]# chfn beinanlinux 
      注:更改用户beinanlinux的信息;<BR>Changing finger information for 
      beinanlinux.<BR>Name []: BeiNan.Linux 注:用户全名BeiNan.Linux 
      ,随便写一个就行;<BR>Office []: ChinaDL<BR>Office Phone []: 66666666<BR>Home Phone 
      []: 99999999<BR>Finger information changed. 注:更改完成;</CODE></DIV>
      <P></P>
      <P>我们怎么能知道更改好了呢??可以通过finger 或直接查看/etc/passwd文件;<BR>
      <DIV class=codeblock><CODE>[root@localhost ~]# finger 
      beinanlinux<BR>Login: beinanlinux Name: BeiNan.Linux<BR>Directory: 
      /home/beinanlinux Shell: /bin/bash<BR>Office: ChinaDL Home Phone: 
      99999999<BR>Last login Sat Nov 5 11:27 (CST) on tty2<BR>No mail.<BR>No 
      Plan.</CODE></DIV>
      <P></P>
      <P>chfn 究竟改了/etc/passwd 文件中beinanlinux用户的哪部份呢??</P><PRE>[root@localhost ~]# more /etc/passwd |grep beinanlinux
beinanlinux:x:509:509:<FONT color=red>BeiNan.Linux,ChinaDL,66666666,99999999</FONT>:/home/beinanlinux:/bin/bash
</PRE>
      <P>通过more /etc/passwd ,然后来抽取 beinanlinux记录,看一下红字标出的,就是我们通过chfn 
      修改过的地方,所以我们可以直接通过修改/etc/passwd文件来达到目的;</P>
      <P><FONT id=5.2 size=3><B><BR>2、chsh 改变用户的SHELL类型;<BR></B></FONT></P>
      <P>
      <DIV class=codeblock><CODE>[root@localhost ~]# chsh --help<BR>Usage: chsh 
      [ -s shell ] [ --list-shells ] [ --help ] [ --version ] [ username 
      ]</CODE></DIV>
      <P></P>
      <P>如果chsh 不加任何参数及用户名的情况下,默认为更改当前操作用户的SHELL类型;</P>
      <P>举例说明:<BR>
      <DIV class=codeblock><CODE>[root@localhost ~]# chsh --list-shells 
      注:列出当前系统中所有的SHELL;<BR>/bin/sh<BR>/bin/bash<BR>/sbin/nologin 
      注:这个是不允许用户登录系统所用,是极为有用的;您可以通过查看/etc/passwd 
      中看哪些用户是nologin;<BR>/bin/ksh<BR>/bin/tcsh<BR>/bin/csh<BR>/bin/zsh<BR>[root@localhost 
      ~]# finger beinanlinux |grep Shell 注:查看用户beinanlinux 
      所用的SHELL类型;<BR>Directory: /home/beinanlinux Shell: /bin/bash 
      注:beinanlinux用的是bash ;<BR>[root@localhost ~]# chsh -s /bin/ksh beinanlinux 
      注:更改beinanlinux所用的shell 为ksh ;<BR>Changing shell for beinanlinux.<BR>Shell 
      changed. 注:更改完成;<BR>[root@localhost ~]# finger beinanlinux |grep Shell 
      注:再次查询beinanlinux所用的SHELL;<BR>Directory: /home/beinanlinux Shell: /bin/ksh 
      注:看来已经改过来了;</CODE></DIV>
      <P></P>
      <P>chsh 还是有用的,特加是不允许用户登录时,我们可以把用户的SHELL改到 
      /sbin/nologin;系统中一些虚拟用户大多是不能登录系统的,这对于系统安全来说是极为重要;通过下面的命令查看一下系统中哪些用户是没有登录权限的?</P>
      <P>
      <DIV class=codeblock><CODE>[root@localhost ~]# more /etc/passwd |grep 
      nologin</CODE></DIV><BR><FONT id=5.3 size=3><B><BR>3、usermod 
      用户修改工具(极其强大)<BR></B></FONT>
      <P></P>
      <P>usermod 不仅能改用户的SHELL类型,所归属的用户组,也能改用户密码的有效期,还能改登录名。usermod 
      如此看来就是能做到用户帐号大转移;比如我把用户A改为新用户B;</P>
      <P>
      <DIV class=codeblock><CODE>usermod [-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 
      主目录 [-m]] [-s shell] [-c 注释] [-l 
      新名称]<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[-f 
      失效日] [-e 过期日] [-p 密码] [-L|-U] 用户名</CODE></DIV>
      <P></P>
      <P>
      <DIV class=codeblock><CODE>usermod 
      命令会参照你命令列上指定的部份修改系统帐号档。下列为usermod可选用的参数。<BR>-c 
      comment<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;更新用户帐号password档中的注解栏,一般是使用chfn(1)来修改。<BR>-d 
      home_dir<BR>&nbsp;&nbsp;&nbsp;更新用户新的登入目录。如果给定-m选项,用户旧目录会搬到新的目录去,如旧目录不存在则建个新的。<BR>-e 
      expire_date 加上用户帐号停止日期。日期格式为MM/DD/YY.<BR>-f inactive_days 
      帐号过期几日后永久停权。当值为0时帐号则立刻被停权。而当值为-1时则关闭此功能。预设值为-1。<BR>-g initial_group 
      更新用户新的起始登入用户组。用户组名须已存在。用户组ID必须参照既有的的用户组。用户组ID预设值为1。<BR>-G group,[...] 
      定义用户为一堆groups的成员。每个用户组使用","区格开来,不可以夹杂空白字元。用户组名同-g选项的限制。如果用户现在的用户组不再此列,则将用户由该用户组中移除。<BR>-l 
      login_name 变更用户login时的名称为login_name。其它不变。特别是,用户目录名应该也会跟着更动成新的登入名。<BR>-s 
      shell 指定新登入shell。如此栏留白,系统将选用系统预设shell。<BR>-u 
      uid用户ID值。必须为唯一的ID值,除非用-o选项。数字不可为负值。预设为最小不得小于/etc/login.defs中定义的UID_MIN值。0到UID_MIN值之间是传统上保留给系统帐号使用。用户目录树下所有的档案目录其userID会自动改变。放在用户目录外的档案则要自行手动更动。<BR>警告:usermod不允许你改变正在线上的用户帐号名称。当usermod用来改变userID,必须确认这名user没在电脑上执行任何程序。你需手动更改用户的crontab档。也需手动更改用户的at工作档。采用NISserver须在server上更动相关的NIS设定。</CODE></DIV>
      <P></P>
      <P>举个简单的例子,我们在前面说了关于useradd的工具,而usermod 
      工具和useradd的参数差不多;两者不同之处在于useradd是添加,usermod 是修改;</P>
      <P>
      <DIV class=codeblock><CODE>[root@localhost ~]# usermod -d /opt/linuxfish 

⌨️ 快捷键说明

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