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

📄 0410accountmanager.htm

📁 鸟哥的linux私房菜
💻 HTM
📖 第 1 页 / 共 5 页
字号:
			20 天的话,那么当你设定了密码之后, 20 天之内都无法改变这个密码呦!</li><br>
		<li><span class=text_import1>密码需要重新变更的天数</span>∶
			由于害怕密码被某些『有心人士』窃取而危害到整个系统的安全,所以有了这个栏位的设计。
			<span class=text_import2>你必须要在这个时间之内重新设定你的密码,否则这个帐号将会暂时失效</span>。
			而如果像上面的 99999 的话,那就表示,呵呵,密码不需要重新输入啦!
			不过,如果是为了安全性,最好可以设定一段时间之后,严格要求使用者变更密码呢!</li><br>
		<li><span class=text_import1>密码需要变更期限前的警告期限</span>∶当帐号的密码失效期限快要到的时候,
			就是上面那个『必须变更密码』的那个时间时,
			系统会依据这个栏位的设定,发出『警告』言论给这个帐号,提醒他『再过 n 
			天你的密码就要失效了,请尽快重新设定你的密码呦!』,如上面的例子,则是密码到期之前的 
			7 天之内,系统会警告该用户。</li><br>
		<li><span class=text_import1>密码过期的恕限时间</span>∶如果用户过了警告期限没有重新输入密码,
			使得密码失效了,也就是说,你在『必须变更密码的期限前,并没有变更你的密码!』
			那么该组密码就称为『失效的密码』棉~怎么办?没关系,还有这个栏位的天数设计啊~
			意思就是说,当密码失效后,你还可以用这个密码在 n 天内进行登入的意思。
			而如果在这个天数后还是没有变更密码,呵呵!那么您的帐号就失效了!无法登入!
			</li><br>
		<li><span class=text_import1>帐号失效日期</span>∶这个日期跟第三个栏位一样,都是使用 1970 
			年以来的总日数设定。这个栏位表示∶
			<span class=text_import2>这个帐号在此栏位规定的日期之后,将无法再使用</span>。
			这个栏位会被使用通常应该是在『收费服务』的系统中,
			你可以规定一个日期让该帐号不能再使用啦!</li><br>
		<li><span class=text_import1>保留</span>∶最后一个栏位是保留的,看以后有没有新功能加入。</li>
		</ol>

		举个例子来说好了,假如我的 dmtsai 这个使用者的密码栏如下所示∶<br>

<table class="term"><tr><td class="term"><pre>
dmtsai:$1$8zdAKdfC$XDa8eSus2I7nQL7UjRsIy/:13025:5:60:7:2:13125:
</pre></td></tr></table>

		这表示什么呢?要注意的是, 13025 是 2005/08/30 ,所以, dmtsai 这个使用者他的密码相关意义是∶<ul>
		<li>最近一次更动密码的日期是 2005/08/30 (13025);
		<li>能够修改密码的时间是 5 天以后,也就是 2005/09/04 以前 dmtsai 不能修改自己的密码;
			如果使用者还是尝试要更动自己的密码,系统就会出现这样的讯息∶<br>
<table class="term"><tr><td class="term"><pre>
You must wait longer to change your password
passwd: Authentication token manipulation error
</pre></td></tr></table>
		<li>使用者必须要在 2005/09/04 到 2005/10/29 之间的 60 天限制内去修改自己的密码,若 
			2005/10/29 之后还是没有变更密码时,该帐号就会宣告失效;
		<li>如果使用者一直没有更改密码,那么在 2005/10/29 之前的 7 天内,系统会警告 dmtsai 
			应该修改密码的相关资讯;例如当 dmtsai 登入时,系统会主动提示如下的资讯∶<br>
<table class="term"><tr><td class="term"><pre>
Warning: your password will expire in 5 days
</pre></td></tr></table>
		<li>如果该帐号一直到 2005/10/29 都没有更改密码,由于还有两天的恕限时间,因此, dmtsai 
			还是可以在 2005/10/31 以前继续登入;
		<li>如果使用者在 2005/10/29 以前变更过密码,那么那个 13025 的日期就会跟著改变,因此,
			所有的限制日期也会跟著相对变动喔!^_^
		<li>无论使用者如何动作,到了 13125 ,大约是 2005/12/8 左右,该帐号就失效了~</ul>

		透过这样的说明,您应该会比较容易理解了吧?! ^_^

		<div style="padding: 10 0 10 0 ;" align="right"><table width="90%"><tr><td><b>Tips:</b><br /><span style="font-style: italic; color : darkgreen">		常常听到∶我的密码忘记或者被更动了?怎么办?<br><br>
		有的时候会发生这样的情况,就是说,你的 root 密码忘记了!要怎么办?重新安装吗?另外,
		有的时候是被入侵了, root 的密码被更动过,该如何是好?<br><br>
		这个时候就必须要使用到 /etc/shadow 这个资料了!我们刚刚知道密码是存在这个档案中的,
		所以只要你能够以各种可行的方法开机进入 Linux ,例如单人维护模式,或者是以 live CD (KNOPPIX)
		来进入 Linux 系统。之后,将硬碟顺利挂载,然后进入 /etc/shadow 这个档案中,将 root 
		的密码这一栏全部清空!然后再登入 Linux 一次,这个时候 root 将不需要密码 
		(有的时候需要输入空白字元) 就可以登入了!这个时候请赶快以 passwd 设定 root 密码即可。
		</span></td><td><img src="../images/vbird_face.gif" /></td></tr></table></div>		</div>
	</div>

	<hr><a name="account_group"></a><img src="../images/penguin-s.gif" alt="小标题的图示" height="23" width="16" align="middle" /><span class=text_h2>关于群组∶
	有效与初始群组、groups, newgrp</span>
	<div class=block2>
		认识了帐号相关的两个档案 /etc/passwd 与 /etc/shadow 之后,您或许还是会觉得奇怪,
		那么群组的设定档在哪里?还有,在 /etc/passwd 的第四栏不是所谓的 GID 吗?那又是啥?
		呵呵~此时就需要了解 /etc/group 与 /etc/gshadow 棉~<br><br>

		<hr><li><span class=text_import1>/etc/group</span></li>
		<div class=block2>
		这个档案就是在记录 GID 与群组名称的对应了~我的 /etc/group 内容有点像这样∶<br>

<table class="term"><tr><td class="term"><pre>
root:x:0:root
bin:x:1:root,bin,daemon
daemon:x:2:root,bin,daemon
sys:x:3:root,bin,adm
</pre></td></tr></table>

		也是以冒号『:』作为栏位的分隔符号,共分为四栏,每一栏位的意义是∶<ol>
		<li><span class=text_import1>群组名称</span>∶就是群组名称啦!</li><br>
		<li><span class=text_import1>群组密码</span>∶通常不需要设定,因为我们很少使用到群组登入!
			不过,同样的,密码也是被纪录在 /etc/gshadow 当中棉!</li><br>
		<li><span class=text_import1>GID</span>∶就是群组的 ID 啊~</li><br>
		<li><span class=text_import1>支援的帐号名称</span>∶加入这个群组里面的所有的帐号,
			我们知道,一个使用者是可以加入多个群组的。举例来说,如果我想要让 dmtsai 
			也加入 root 这个群组,那么在第一行的最后面加上『,dmtsai』,注意不要有空格,
			使成为『 root:x:0:root,dmtsai』就可以棉~</li></ol>

		比较重要的特色在于第四栏啦,因为每个使用者都可以拥有多个支援的群组,
		这就好比在学校念书的时候,我们可以加入多个社团一样! ^_^。
		不过这里您或许会觉得奇怪的,那就是∶『<span class=text_import2>假如我同时加入多个群组,
		那么我在作业的时候,到底是以那个群组为准?</span>』底下我们就来谈一谈这个『有效群组』的概念。<br><br>
		</div>

		<hr><a name="account_group_init"></a><li><span class=text_import1>有效群组(effective 
		group)与初始群组(initial group)</span></li>
		<div class=block2>
		还记得每个使用者在他的 /etc/passwd 里面的第四栏有所谓的 GID 吧?那个 GID 就是所谓的『初始群组 (
		initial group ) 』了!也就是说,当使用者一登入系统,立刻就拥有这个群组的相关权限的意思。
		举例来说,我们上面提到 dmtsai 这个使用者的 /etc/passwd 与 /etc/group 还有 /etc/gshadow 
		相关的内容如下∶<br>

<table class="term"><tr><td class="term"><pre>
[root@linux ~]# <span class=term_command>grep dmtsai /etc/passwd /etc/group /etc/gshadow</span>
/etc/passwd:dmtsai:x:501:501::/home/dmtsai:/bin/bash
/etc/group:users:x:100:dmtsai
/etc/group:dmtsai:x:501:
/etc/gshadow:users:::dmtsai
/etc/gshadow:dmtsai:!::
</pre></td></tr></table>

		仔细看到上面这个表格,在 /etc/passwd 里面,dmtsai 这个使用者所属的群组为 GID=501 ,
		也就是 /etc/group 里头 dmtsai 那个群组啦~因为这是 initial group ,所以,
		使用者一登入就会主动取得,不需要在 /etc/group 的第四个栏位写入该帐号的!<br><br>

		但是非 initial group 的其他群组可就不同了。举上面这个例子来说,我将 dmtsai 加入 users
		这个群组当中,由于 users 这个群组并非是 dmtsai 的初始群组,因此,
		我必须要在 /etc/group 这个档案中,找到 users 那一行,并且将 dmtsai 这个帐号加入第四栏,
		这样 dmtsai 才能够支援 users 这个群组啊。<br><br>

		那么在这个例子当中,因为我的 dmtsai 这个帐号同时支援 dmtsai 与 users 这两个群组,
		因此,在读取/写入/执行档案时,针对群组部分,只要是 users 与 dmtsai 这两个群组拥有的功能,
		我 dmtsai 这个使用者都能够拥有喔!这样了呼?不过,这是针对已经存在的档案而言,
		如果今天我要建立一个新的档案或者是新的目录,请问一下,新档案的群组是 dmtsai 还是 users ?
		呵呵!这就得要检查一下当时的有效群组了 (effective group)。<br><br>

		<a name=groups></a>如果我以 dmtsai 这个使用者的身份登入后,该如何知道我所有支援的群组呢?
		很简单啊,直接输入 groups 就可以了!注意喔,是 groups 有加 s 呢!结果像这样∶<br>

<table class="term"><tr><td class="term"><pre>
[dmtsai@linux ~]$ <span class=term_command>groups</span>
dmtsai users
</pre></td></tr></table>

		在这个输出的讯息中,我知道我同时属于 dmtsai 及 users 这个两个群组,而且,
		<span class=text_import2>第一个输出的群组即为有效群组 (effective group) 了</span>。
		也就是说,我的有效群组为 dmtsai 啦~此时,如果我以 touch 去建立一个新档,例如∶
		touch test ,那么这个档案的拥有者为 dmtsai ,而且群组也是 dmtsai 的啦。
		这样是否可以了解什么是有效群组了?<br><br>

		<a name=newgrp></a>那么如何变更有效群组呢?这个有两个方法,不论是那个方法,都是以 newgrp 达成的!
		以上面这个例子来说,因为我的 dmtsai 使用者同时拥有 dmtsai 与 users 两个群组,因此,
		dmtsai 当然可以随时切换 dmtsai/users 成为有效群组棉。所以,我可以下达∶<br>

<table class="term"><tr><td class="term"><pre>
[dmtsai@linux ~]$ <span class=term_command>newgrp users</span>
[dmtsai@linux ~]$ <span class=term_command>groups</span>
users dmtsai
</pre></td></tr></table>

		此时,我的有效群组就成为 users 了。当然,要能够顺利切换有效群组的话,还需要
		/etc/gshadow 的辅助才行~这个等一下我们会说明的。好了,那么如果你开始在 /home/dmtsai 
		这个家目录底下尝试建立一个档案,例如『 touch test2 』好了,会发生什么状态呢?
		呵呵!那个档案的群组竟然变成 users 了!这样更清楚有效群组的意义了吧?!<br><br>

		我们额外的来讨论一下 newgrp 这个指令,这个指令可以变更目前使用者的有效群组,
		而且是另外以一个 shell 来提供登入的喔,所以,以上面的例子来说,
		dmtsai 这个使用者目前是以另一个 shell 登入的,而且新的 shell 给予 dmtsai 有效 GID 为
		users 就是了。当直接执行『 newgrp groupname 』时,使用者的有效群组会成为 groupname ,
		此时虽然使用者的环境设定(例如环境变数等等其他资料)不会有影响,但是使用者的『权限』将会重新被计算。
		举例来说, dmtsai 此时建立的新档案群组是 users 了~<br><br>

		鸟哥的这个例子当中,要注意的是, dmtsai 这个使用者本来就属于 users 与 dmtsai 这两个群组,
		所以他可以直接使用 newgrp 来切换有效群组,而要离开新的有效群组时,输入『 exit 』即可。
		假设我的 Linux 系统当中还有另一个群组,名称为 vbird,那么 dmtsai 是否可以登入 vbird 这个群组?
		在某些前提下是可以的∶<ul><span class=text_import2>
		<li>vbird 这个群组在 /etc/gshadow 的密码栏为合法的(不具有 ! 开头!);
		<li>dmtsai 必须让 root 或群组管理员 (group administrator) 加入到 vbird 群组中。</ul></span>
		这两个大前提缺一不可喔!好了,假设我已经使用 gpasswd 建立了 vbird 这个群组的密码,
		而 dmtsai 也被加入群组成员当中了,那么当 dmtsai 输入 『newgrp vbird』时,
		嘿嘿! dmtsai 这个使用者的有效群组就能够变成 vbird 棉~
		</div>

		<hr><li><span class=text_import1>/etc/gshadow</span></li>
		<div class=block2>
		刚刚讲了很多关于『有效群组』的概念,另外,也提到 newgrp 这个指令的用法,
		但是,如果 /etc/gshadow 这个设定没有搞懂得话,那么 newgrp 是无法动作的呢!
		我的 /etc/gshadow 的内容有点像这样∶<br>

<table class="term"><tr><td class="term"><pre>
root:::root
bin:::root,bin,daemon
daemon:::root,bin,daemon
sys:::root,bin,adm
</pre></td></tr></table>

⌨️ 快捷键说明

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