📄 0410accountmanager.htm
字号:
New UNIX password: <span class=term_note><==这里直接输入新的密码,萤幕不会有任何反应</span>
BAD PASSWORD: it is based on a dictionary word <span class=term_note><==密码太简单时的错误!</span>
Retype new UNIX password: <span class=term_note><==再输入一次同样的密码</span>
passwd: all authentication tokens updated <span class=term_write>successfully</span>. <span class=term_note><==竟然还是成功修改了!</span>
<span class=term_hd>范例二∶ dmtsai 这个使用者想要修改自己的密码时</span>
[dmtsai@linux ~]$ <span class=term_command>passwd</span>
Changing password for user dmtsai.
Changing password for dmtsai
(current) UNIX password: <span class=term_note><==这里输入『原有的旧密码』</span>
New password: <span class=term_note><==这里输入新密码</span>
BAD PASSWORD: it is based on your username <span class=term_note><==密码的规范是很严格的</span>
New password:
BAD PASSWORD: it is based on your username
New password:
BAD PASSWORD: it is based on a dictionary word
passwd: Authentication token manipulation <span class=term_write>error</span>
</pre></td></tr></table>
先来谈一谈上面的两个范例。要注意的是, passwd 这个指令由于使用者的身份而有两种用法,
如果是 root ,由于 root 具有至高无上的权力,所以 root 可以利用 passwd [username]
来帮使用者修改他们的密码!因此,『<span class=text_import2>如果使用者的密码不见了,
root 是可以帮他们进行密码的修改,而不需要知道旧密码。</span>』另外,也只有 root
可以随便设定密码,即使该密码并不符合系统的密码验证要求~ @_@。例如上面的范例一,
我帮 dmtsai 建立的密码太简单,所以其实系统是『警告』过 root 的。
但在重复输入两次密码后,嘿嘿!您还是会看到 successfully 这个成功的字样呢!<br><br>
那么如果是一般身份使用者,或者是 root 想要修改自己的密码时,直接输入『 passwd 』,
就能够修改自己的密码了。一般身份使用者输入的密码会经过系统的验证,
验证的机制除了 /etc/login.defs 里头规定的最小密码字元数之外,还会受到
/etc/pam.d/passwd 这个 PAM 模组的检验呢!一般来说,您输入的密码最好要符合底下的要求∶
<ul><span class=text_import2>
<li>密码不能与帐号相同;
<li>密码尽量不要选用字典里面会出现的字串;
<li>密码需要超过 8 个字元;</ul></span>
如果无法经过验证,那么该密码就不被接受,当然还是只能使用旧密码棉!
此外,仅能接受三次密码输入,如果输入的密码都不被接受,那只好....重新执行一次 passwd 啊!而,
经过这个 passwd [username] 的动作后,您的帐号就会有密码棉,此时,
如果察看一下 /etc/shadow ,你就会知道密码内容被改过棉~ ^_^<br><br>
</div>
<a name=usermod></a><hr><li><span class=text_import1>usermod</span></li>
<div class=block2>
所谓这『人有失手,马有乱蹄』,您说是吧?所以棉,当然有的时候会『不小心』在 useradd
的时候加入了错误的设定资料。或者是,在使用 useradd 后,发现某些地方还可以进行细部修改。
此时,当然我们可以直接到 /etc/passwd 或 /etc/shadow 去修改相对应栏位的资料,
不过,Linux 也有提供相关的指令让大家来进行帐号相关资料的微调呢~那就是 usermod 棉~<br>
<table class="term"><tr><td class="term"><pre>
[root@linux ~]# <span class=term_command>usermod [-cdegGlsuLU] username</span>
<span class=term_say>参数∶
-c ∶后面接帐号的说明,即 /etc/passwd 第五栏的说明栏,可以加入一些帐号的说明。
-d ∶后面接帐号的家目录,即修改 /etc/passwd 的第六栏;
-e ∶后面接日期,格式是 YYYY-MM-DD 也就是在 /etc/shadow 内的第八个栏位资料啦!
-g ∶后面接 group name,修改 /etc/passwd 的第四个栏位,亦即是 GID 的栏位!
-G ∶后面接 group name,修改这个使用者能够支援的群组,修改的是 /etc/group 棉~
-l ∶后面接帐号名称。亦即是修改帐号名称, /etc/passwd 的第一栏!
-s ∶后面接 Shell 的实际档案,例如 /bin/bash 或 /bin/csh 等等。
-u ∶后面接 UID 数字啦!即 /etc/passwd 第三栏的资料;
-L ∶暂时将使用者的密码冻结,让他无法登入。其实仅改 /etc/shadow 的密码栏。
-U ∶将 /etc/shadow 密码栏的 ! 拿掉,解冻啦!
范例∶</span>
<span class=term_hd>范例一∶修改使用者 dmtsai 的说明栏,加上『VBird's test』的说明。</span>
[root@linux ~]# <span class=term_command>usermod -c "VBird's test" dmtsai</span>
[root@linux ~]# <span class=term_command>grep dmtsai /etc/passwd</span>
dmtsai:x:501:501:<span class=term_write>VBird's test</span>:/home/dmtsai:/bin/bash
<span class=term_hd>范例二∶使用者 dmtsai 密码在 2006/01/01 失效。</span>
[root@linux ~]# <span class=term_command>usermod -e "2006-01-01" dmtsai</span>
[root@linux ~]# <span class=term_command>grep dmtsai /etc/shadow</span>
dmtsai:$1$24ISJM4K$bbdijdreoieaVaBMAHsm6.:13026:0:99999:7::<span class=term_write>13149</span>:
<span class=term_hd>范例三∶暂时冻结 dmtsai 的密码!</span>
[root@linux ~]# <span class=term_command>usermod -L dmtsai</span>
[root@linux ~]# <span class=term_command>grep dmtsai /etc/shadow</span>
dmtsai:<span class=term_write>!</span>$1$24ISJM4K$bbdijdreoieaVaBMAHsm6.:13026:0:99999:7::13149:
<span class=term_say># 注意到,密码栏(第二栏)多了一个 ! 号!那个惊叹号会让密码无效喔!</span>
[root@linux ~]# <span class=term_command>usermod -U dmtsai</span> <span class=term_note><==这样就解开了!</span>
<span class=term_hd>范例四∶万一 dmtsai 这个家伙被建立时忘记建立家目录,该如何是好?</span>
[root@linux ~]# <span class=term_command>usermod -d /home/dmtsai2 -m dmtsai</span>
<span class=term_say># 如果仅是 -d /home/dmtsai2 表示仅修改 /etc/passwd 第六栏的内容而已,
# 如果加上 -m 这个参数,则表示新建一个家目录的意思!
# 另外,如果原本的家目录是 /home/dmtsai ,那 -d /home/dmtsai2 -m
# 会将原本的 /home/dmtsai 更名为 /home/dmtsai2 喔!</span>
</pre></td></tr></table>
usermod 是系统管理员 root 用来管理帐号身份的相关资料的,不过,这个 usermod
程式的功能其实也被很多其他的指令所取代喔!例如 chfn 与 chsh 等等的~
不过,无论如何,您还是可以用 usermod 来微调使用者帐号的相关资料啦!<br><br>
</div>
<a name=userdel></a><hr><li><span class=text_import1>userdel</span></li>
<div class=block2>
这个功能就太简单了~目的在删除使用者啦~与他相关的档案有∶
<ul><span class=text_import2><font face="细明体">
<li>/etc/passwd<li>/etc/shadow<li>/home/username</ul></span></font>
整个指令的语法是∶<br>
<table class="term"><tr><td class="term"><pre>
[root@linux ~]# <span class=term_command>userdel [-r] username</span>
<span class=term_say>参数∶
-r ∶连同使用者的家目录也一起删除
范例∶</span>
<span class=term_hd>范例一∶删除 vbird2 ,连同家目录一起删除</span>
[root@linux ~]# <span class=term_command>userdel -r vbird2</span>
</pre></td></tr></table>
这个指令下达的时候要小心了!通常我们要移除一个帐号的时候,你可以手动的将
/etc/passwd 与 /etc/shadow 里头的该帐号取消即可!一般而言,如果该帐号只是『
<span class=text_import2>暂时不启用</span>』的话,那么将 /etc/shadow
里头最后倒数一个栏位设定为 0 就可以让该帐号无法使用,但是所有跟该帐号相关的资料都会留下来!
使用 userdel 的时机通常是『
<span class=text_import2>你真的确定不要让该用户在主机上面使用任何资料了</span>!』<br><br>
另外,其实使用者如果在系统上面操作过一阵子了,那么该使用者其实在系统内可能会含有其他档案的。
举例来说,他的邮件信箱 (mail box) 或者是例行性命令 (crontab) 之类的档案。
所以,如果想要完整的将某个帐号完整的移除,最好可以在下达 userdel -r username 之前,
先以『 find / -user username 』查出整个系统内属于 username 的档案,
然后再加以删除吧!<br>
</div>
</div>
<hr><a name="normal_user"></a><img src="../images/penguin-s.gif" alt="小标题的图示" height="23" width="16" align="middle" /><span class=text_h2>使用者功能∶chfn, chsh</span><br>
<div class=block2>
不论是 useradd/usermod/userdel ,都是系统管理员所能够使用的指令,
如果我是一般身份使用者,那么我是否除了密码之外,就无法更改其他的资料呢?
当然不是啦!这里我们介绍两个一般身份使用者常用的帐号资料变更指令棉!<br><br>
<a name=chsh></a><hr><li><span class=text_import1>chsh</span></li>
<div class=block2>
<table class="term"><tr><td class="term"><pre>
[dmtsai@linux ~]$ <span class=term_command>chsh [-ls]</span>
<span class=term_say>参数∶
-l ∶列出目前系统上面可用的 shell ,其实就是 /etc/shells 的内容!
-s ∶设定修改自己的 Shell 棉
范例∶</span>
<span class=term_hd>范例一∶列出目前系统上面所以的 shell ,并且指定 csh 为自己的 shell</span>
[dmtsai@linux ~]$ <span class=term_command>chsh -l</span>
/bin/sh
/bin/bash
/sbin/nologin
/bin/ksh
/bin/tcsh
/bin/csh
/bin/zsh
[dmtsai@linux ~]$ <span class=term_command>chsh -s /bin/csh; grep dmtsai /etc/passwd</span>
Password: <span class=term_note><==为了防止帐号被乱搞~所以需要输入 dmtsai 的密码确认!</span>
Shell changed.
dmtsai:x:501:501::/home/dmtsai:<span class=term_write>/bin/csh</span>
</pre></td></tr></table>
这个指令重点就是在更改使用者的 shell 棉~如上所述,我就可以修订好 dmtsai 的 shell 啦!<br><br>
</div>
<a name=chfn></a><hr><li><span class=text_import1>chfn</span></li>
<div class=block2>
<table class="term"><tr><td class="term"><pre>
[root@linux ~]# <span class=term_command>chfn [-foph] </span>
<span class=term_say>参数∶
-f ∶后面接完整的大名;
-o ∶您办公室的房间号码;
-p ∶办公室的电话号码;
-h ∶家里的电话号码!
范例∶</span>
<span class=term_hd>范例一∶我用 dmtsai 这个使用者来更改一下自己的相关资讯!</span>
[dmtsai@linux ~]$ <span class=term_command>chfn</span>
Changing finger information for dmtsai.
Password: <span class=term_note><==为了防止帐号被乱搞~所以需要输入 dmtsai 的密码确认!</span>
Name []: <span class=term_write>VBird' Test account</span>
Office []: <span class=term_write>Tainan office 1</span>
Office Phone []: <span class=term_write>06-1234567</span>
Home Phone []: <span class=term_write>06-7654321</span>
Finger information changed.
[dmtsai@linux ~]$ <span class=term_command>grep dmtsai /etc/passwd</span>
dmtsai:x:501:501:<span class=term_write>VBird' Test account,Tainan office 1,06-1234567,06-7654321</span>:
/home/dmtsai:/bin/bash
</pre></td></tr></table>
这个指令说实在的,除非是你的主机有很多的用户,否则倒真是用不著这个程式!这就有点像是 bbs
里头更改你『个人属性』的那一个资料啦!这个程式主要
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -