00:00
大家好,欢迎大家继续收看上回谷的云计算课程,我是沈涛老师。这节课呢,我们继续来学习用户管理当中的相关命令,那这节课我们来看看设置密码命令,那设密码呢,我们都见过了,Pass的后面加用户名就可以对吧?呃,然后呢。这个事儿大家需要注意一件事,啥事?超级用户肯定是能够修改什么。这个其他所有用户的密码对吧,那普通用户能不能改密码呢。我们那有设计的,怎么下?各位。普通用户肯定不能改别人的密码。对吧,比如说我想改一下U2,他一定会报错,只有跟用户,也就是入存用户才能指定用户名,说白了就是它只有root才能改别人的密码,对吧,但是。普通用户虽然改不了其他人的密码,但是他应该能改自己的密码呀。
01:01
这样的话是不是才是合理的,对不对,那普通用户怎么改自己的密码,我们试试他说的。UC同样还会报这错。哎,原因。系统认为啊,你后面如果加个用户名,我还得干嘛写一个程序来检测你写的这个用户名是不是你自己这样更麻烦,所以呢,他强制要求你要改自己的密码。你普通用户如果要改自己的密码,Password直接回车就可以了,它就是作用就是修改当前用户密码,那root没问题啊,Root你就是手工改,就是后面再加其他用户名,加root都行,主要就是给普通用户修改自己密码用完,那也就说要想改自己密码,什么都不要加,他做的直接回撤,小心。他现在要求输入的是你系统当前密码,你别搞错了,他要确认你是UC,所以这里输入的是1UC现有密码123。
02:01
然后允许你输入正确的新密码,这个时候如果你要输简易密码,比如说234看它就会报错不行。这个可和那个root改的那个不一样,Root那个虽然提示过段,但是输两遍就能生效,这里你再输也不行,所以你的密码就一定要符合密码原则,那我就随便写一个。好,这个时候看他才会要求你重新输入,看见了吧。One。两次密码如果说输了是一致的,这个时候才会更新成功,OK,小心普通用户改自己的密码是有一定限制的。第一个。Pass,后面要直接回车,不能加用户名,第二个需要你输入当前密码,第三个你的新密码必须符合密码原则,否则就不能生效。好那。普通用户改密码啊,那我把这个密码改回来,要不然扭头就忘了,所以我就给UC再改回来,你看超级用户就没那么多事儿了,我就123,你看依然可以生效,OK,好,这是pass的命令的基本成法。
03:08
可以,普通用户是能改自己的密码,但是不能改其他人其次。我们来看看他所有的一些常见选项,前两个好理解,锁定和解锁进入root可用,哎,也就是说我可以暂时不让某一个用户登录,把它给锁起来,比如说我可以干嘛,Password-L的意思就是lock锁的意思,我把uce用户给锁起来。那这个时候看他干嘛了,实际上打开沙洞就能看到是吧?他把U42用户的啊,这里U42没有设密码啊,看不出来,那就是说U43。把U43用户给锁起来,这个时候打开沙龙你会发现啥事。实际上是不是就是在U43前面加了两个感叹号,这事我们解释过吗?什么这是加密密码,密码串加入任何符号它都没有办法正确再换算出来,所以导致它就会干嘛无法登录,那其实这和你手工在这里输入感叹号作用是一样的啊,只不过命令是允许支持的,杠L是锁定,那杠U就是解锁。
04:18
呃,L是lock锁定,U是unlock,就是解锁的意思,好,那这个时候看我再打开沙漏。看U43的这个感叹号是消失了,那还是手工改也行,没问题啊,手工改好。那这是什么?锁定和解锁用户,其次pass的命令支持一个杠杠的选项,这个选项的作用是这个什么?使用输出了字符串作为密码的干嘛了,看到。他可以这样来写。Echo。123I是不是输出管道服把它交给pass的,由于杠杆ste的作用,然后由他来干嘛设置这个用户的密码?
05:03
哎,各位,这就是什么设置用户密码呢,这个作用啊,那有人说老师为什么需要这样设密码,原因你看啊,如果我要是手工设密码,比如说帕做的我给U30。你看它是有一个需要等待用户输入这样一个过程,必须由用户手工在这里说,再说回车,然后才能生效,那各位。我如果是这个人手工添加,那这样做肯定没问题。但是如果我要是通过程序来批量添加呢。各位。我一直在讲啊,Share是一个非常简单的语言,以至于太过复杂的操作,事都完成不了。那这种东西我们叫做人机交互,换句话说,你的上程序要判断什么情况下这个程序停止了,然后呢,他要判断这段时间系统这个程序让我干什么,系统让我干什么,然后呢,我在正确输入密码,然后还要回车,它才能生效,那这个事儿通过事儿是完成不了。
06:13
人机交互时,Share是做不到,当然可以通过在share当中嵌套更加强大的这个语言,其他的语言、expect的语言来完成人际交互。换句话说。SH本身是不支持的,其他语言支持,但是很麻烦,所以一旦要出现这样的人机交互,就是需要人需要程序来自动输入东西,然后才能让系统自动执行,这种情况上就很麻烦。所以。他做了,觉得与其让你们自己写程序,还不如我帮你写这样一个选项,他可以直接拿字符串来作为密码,这样做最大的好处在于,最大的好处在于我不再需要人机交互密码,一条命令就可以回车,就可以生效,用于批量添加用户。
07:01
各位,有人说那老师我一个一个手工添加不行吗?哎。如果用户少没问题,那如果用户多呢,比如说我来了一个班的学员,这个上课我要给他开测试账户,一个班就是五六十个学员,那可能我要三四个班同时在校,我就可能几百个学员,我一个一个填。这事是不是就效率很低呀?而我们就说。脚本其实就是用来干嘛,减少管理员重复操作,像这样需要重复的东西,当然最好就是写脚本,OK,但是写脚本呢,如果要设密码,必须有人机交互,这个很麻烦,所以passor给我们考虑到了这个事儿,包括把它给我们变成了什么。选项就可以完成,这样的话就不需要调用复杂的expect语句,然后直接就可以这个share就能完成,这是不是就简单了。包括。前面的锁定的用户。这其实也都是为了什么写脚本考虑,哎,手工要想锁定你是不是在VI打开这个文件,杀毒文件。
08:06
啊,然后呢,是不是手工还要在里面输入A,进入输入模式,然后去改,这这是不是也是这个人机交互share是根本做不到的VI,如果用share来写VI是几乎是根本就不可能的,所以后面才会有什么sat这样的工具来替换字符串啊后面再说这个那。这样做更麻烦呀,要锁定那人来做没问题,手工那如果用程序做呢,一个命令来解决,这样的话是不是就没有交互,这样就很方便听懂了,所以。这样做主要的目的是为了这个。这个写程序批量添加使用,OK,那可以做吗?可以艾。把密码123管道服接收过来,Pass的杠杠STT给哪个用户,给test的用户设置一个密码,OK,合成看不需要任何交互,有两个骑士就命命令,这个密码就更新了。
09:06
这个才适合写程序来用。OK,我们后面到程序的时候再说可以吧,那你要理解这样做不是多此一举的,它是在特定的情况下是有特定的作用,但是这样做是有缺陷,什么缺陷。你的密码对。系统可以通过一个叫做history的命令答。这是历史对吧?它的作用是查询你超过了所有的历史命令。哎,我曾经之前录视频的时候,有学员跟我说反馈说老师你这个读错了,不读history,应该读history。我靠,我就想我塞,我说虽然我英文烂点吧,但是这么简单的单词不错的几率很小吧。然后我就查了一下各位。History是美式发音,History是英式发音,那咱们一般学的都是美式发音,所以没啥大大问题啊,好了,回撤你会发现它会记录你超过了所有归刃。
10:09
那刚刚这条设置密码的命令在不在?在吧,那这样的话是不是相当于密码被铭文保存在了系统上,有可能出现安全隐患?当然。这种情况下可以history-C,它的作用就是清空,清空完再敲,你会发现所有这面就没有了啊,通过这样的方式来解释好history,我们用到了简单词语,后面还会讲,这就是。这个使用字符串来作为密码,OK,其次啊,还有件事就是说,比如说我真写了个程序,我批量添加了100个用户,小心通过程序添加的用户,它的用户名必须是有规律的,也就是说必须是UC1U2,一直到UC100。这样才能通过程序添加,而不能是张三李四王二麻子这样添加,这个不行,程序就做不到了。
11:06
它必须要有规律,那其次呢,他是不是还要有一个初始密码,我所有人的密码是不是都是123,那我问你合理吗。不合理吧,那我怎么办?我能不能强制要求用户在第一次登录的时候就必须来改密码?这应该是必备的。那我们想象一下。我应该去改哪一个沙兜里啊,这不是密码吗?看。这里边儿是不是总共有这么多字段,这个杀到里边。我应该去改哪一个字段,才会让这个用户尝试登录之后修改密码。嗯。我们的学员都告诉我,老师应该改这个密码有效期,把它改成零,它就会登录不对啊各位,密码有效期改了之后,如果你后面的宽限签真的是零,它会把这个用户给锁起来,前面加个感叹号给锁起来,然后呢,反而导致你登录不了,而不是会强制你去改密码。
12:03
不对,这个事儿可能我要说一句,你们想象不到强制的是谁。这个。这个值是什么?是密码的更这个更新时间,你什么时间更新的密码,这是不是时间戳。把它改为零,零的意思就是我从来没改过密码,我从1970年1月1号开始,我就没改过密码,系统认为这事绝不可能,这不扯淡吗?所以只要把它改成零,系统就认为你的密码时间是不对的,所以你登录之后第一件事就要强制你改密码。OK啊,当然这个值可以手工来改,手工改我又说不适合写程序。我们写这些东西,讲这些东西其实都是为了写一个批量添加用户这样一个程序,对吧?那写程序手工改V是做不了的,那怎么办?这里我们就教大家一个命令,这个命令叫做charge。差只是修改密码属性的这个命令,杠G铃这个命令,这个命令用的很少,就知道这一个选项就行,杠G0的作用就是修改密码呢,这个把它的这个第三项,杀毒里的第三项,也就是密码的修改时间改为零,我们试试来。
13:09
就改U41啊,差杠D0,然后把U41的这个密码修改时间改成改了是改了吗?看一下。留吧。这个时候我拿UC重新登录,必须要重登录可能。登录成功了,但是系统认为我靠你这个时间不对啊,你必须干嘛修改密码重新登录才可以,这个时候我先要输入你的旧密码看清楚啊,英文的啊,别搞错123要求输新新密码。密码是不是就必须要符合?这个复杂性要求好了,改完生效了,看他退出了没,让你登进去,原因需要你再登录点这这是重新连接啊,再点。
14:00
然后密码不对了,对吧,我干嘛输入新的密码。然后才能登录进去看见了,那一旦重新登录这个时间呢,看退出再打开这个时间看是不是就。就又变成了你今天改密码的时间了,哎,看明白了吗?这就是修改,他会强制要求用户第一次登录的时候强制改密码,小心手工改也行,通过差值命令改也行啊,这是设定密码的内容,其实呃。就是讲了一些什么东西,讲了一些后期可能用到的东西,其实如果真的只是改密码pass了,加用户名,就这么简单对吧,这些东西我们后面写程序的时候会用到,所以我们提前要说一下。所以我说啥?SH程序,我一直说SH是所有程序语言当中最简单的,因为它的功能相对就是比较少。但是呢,事儿还真不适合作为零础零基础学员的初学来学。事儿原因,事儿考量的,考验的不是你对语言有多熟悉,考验的是你对系统有多熟悉。
15:10
如果你在写程序的时候,你能想起来有这个东西,你这个批量添加用户,你这东西如果你压根想不起来,你这个程序可能就写不下去,他考研的是这个,所以事而不满,那是指的是针对你对Linux已经很熟悉的情况下写事而不满,OK。好了,这是设置密码。接下来。修改用户的相关信息。我们来看看这条命令,使用的命令是user mode。U色Mo的就是莫基反应,那小心它的选项。其势和你如果仔细去看是一样的,你看。直接UIG加目录说明这个初始组附加组share还有什么,这个是这个这个这个是失效时间可以手工指定,那这个情况我说跟U酸艾是一样的,那两命令有什么区别,两命令相等吗?当然不。
16:06
是添加新用户的时候,在新建用户的同时指定它的属性。而user是修改了旧用户,系统中已有用户,我可以用user来修改,听明白了吧?那同样还是一句话,这些选项其实我们都不建议你手工改,有啥好改的,何必呢?那反而真正常用的就是优和大机,它的作用就是把已存在的旧用户加入到其他作。听明白了吗?这就是这个优色木头的主要作用,那我们试一下,那我们啊,我最讨厌讲这个章节测试,用户一多就晕。那我现在有。T2。呃,别别别就U色一,U色二和U色三,那我现在想把U色二和U色三加入到U色一组里可以吧,那这种情况我跟你讲啊,如果是用user user。
17:05
有爱。你是不是得是新建用户的时候把它加进来。那我用用户已经参加完成了呀,这个时候。就要使用用户user这个命令U了啊,我现在要做啊,把他俩加入到user组里好退出。命令user mode,先写用户名,这样不容易搞混,我再说这是操作用户的命令,所以它的参数是用户啊,然后再杠大G。把它加到右色一组里,哎,各位别搞混啊,原因。既有UC用户也有UUC,既有UC2用户也有UC2组搞混了是不是就加反了对吧?把U42加进去,那把U43呢也加进去,这个时候查一下group,我们就可以看到这两个用户是不是作为附加用户加进来了,对吧?不影响初始用户啊,所以建议还是使用杠大机,不要用小机。
18:03
那至于其他的选项呢?啊,就用途就很少了,其次u Mo也可以锁用,只不过它使用的选项是杠大L和杠大U。啊,这个事儿我就说我们。知知道一个是不是就OK,反正就是想把用户那个密码前面暂时加一个符号,把它锁定起来。那我用他做的杠L不就完了嘛,对吧?前面小写L是不就就完了对吧?我何必还要再背一个,这个就太不好理解了,所以我觉得知道一组就行,知道多了反而容易搞混,我的目的就是实现这个功能就OK,所以推荐大家就pass-L-U就行了,这个U说不准的事就可以忽略了,不理他。所以。因反而更常用的命令就这一个选项。OK,有问题吗?曾经就有学员问过我,老师能改这些用户的信息属性,能不能改用户名?各位,这个事儿我跟你讲,在Windows里可能很简单,改起来是不是就是个吧?
19:13
直接在这里是不是右击是不改用户名就行了。是不是重命名就行了,对吧?但是在linus里我们是不建议改用户名,原因Windows更智能,你改了用户名之后,它会自动把跟这个用户相关的所有信息都改掉。而linus不行,如果你真改了用户名,真改了用户名,你好像名是改了,但是他的初始组,比如说我把U41的名改成了这个这个这个P。那改完之后呢,你会发现名改了,用户名改了,但是组初始组名没改,还是UC组P用户在初始P组里,UC组里。而其他对应的这些东西都没有改,用起来就极其的痛苦,特别容易把自己给搞晕。
20:01
所以极其不建议你去改用。如果你真的想要改用户名,删除旧用户,建立新用户更合理。OK,这样做反而更合理。当然我再说,这都是建议。你觉得说老师我不会晕,我确定我非要改能改吗?能六的杠小L后面这个前面写新名,后面写旧名,别写反OK就改了,我不敲我不敲啊,这命令我会晕档,所以我不敲,我也建议你别敲。注意是小L,大L在这里是锁定的意思,OK,好,这是u Mo的这个命令的作用,其实这个命令主要用途还是把用户加入这个了解就行,其他的都是了解一下,知道就行,尤其不建议改用户名。好了各位,这节课内容就是这样,我们讲了password就修设定密码和user mode修改用户信息的两个命令,其中password里面这些选项建议大家去要求记忆的啊,尤其是这个东西我们后面会用到,包括这个差值我们都会后面用到,而user呢,可能了解一下就行,绝大多数选项都不建议使用。
21:10
这节课的内容就是这样,我们下节课再见。
我来说两句