您的位置:首页 > 运维架构 > Linux

Linux--系统密码管理及用户切换

2017-08-06 10:18 288 查看
**********************************************************************************************************************************

 
   之前已经写过用户和组的定义及用法,有账号必然就有密码,现在就说一下,Linux系统是如何管理密码的:

 
   打开xshell命令界面,创建一个测试账号 sunday,打开/home/etc/passwd 文件,

 
   


 
   可以看到,sunday账号已经存在

 
   我现在是以管理员账号登陆,如果命令界面只输入passwd命令,则会默认修改管理员登录密码,

 
   


 
    修改用户root的密码,输入两次新密码之后,就会修改,我们现在只测修改普通用户的密码,所以下面的就不演示了。那我想修改普通用户的密码又改怎么做呢?

 
    输入 passwd sunday 命令:

 
    


 
   Linux系统对登录用户的密码复杂程度是有要求的,输入太简单,就会出现以上提示。

 
   再看,密码已经修改成功,现在试着用用户的新密码登录:

 
    


 
    已经成功使用sunday新密码登录!

 
    如果想使用sunday账号去修改密码可以吗?

 
    


 
     使用管理员账号修改用户账号没有问题,但是使用sunday账号修改其他用户密码是不可以的,因此普通用户想要修改自己的密码,一是去找管理员进行修改,管理员修改密码时,也没有密码复杂度的要求,可以任意修改;二是用户自己修改,但是只能修改自己的用户密码,也就是只可以使用passwd命令,而使用passwd + 账户的方式无效。

 
      那用户都可以使用密码 的哪些相关命令进行操作呢,我们可以使用passwd --help命令查看:

 
      


 
     图中标红的全部提示"root only",也就是只有管理员才可以使用此命令,普通用户是没有执行权限的。

 
     既然用户可以添加密码,当然也可以删除:

 
     


 
     提示已经删除成功!

 
     我们知道 使用usermod -L命令可以锁定用户账号,那用户的密码同样也具有锁定的功能;

       


 
    看图,可以知道,我们已经锁定密码成功。可以锁定,当然也可以删除,解锁用户,使用的是 usermod -U ,解锁密码则使用的passwd -u:

 
    


 
     对比管理用户时,锁定用户的账号来说,两者的表现形式不同,但功能是一样的,不允许该用户登录。

 
     下面介绍一个文件: login.defs

 
      


 
     z这个文件里有四个参数非常重要,需要重点关注一下:

 
      


 
      从上到下,依次意思为:使用该密码的额最大天数、最小天数、密码的最小长度、密码即将过期多少天之前给予警告的天数。

 
       然后使用chage 命令查看用户的基本信息,

 
       


 
     通过命名查看,可以发现,和login.defs文件里面的参数设置是一样的,那如果我们如果想修改这四个参数,是不是通过修改文件和chage是一样的呢?其实是不行的,因为login.defs文件里面反应的系统中所有用户的基本设置,而我们通过chage查看命令得到的是sunday
这一个用户的信息,如果想要需改sunday用户的参数信息,而去配置文件里面修改,那所有用户的信息都会随之改变。

 
      当然啦,chage -l 只是查看得命名,想要修改用户的信息,就得使用chage -m:

 
      


 
     这样就设置好了sunday用户参数,通过chage -l 查看一下:

 
     


 
   接着在说一下su 和sudo命令:

 
    su 是账户之间的切换命令,假如你现在使用管理员账户登录,如果你需要查看某个普通用户的信息,那就需要重新登录,现在使用sudo ,就不需要再重新打开一个命令界面,或者退出管理员账号,再重新登录,只用su命令就可以是实现:

 
    


 
    看前边root账号已经转为sunday 证明已经切换成功。你是不是疑惑,自己设置的sunday账户是有密码的,但是使用su命令登录进sunday也没有提示输入密码?没错,使用su命令,如果你是以管理员身份,登录普通用户,就不想要密码,但是从普通用户,使用su命令,切换会管理员登录,就必须要输入密码了:

 
    


 
   看我切回去之前,是不是输入了一次密码。

 
     这就是su 的作用,只是用来切换登录用户。

 
    再来看sudo,sudo的作用就是借用管理员的密码,帮助普通用户来实现一些只有管理员才有的权限设置,比如etc目录中,有个shadow文件,这个文件是用来存放用户密码的,只有管理员有权限进行查看:

 
    


 
    而且如果使用vi命令强制打开,里面是空白文件,

 
    那我现在想用sunday账户查看,该怎么办呢?

 
    可以试试sudo ,    先让你输入用户密码,之后又提示该用户没有在sudo 文件中配置

 
    


 
    在管理员登录状态下,使用visudo 命令配置权限:

 
    


 
      

 
     


 
    配置sunday权限:

 
    


 
    我们再来打开shadow文件:

 
     


 
现在已经成功打开shadow文件,但是只有只读权限。

 
 下面再看几个小命令:

 
  输入id命令,显示的uid是用户的id,gid 和groups都是用户的组id,只不过前一个是私有组,后一个是标准组。

 
   


 
 输入groups命令:

 
 


 
 再将sunday加入到标准组share中,并再次用id命令查看:

  


 
添加成功了,sunday不仅在私有组sunday中,同时也在share标准组中。

 
 恩,今天的内容完成了!

 
   


**********************************************************************************************************************************
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: