Linux教程

linux帐户安全管理与技巧

本文主要是介绍linux帐户安全管理与技巧,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、预备知识

概述

    Linux操作系统是多用户操作系统,帐户实质上就是一个用户在系统上的标识,广义上讲,Linux的帐户包括用户帐户和组帐户两种。用户帐户分为普通用户帐户和超级用户帐户两种。管理员帐户对系统具有绝对控制权;组帐户分为私有组和标准组,当创建一个新用户时,若没有指定他所属于的组,Linux就建立一个和该用户同名的私有组,此私有组中只包含该用户自己,标准组可以容纳多个用户。若使用标准组,在创建一个新用户时就应该指定他所属于的组。同一个用户可以同属于多个组,其登录后所属的组称为主组,其它的组称为附加组。

Linux下的账户系统文件

Linux下的帐户系统文件主要有/etc/passwd、/etc/shadow、/etc/group和/etc/gshadow 4个。

(1)/etc/passwd文件中每行定义一个用户帐号,一行中又划分为多个不同的字段定义用户帐号的不同属性,各字段用“:”隔开。

    各字段定义如下:

    用户名:用户登录系统时使用的用户名,它在系统中是唯一的。

    口令:此字段存放加密的口令。在此文件中的口令是x,这表示用户的口令是被/etc/shadow文件保护的,所有加密口令以及和口令有关的设置都保存在/etc/shadow中。

    用户标识号:是一个整数,系统内部用它来标识用户。每个用户的UID都是唯一的。root用户的UID是0,1~499是系统的标准帐户,普通用户从500开始。

    组标识号:是一个整数,系统内部用它来标识用户所属的组。

    注释性描述:例如存放用户全名等信息。

    自家目录:用户登录系统后进入的目录。

    命令解释器:批示该用户使用的shell,Linux默认为bash。

(2)/etc/passwd文件对任何用户均可读,为了增加系统安全性,用户的口令通常用shadow passwords保护。/etc/shadow只对root用户可读。在安装系统时,会询问用户是否启用shadow passwords功能。在安装好系统后也可以用pwconv命令和pwunconv来启动或取消shadow passwords保护。经过shadow passwords保护的帐户口令和相关设置信息保存在/etc/shadow文件里。

    各字段意义如下:

    用户名:用户的帐户名

    口令:用户的口令,是加密过的

    最后一次修改时间:从1970年1月1日起,到用户最后一次更改口令的天数

    最小时间间隔:从1970年1月1日起,到用户可以更改口令的天数

    最大时间间隔:从1970年1月1日起,到用户必须更改口令的天数

    警告时间:在用户口令过期之前多少天提醒用户更新

    不活动时间:在用户口令过期之后到禁用帐户的天数

    失效时间:从1970年1月1日起,到帐户被禁用的天数

    标志:保留位

(3)/etc/group文件。将用户分组是Linux中对用户进行管理及控制访问权限的一种手段。当一个用户同时是多个组的成员时,在/etc/passwd中记录的是用户所属的主组,也就是登录时所属的默认组,而其他的组称为附加组。用户要访问附加组的文件时,必须首先使用newgrp命令使自己成为所要访问的组的成员。组的所有属性都存放在/etc/group中,此文件对任何用户均可读。

     各字段意义如下:

     组名:该组的名称

     组口令:用户组口令,由于安全性原因,已不使用该字段保存口令,用“x”占位

    GID:组的识别号,和UID类似,每个组都有自己独有的ID号,不同组的GID不会相同

    组成员:属于这个组的成员

(4)/etc/gshadow文件用于定义用户组口令、组管理员等信息,该文件只有root用户可以读取。

    各字段意义如下:

    组名:用户组名称,该字段与group文件中的组名称对应

    组口令:用户组口令,该字段用于保存已加密的口令

    组的管理员帐号:组的管理员帐号,管理员有权对该组添加、删除帐号

    组成员:属于该组的用户成员列表,用“,”分隔

二、实验环境

                       centos6.5试验台

                    

 

 

三、实验步骤

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

四、实验收获

            1.命令总结

                                                                                     1.  
命令 作用
 useradd []  添加新用户

  usermod [] 

修改已存在的指定用户
 userdel [-r]  删除已存在的指定帐户,-r参数用于删除用户自家目录

groupadd [] 

加新组
 groupmod []  修改已存在的指定组
 groupdel  删除已存在的指定组

                                                                                                

                                                                                                       2.

命令 作用
 

passwd -l 

禁用用户帐户口令

passwd -S 

查看用户帐户口令状态
  passwd -u  恢复用户帐户口令

passwd -d 

删除用户帐户口令

                                                                                      3.

                                                                                                                              

命令 作用

chage -m days

 指定用户必须改变口令所间隔的最少天数。如果值为0,口令就不会过期。

chage -M days 

指定口令有效的最多天数。当该选项指定的天数加上-d选项指定的天数小于当前的日期时,用户在使用该帐号前就必须改变口令。
 chage -d days  指定从1970年1月1日起,口令被改变的天数。

chage -I days

 指定口令过期后,帐号被锁前不活跃的天数。如果值为0,帐号在口令过期后就不会被锁。
chage -E date  指定帐号被锁的日期。日期格式YYYY-MM-DD。若不用日期,也可以使用自1970年1月1日后经过的天数。
chage -W days  指定口令过期前要警告用户的天数。

   chage -l  列出指定用户当前的口令时效信息,以确定帐号何时过期

                   

                                4. 修改/etc/pam.d/system-auth配置:(注意:在root用户下进行,其余用户对这个文件只有读的权限) vi /etc/pam.d/system-auth

               

 

五、分析与思考

 

         1)思考还有哪些加强linux账户安全的管理方法?

                    1.开启防火墙,仅开启必要端口
                    2.关闭不必要的服务
                    3.清除不必要的系统账户
                    4.使用特定账户开启特定服务,尽量不使用root
                    5.禁止root远程登陆
                    6.修改ssh协议端口号
                    7.更改系统信息,不要显示系统版本、内核版本等
                    8.设定连续失败次数锁定账户      

 


         2)比较一下linux账户跟unix账户管理的异同。

                         前者是开发源代码的自由软件,而后者是对源代码实行知识产权保护的传统商业软件。这应该是他们最大的不同,这种 不同体现在用户对前者有很高的自主权,而对后者却只能去被动的适应;这种不同还表现在前者的开发是处在一个完全开放的环境之中,而后者的开发完全是处在一 个黑箱之中,只有相关的开发人员才能够接触的产品的原型。

 

 

 

 

这篇关于linux帐户安全管理与技巧的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!