00:00
大家好。欢迎大家继续收看上硅谷的云计算课程,我是沈超老师。这节课呢,我们继续来学习用户的相关文件,我们来看第二个文件,也就是ETC下的沙引子文件啊。那我们打开这个文件看一眼。ETC下的沙。那这个文件看起来明显的要比他做的是不是看起来要复杂对吧。我把这个关卡太多了。看起来是明显的要复杂对吧?那同样先数一下它一行有多少列,同样是以末号为分割作为数这个分割的列数。这个我一般让学员数学这个有时候就数不清楚啊,我就觉得挺可笑的啊,那总共是九列啊,总共是九列啊不你也别说了,行了啊,我就说总共是九列。那我们来看看这九列的内容。第一列。
01:00
用户名称,哎,跟之前一样的,首先标标识的是用户名。第二列呢,是用户的加密之后的密码,各位,我们从RED6,从RED6开始,它的加密方式升级成了SHA512加密。之前的老版本五,以前的全部都用的是MD5家。MD,那原因啊,MD5加密是一个128倍的加密T,这个加密等级在我们当前来讲,它的加密等级是比较低的,是有可能能破解的,所以呢,呃,这种加密等级这个旧版本呢,是不够安全的,已经淘汰了,那我们这种现在光看名字能看出来这是一个512位的加密啊,那目前来说,应该说在我们当前的计算机当中是可以这个保证它这个加密等级是足够的啊。好了,但是带来的一个直观体验就是这个密码更长了,OK,其次啊,还有些学员担心担心啥,主要是。我设个密码是123,它算出来是这样,你设个密码也是123,如果你算出来的值和我的值是一样的,那我不就能猜出来你的密码是123了吗?
02:10
各位,你担心的太多了,为啥MD5的特性,其实原先的时候,MD5的这个算法的特性就是我们说过了,只要它的值不变,算出来的内容是不是就永远都不变,那有这种担心其实是对的,但是啊,我们Linux系统不会这么傻,就会让你通过这么简单的方法就能猜出来它的原密码,对吧,不可能,所以。他在算这个密码的时候,除了要把密码值考虑进去,还会考虑你的用户名,包括你密码的生效的时间等等等等这些东西全部算出来一个值,所以就算都是123,你不同时候回车,它算出来的这个值也不会是一样的,你不用担心这个事儿啊,那这是第二点。加密之后的密码,那这里还得多说两句。你们会发现啊,我们绝大多数的伪用户的密码,要不然是两个感叹号,要不然是个星,其实代表的都是这个用户是没有密码,也就是不能登录可以看到,要不然是星,要不然是双感叹号,对吧。
03:13
那我们说这些用户都是没有密码,他是无法登录的,呃,其次如果我们给我们的密码上面别别给root,我给UC上面,我上面加一个符号呢。各位。其实这里我想说啊,这是一串加密密码值,不要说加一个感叹号,你在前面或者中间加任意一个符号,我问你还能算出来吗?那它是不是就肯定就算不出来了,对吧,就会让这个用户干嘛失效,来我们试一下看它加密了,这个要保存最初啊,啊对要强制啊,因为这是个权限是000的文件,000是呃,Root也要强制才能保存好,保存这个时候我拿UC登录。
04:01
你会发现稍等一会儿,因为他验证发现不对,哎,然后说密码不对,服务器拒绝了密码,你再试一次,这个事儿就是你不论试多少次,你试几回,试什么密码他也不对,因为啥。他不是你看这个就登录不了了,因为这个密码它不是通过加密算出来的,而是你手工做了修改,那他无论怎么这个验算都是不合理的,对不对,所以我们可以通过这种方法,手工在这里加感叹号,临时禁用这个用户登录啊,可以,当然我再说啊。加任何符号都行,不一定非要加在前面,加在中间也行,关键的问题是,你要真是加那个任意符号,加在了中间,我问你加的时候你很痛快。加完了你还能把它再改回来吗?啊,比如说这个用户我又想让他登录,我重新把它再改回来,你觉得这事儿可能吗?是吧,所以我们约定俗成,如果你想让一个用户这个临时的不能登录,约定俗成在他的密码的前面第一列第一位加入一个感叹号,这是约定你我建议你最好你就照着这个约定走,你也别这个特律中心,OK,那这样的话,我们是可以手工让密码暂时失效的啊啊这星号也不要的,就是这么约定,就是这个好吧,再一个就是所有的伪用户都是不能登录的,因为它就没有密码,OK,这个是是需要注意的好。
05:27
像这样的实验做完。改回来啊,强制保存一下好,这是第二列。用户的密码。OK,那当然改回来,这个用户肯定就能登了,试一下登录就成功对吧,所以。好,所以注意这个事儿啊,我把这个终端关下,这是第二点,那第三列呢。第三列是时间,是你更新密码的时间,你在什么时候设置的密码?有人说,老师这个密码时间怎么这么快。
06:04
我们的密码不都是年月日吗?有人说了,老师这还不简单,17年2月14日,扯淡,你想当然的,这个是纯扯淡,不对,那是什么?各位?这个虽然是时间,但是它显示的不是年月日。而是一种叫做时间戳的东西。什么是时间戳?我们计算机规定。1970年1月1日是我们标准时间,我们认为这是标准基准时间,然后呢,这个时间17214指的是。在1970年的。1月1号之后又过去了17214天,于是在这一天更新的密码听清了,这就是时间戳,有人说老师为啥这么麻烦,原因。
07:00
写时间戳要比写年月日简洁好好看,那有人说那算起来不方便啊各位,我们今天的计算机,它的运算速度已经远远超过你的想象,这样的转换对人来讲可能很痛苦,但是对计算机来讲瞬间完成没有任何压力,所以我们在密码当中是用时间戳表示的这个密码更新时间。但是啊,我这里会给你一个这个这个运算方法,这其实是一个上脚本,那我们简单看一下它是啥意思。这句话的意思是八双小括号,这里面括的内容是数学运算,也就说是里面是加减乘除。然后呢,当了单小括号里面的课,这个括的内容是系统命令,哎,我跟你讲啊。编程和这个运维可能差别很大,编程抠的就是这里是双小括号还是单小括号,还是中括号还是大括号,它抠的就是这个,所以有时候挺讨厌的啊OK,那。
08:04
这是一条系统命令。这条命令的作用是把你指定的。这个时间换算成秒,就是这个时间是这个之后过了多少秒。换成表OK,那。然后呢,换成表之后我说了。这里面是不是数值运算除以86400秒,那我们今天,我们现在的这个日期一天就是86400秒,再加一,得到的值就是这个家伙的。这个时间戳,反过来这层命令直接有这个杠G选项,允许你把时间戳。换算成今天的年月日啊,只要照这个格式就行,这个格式比较别扭,我们算一下,那我们今天的时间说是要七,先等会先等会对杠D双引号一九,把这个这个标准日期要写上双引号啊格式。
09:01
1970杠零一杠零一,那我们的时间戳是。1721417214,然后后面空格加this好。This回车,它就会算出来这个时间戳。是2017年2月17号,我们这次看一眼,我们今天是2017年2月18号,我再说一遍啊,虚拟机的时间是不准的,我说过这事原因这个虚拟机是没有主板电池的,断电之后时间不会再跳,再一个第二个原因就是虚拟机有快照,一旦恢复快照就会恢复到创建这个快照的时间,所以。这个不是我们今天的实际日期啊,不是,那但是呢,这个就是说想告诉你的事情是,其实设置这个密码就是昨天的事儿,昨天设,那通过这个格式可以把时间戳换算成。日期,那反过来通过这个格式就是可以把日期换算成时间戳,这个格式也比较复杂,我们算一下艾口到了双小括号。
10:09
中间是竖式运算,当然了单小括号调用系统定位date杠,Date看格式啊,双引号等于双引号,写你要算的时间,这个日期啊,Date等于双引号。我们今天是这个假设,就是2017年0218,那我们然后。把这个时间会算成秒,然后呢。除以8万。6400秒加一,然后这个就是我们。86400秒加一等一下啊。好。写错了。杠杠,这选项OK。这个完整格式选项需要两个减号调用来回撤,它就会告诉你还有一个格式错误啊。
11:02
啊,这个竖式运算有时候就是这样讨厌啊,我看一下。不对,是。数值运算少了一个加百分号S,把它换算成表,然后再除啊,少了这样一个东西啊,好了,这个时候对了,这个数值运算这个格式不是太常用的格式啊,所以超位也没背下来啊,再一个就是我也告诉你没有必要把它背下来,只是想告诉你。这个时间戳是怎么来的啊,我可以把时间戳换算成时间,也可以把时间换算成这个时间戳对吧?那昨天的时间戳是。17217214,今天就是17215对吧,那肯定是没问题了,所以大家只要知道这个事儿就行了,这个事儿我就说。不需要对手工计算,再有一个对用户来讲,算起来极其困难,但是对计算机来讲都是瞬间完成的,他这个算法只要写好,编程嘛,就是这样,算法只要写好,随时调用,直接生效就可以了。
12:09
你只要知道。这个时间戳是怎么来的就可以了,然后万一碰到时间戳,你想知道一下时间,查笔记,找到这个算一下就行,OK好了,那我们。解释了一下这是什么?这一列定义的是系统换算什么?就是更新密码的时间是哪一天更新的,不过它的格式不是年月日,而使用的是一种叫做时间戳的内容。这是第三列。行了,第四列呢,是两次密码修改的间隔时间,默认这一列是零,也就是说。这个密码修改不需要间隔,那如果你这个里面改个十,那就是说第一次密码修改完十修改完20214修改完,你没有到224这一天,你就不能改密码。
13:00
诶,限制用户频繁更改密码,这个一般来说用不着啊,呃,这个只是他有这个选项,因为啥你想凭啥不让用户改密码,如但是在一些极特殊的情况下,比如说我可以限制一些,有一些安全性要求比较高的,我会限制用户更改密码的次数,这个时候有可能会考虑限制它的密码间隔,默认是零啊,零的意思就是你随便可以改。我说和第三自段比啥意思?这个地方写的,比如说是十或者五八,那就是说和他比必须要超过五,要到17219才能改密码,所以我说第四字段是和第三字段来比,要过五天才行,看明白吧。这个不建议修改啊,其次第五列。密码的有效期也就是这一列。默认值是99999,同样也是和第三列啥意思,也就是说今天改完密码之后,你的密码在九万多天内都是有用的。
14:05
9万多天,99999,大概是换算成年大概是270多年。我觉得你活不到这个岁数,所以呢,你可以认为它是永久生效,那说到这儿,还记得密码的三原则吗?三原则指的是什么?复杂性吧,要足够复杂吧?记忆性吧,要容易记吧?还有一个是时效性,换句话说。如果真是真是生产服务器密码设9万多天不合理。那如果我需要,我可以把它干嘛改一下,比如说我改成。180寸。我要我的密码。最长不能超过180天,有效期再说一遍。这一列是和第三列相比。嗯。也就是说。比如说我今天改了一下密码,这个值是不是就变成了17215。对吧,那从这一天往后数,180天之内必须改密码,但是比如说我到了第179天,我一改密码,这个时间是不是就变了,那他的这个有效期就会再延长180天,所以我说这是和第三列相比,哎,这是这个密码有效期看见吗?
15:20
好密码的有效期和第三列相比。接下来这个期指的是密码到期前的宽限,这个警告时间啥意思?我的密码有效期数设的是180天,那么等到第173天开始,你这个用户每一次登录,系统都会给你一个提示,说你的密码快到期了,请你改密码。当然一改密码之后,这个时间更新,你就又可以用180天,对吧,但是这就是说从第七天开始,就是临近到期的第七天开始,每次登录都有提示,所以我说它是到期前的警告天数。
16:02
是和第五字段相比的,也就是说和他相比。这个期指的就是它到期前的第173天开始提示,对吧,那。第六列呢,现在是空的,这应该是第123456第七列,第七列默认是空的,这个是密码到期之后的宽限天数。啊,第七列密码到期之后的宽限天数,各位默认是不是啥都没写。啥都没写,默认值是多少?各位,有人说零不对。默认值是负一。这个我们后面可以看到,我会教你在哪。那如果真的是负一,代表这个用户的密码是永不过期的,也就是说就算到了180天,这个用户也不会被禁用,他还会正常使用,不合理吧?那如果这个值要干嘛?如果要想让它到期之后。就不能使用,把它宽限只写成零或者写成五也行,到期之后宽限五天到185天,你还不改,我就把它这个停止,OK,所以第七列是到期之后的宽限天数,同样是和这个一百八第五字段来进行相比了。
17:20
到期之后的宽限天数,默认值小型这里车挺讨厌的,默认值是负一,那代表就是用户到期他也不会进行,当然这个默认值会改,能改我们后面会教给你从哪改好,注意这个事儿,这是第七列。第八列是密码的失效时间,啥意思?我们总见过这样的什么,比如说你买了一个什么,这个腾讯视频的会员。买多长时间,一年吧。你的用户是不是只是这个到一年是不是就截止了,那有人说前面这个密码的有效期不是可以吗?哎各位这个有效期不行啊,为啥这个有效期是你只要改密码在180天之内,改密码它就会在瞬间180天。
18:07
那理论上你只要这个每半年改次密码,你可以一直用下去,但是我们说我们的需求有可能是我的会员年限就一年。对吧,我你入职之后,你交钱的时候,我就给你算好,除非你再交钱,我会给你再延,那这个时候靠这个密码有效期是控制不了了,他只是强制要求你在180天之内改密码。改了密码,他还会就会瞬移对吧。那这种情况下,第八列。就是用于干嘛,就是这一类,就是用于干嘛设置密码的到期时间呢?哎,那也就是说。如果你这一列设置了时间,它到这个日子就会失效,当然也得写时间柱。哎,对,那也就是说你看你今天也就是说假设从2017年2月几号来着,忘了,反正2月1号吧,你付费了,那我给你算算加365天或者366天,然后我给你算个值,把它加在这,这样的话你到期你就不能再用。
19:09
不论你是不是改密码都不能用,所以我说这个值是真正的密码的失效就是用户失效时间,你可以这样理解啊,用户到这里就无法使用,用于干嘛?就像你们买会员,到会员日子之后,这个会员就会终止用于干这个事的。Art。前面的这个密码有效期,只是强制你在180天之内更改密码,他你只要到期改密码,你这个用户可以一直用下去,OK,还有啊,如果这里真设了这个密码,这个用户到期时间,如果真设置了这个时间,那么到期之后,他会给这个用户前面加个感叹号,就跟我们刚刚手工做的一样,它会自动加一个。这样的话,这个用户就会无法登录,而这种感叹号是必须由管理员手工来修改了,求手工把它改掉再开启才可以。
20:01
哎,所以这是第八列的作用,密码的到期时间,如果真的要写,请你写时间戳。最后一列没有作用,保留第九列是没有意义的,也就是说这个冒号后面还有一列,这个就没有意义好。这就是杀毒文件的九列内容。各位。这九列明显的比帕做的是不是要复杂,所以大家背起来的时候要更加认真,而且它里边有可能会搞混,容易搞混的就是这个密码的有有效期和用户到期时间,这两个值不一样啊,这两个值大家可能需要注意一下。好了各位,那我们这节课的内容就是这样,我们下节课再见。
我来说两句