0410accountmanager.htm

来自「鸟哥LINUX 学习课本」· HTM 代码 · 共 1,086 行 · 第 1/5 页

HTM
1,086
字号
<tbody><tr><td><font size="-1" color="#ffffff" face="SimSun">root:$K.K2.hqu.QfV.dkjjteojiasdlkjeo:11661:0:99999:7:::</font><br><font size="-1" color="#ffffff" face="SimSun">bin:*:11661:0:99999:7:::</font><br><font size="-1" color="#ffffff" face="SimSun">daemon:*:11661:0:99999:7:::</font><br><font size="-1" color="#ffffff" face="SimSun">adm:*:11661:0:99999:7:::</font></td></tr></tbody></table><p>这是 shadow 的形式,也同样的以『:』作为分隔的符号。数一数,共可以发现有九个字段,分别给他说明如下:<br>&#160;</p><ol><li><font color="#000066">账号名称</font>:这个跟 passwd 需要对应!也就是跟passwd 相同的意思啦!</li><br> <li><font color="#000066">密码</font>:这个才是真正的密码,而且是经过编码过的密码啦!你只会看到有一些特殊符号的字母就是了!需要特别留意的是,虽然这些加密过的密码很难被解出来,但是『很难』不等于『不会』,所以,这个档案的预设属性是『-rw-------』亦即只有root 才可以读写就是了!你得随时注意,不要不小心更动了这个档案的属性呢!另外,如果是在密码栏的第一个字符为『* 』表示这个账号并不会被用来登入的意思。所以万一哪一天你的某个使用者不乖时,可以先在这个档案中,将他的密码多加一个* !嘿嘿!他就无法使用该账号啰!直到他变乖了,再给他启用啊!</li><br> <table border="1" cols="1" width="70%"><tbody><tr><td bgcolor="#ffcccc"><center>注意事项:密码忘记或者被更动了?</center><p>有的时候会发生这样的情况,就是说,你的 root 密码忘记了!要怎么办?重新安装吗?另外,有的时候是被入侵了,root 的密码被更动过,该如何是好?</p><p>这个时候就必须要使用到 /etc/shadow 这个数据了!我们刚刚知道密码是存在这个档案中的,所以只要你能够以软盘开机,进入『单人维护系统』,那么就可以不用输入密码来以root 的身份登入(通常就是在 boot: 时输入 linux single 就是了!)然后进入/etc/shadow 这个档案中,将 root 的密码这一栏全部清空!然后再登入 Linux一次,这个时候 root 将不需要密码(有的时候需要输入空格符)就可以登入了!这个时候请赶快以passwd 设定 root 密码即可!</p></td></tr></tbody></table> <li><font color="#000066">上次更动密码的日期</font>:这个字段记录了『更动密码的那一天』的日期,不过,很奇怪呀!在我的例子中怎么会是11979 呢?呵呵,这个是因为计算 Linux 日期的时间是以 1970 年 1 月 1 日作为1 ,而 1971 年 1 月 1 日则为 366 啦!所以这个日期是累加的呢!得注意一下这个资料呦!那么最近的2002 年 1 月 1 日就是 11689 啦,了解了吗?</li><br> <li><font color="#000066">密码不可被更动的天数</font>:第四个字段记录了这个账号的密码需要经过几天才可以被变更!如果是0 的话,表示密码随时可以更动的意思。这的限制是为了怕密码被某些人一改再改而设计的!如果设定为20 天的话,那么当你设定了密码之后, 20 天之内都无法改变这个密码呦!</li><br> <li><font color="#000066">密码需要重新变更的天数</font>:由于害怕密码被某些『有心人士』窃取而危害到整个系统的安全,所以有了这个字段的设计。你必须要在这个时间之内重新设定你的密码,否则这个账号将会暂时失效。而如果像上面的99999 的话,那就表示,呵呵,密码不需要重新输入啦!不过,如果是为了安全性,最好可以设定一段时间之后,严格要求使用者变更密码呢!</li><br> <li><font color="#000066">密码需要变更期限前的警告期限</font>:当账号的密码失效期限快要到的时候,系统会依据这个字段的设定,发出『警告』言论给这个账号,提醒他『再过n 天你的密码就要失效了,请尽快重新设定你的密码呦!』,如上面的例子,则是密码到期之前的7 天之内,系统会警告该用户。</li><br> <li><font color="#000066">账号失效期限</font>:如果用户过了警告期限没有重新输入密码,使得密码失效了,而该用户在这个字段限定的时间内又没有跟root 反应,让账号重新启用,那么这个账号将暂时的失效!</li><br> <li><font color="#000066">账号取消日期</font>:这个日期跟第三个字段一样,都是使用1970 年以来的日期设定。这个字段表示:这个账号在此字段规定的日期之后,将无法再使用。这个字段会被使用通常应该是在『收费服务』的系统中,你可以规定一个日期让该账号不能再使用啦!</li><br> <li><font color="#000066">保留</font>:最后一个字段是保留的,看以后有没有新功能加入。</li></ol> <br>这个 /etc/shadow 是很重要的数据,千万不能遗失也不能被 root以外的人看到或修改!尤其是密码栏,因为很早之前就已经发明了『暴力计算』密码的程序,如果你的密码被看过了,则别人可以利用该程序去演算出你的真实密码,呵呵,到时候可就伤脑筋了!切记切记!</ul></ul></blockquote><ul><ul>这个 /etc/shadow 是很重要的数据,千万不能遗失也不能被 root以外的人看到或修改!尤其是密码栏,因为很早之前就已经发明了『暴力计算』密码的程序,如果你的密码被看过了,则别人可以利用该程序去演算出你的真实密码,呵呵,到时候可就伤脑筋了!切记切记!那么什么是SUID 与 SGID 呢?前面有说过了!跟档案属性比较有相关, <a href="http://linux.vbird.org//linux_basic/0220filemanager.php#suid_sgid_sticky">点这里</a>&#160;去看看吧!</ul></ul><blockquote><ul><li><b><font color="#000099">认识 /etc/group 与 /etc/gshadow 档案:</font></b></li><br>认识账号与密码是使用 /etc/passwd 与 /etc/shadow ,那么认识 group 就是/etc/group 与 /etc/gshadow 啰!OK!我们也来看看这两个档案的构造吧!<br>&#160;<ul><li><b><font color="#000066">认识 /etc/group</font></b></li><br>这个档案可以让你直接将账号所要支持的群组加进来!例如你有一个账号名称为myaccount ,你想要让这个账号可以支持 root 这个群组,则你可以直接在 /etc/group里面加入呢!很方便,不需要动用的指令呦!<br>&#160;<table bgcolor="#000000" cols="1" width="500"><tbody><tr><td><font size="-1" color="#ffffff" face="SimSun">root:x:0:root</font><br><font size="-1" color="#ffffff" face="SimSun">bin:x:1:root,bin,daemon</font><br><font size="-1" color="#ffffff" face="SimSun">daemon:x:2:root,bin,daemon</font><br><font size="-1" color="#ffffff" face="SimSun">sys:x:3:root,bin,adm</font><br><font size="-1" color="#ffffff" face="SimSun">adm:x:4:root,adm,daemon</font></td></tr></tbody></table><p>这个内容也说明如下:<br>&#160;</p><ol><li><font color="#000066">群组名称</font>:就是群组名称啦!</li><li><font color="#000066">群组密码</font>:通常不需要设定,因为我们很少使用到群组登入!不过,同样的,密码也是被纪录在/etc/gshadow 当中啰!</li><li><font color="#000066">群组 ID</font>:就是所谓的 GID 啦!</li><li><font color="#000066">支持的账号名称</font>:这个群组里面的所有的账号,如上面所言,如果你想要让mysccount 也属于 root 这个群组的话,那么就将上面的第一行最后面加上 ,myaccount(不要有空格)使成为『root:x:0:root,myaccount』就可以啦。</li></ol><li><b><font color="#000066">/etc/gshadow 的构造:</font></b></li><br>&#160;<table bgcolor="#000000" cols="1" width="500"><tbody><tr><td><font size="-1" color="#ffffff" face="SimSun">root:::root</font><br><font size="-1" color="#ffffff" face="SimSun">bin:::root,bin,daemon</font><br><font size="-1" color="#ffffff" face="SimSun">daemon:::root,bin,daemon</font><br><font size="-1" color="#ffffff" face="SimSun">sys:::root,bin,adm</font><br><font size="-1" color="#ffffff" face="SimSun">adm:::root,adm,daemon</font></td></tr></tbody></table><p>一般来说,group password 是用来让那些不在 group 中的成员,临时加入 group用的,有兴趣的话可以使用 man newgrp 了解一下他的用法!不过,因为牵涉到"密码",不好管理,因此很少用。真想让对方加入,不如将对方加入该群组,用密码反而不方便。</p></ul></ul></blockquote><blockquote><ul><li><b><font color="#000099">增加使用者的一般步骤:</font></b></li><br><font color="#000000">新增使用者的时候,如果该使用者所属的群组不存在,则得(1)先新增群组;然后(2)再新增使用者账号。当然,如果要删除群组时,则必须要反过来,先删除使用者才能删除群组!这点请大家留意啰!</font></ul></blockquote><blockquote><font color="#000000">认识完了一些需要注意的东西之后,我们来研究一下如何以『指令』增加群组、使用者与变更密码吧!在接下来的例子中,『您可以依照底下的案例直接下达指令去试看看!』实作是真的很重要的啦!</font></blockquote><blockquote><ul><hr width="100%"><li><a name="groupadd"></a><b><font color="#000099" face="SimSun">groupadd</font></b></li><br><font color="#ff0000">语法</font>:<table bgcolor="#000000" border="1" cols="1" width="600"><tbody><tr><td><font size="-1" face="SimSun"><font color="#ffffff">[root @test/root ]# </font><font color="#ffff00">groupadd [-g GID] groupname</font></font><br><font size="-1" color="#ffffcc" face="SimSun">参数说明:</font><br><font size="-1" color="#ff9900" face="SimSun">-g GID :自行设定GID 的大小</font><br><font size="-1" color="#ffffcc" face="SimSun">范例:</font><br><font size="-1" face="SimSun"><font color="#ffffff">[root @test/root]# </font><font color="#ffff00">groupadd -g 55 testing</font><font color="#ff9900">&lt;==设定一个群组,GID为&#160;55&#160;</font></font></td></tr></tbody></table><font color="#ff0000">说明</font><font color="#000000">:</font><br>这个指令会增加群组呢!而作用到的档案只有『/etc/group 与 /etc/gshadow』这两个档案,说实在的,你也可以直接修改这两个档案就好了,根本不需要使用到这个指令的!使用vi 修改上面两个档案还比较简单呢!另外,如果你要新增的使用者所要的群组并不存在于系统中,那么您在增加使用者账号之前,就必须要先新增群组啰!</ul><ul><hr width="100%"><li><a name="groupdel"></a><b><font color="#000099" face="SimSun">groupdel</font></b></li><br><font color="#ff0000">语法</font>:<table bgcolor="#000000" border="1" cols="1" width="600"><tbody><tr><td><font size="-1" face="SimSun"><font color="#ffffff">[root @test/root ]# </font><font color="#ffff00">groupdel groupname</font></font><br><font size="-1" color="#ffffcc" face="SimSun">参数说明:</font><br><font size="-1" color="#ffffcc" face="SimSun">范例:</font><br><font size="-1" face="SimSun"><font color="#ffffff">[root @test/root]#</font><font color="#ffff00"> groupdel testing</font></font></td></tr></tbody></table><font color="#ff0000">说明</font><font color="#000000">:</font><br>这很简单的,就是将 group ID 给他杀掉去!不过,有一点必须要特别留意,就是『<font color="#000099">在杀掉群组之前,请先将该群组的primary 使用者删除!</font>』才好!那什么是 Primary 的使用者呢?说穿了也很简单啦!就是/etc/passwd 里面,那个 GID 设定为这个群组的 GID 的那个使用者就对啦!</ul><ul><hr width="100%"><li><a name="useradd"></a><b><font color="#000099" face="SimSun">useradd</font></b></li><br><font color="#ff0000">语法</font>:<table bgcolor="#000000" border="1" cols="1" width="700"><tbody><tr>

⌨️ 快捷键说明

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