实验环境

CentosOS5.6试验台。

任务一:建立与删除普通用户账户,管理组

1)创建一个新用户user1

useradd user1

查看用户是否创建成功

2)创建一个新组group1

groupadd group1

3)创建一个新用户user2并将其加入用户组group1中

useradd -G group1 user2

4)创建一个新用户user3,指定登录目录为/www,不创建自家用户目录(-M)

useradd -d /www -M user3

5)将用户user2添加到附加组group1中

usermod -G group1 user1)

6)删除用户user3,用户uers3从用户组中消失

userdel user3

7)删除用户user2,同时删除自家目录

userdel -r user2

8)删除组group1,则组group1中的用户则被分配到其自己分配的私有组中。

groupdel group1

任务二:用户口令管理与口令时效管理

(1)passwd命令

passwd命令用来设置用户口令,格式为:passwd [] []

用户修改自己的用户密码可直接键入passwd,若修改其他用户密码需加用户名。超级用户还可以使用如下命令进行用户口令管理:

passwd -l //禁用用户帐户口令

passwd -S //查看用户帐户口令状态

passwd -u //恢复用户帐户口令

passwd -d //删除用户帐户口令

在创建完用户user1后,没给用户passwd口令时,账户默认为禁用状态:

1. 给用户user1创建口令,设置为:111111

passwd user1

密码已经设置,且为MD5加密

2. 禁用账户user1

passwd -l user1

恢复账户user1的账户口令:

passwd -u user1

删除用户账户口令

passwd -d user1

用户user1的密码即为空。

(2)chage命令

口令时效是系统管理员用来防止机构内不良口令的一种技术。在Linux系统上,口令时效是通过chage命令来管理的,格式为:chage []

下面列出了chage命令的选项说明:

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

-M days: 指定口令有效的最多天数。当该选项指定的天数加上-d选项指定的天数小于当前的日期时,用户在使用该帐号前就必须改变口令。

-d days: 指定从1970年1月1日起,口令被改变的天数。

-I days: 指定口令过期后,帐号被锁前不活跃的天数。如果值为0,帐号在口令过期后就不会被锁。

-E date: 指定帐号被锁的日期。日期格式YYYY-MM-DD。若不用日期,也可以使用自1970年1月1日后经过的天数。

-W days: 指定口令过期前要警告用户的天数。

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

查看用户user1当前的口令时效信息:chage -l user1

任务三:PAM可插拔验证模块

1. 指定密码复杂性

修改/etc/pam.d/system-auth配置:

(注意:在root用户下进行,其余用户对这个文件只有读的权限)

vi /etc/pam.d/system-auth

限制密码最少有:2个大写字母,3个小写字母,3个数字,2个符号

文件中有一行为:

password requisite pam_cracklib.so try_first_pass retry=3

在其后追加如下参数:

ucredit=-2 lcredit=-3 dcredit=-3 ocredit=-2

2. 验证时若出现任何与pam_tally有关的错误则停止登录

auth required pam_tally.so onerr=fail magic_root

3. 账号验证过程中一旦发现连续5次输入密码错误,就通过pam_tally锁定此账号600秒

account required pam_tally.so deny=5 lock_time=600 magic_root reset

1)思考还有哪些加强linux账户安全的管理方法?
设置密码最长使用期限
漏洞概述:如未设置密码最长使用期限,一段时间后密码很可能会流出,因而造成攻击者的非法访问;
安全对策:修改密码策略设置文件,将密码最长使用期限设置为90天(12周);
2)比较一下linux账户跟unix账户管理的异同。

1、开源情况

UNIX 是商业化的,而 Linux 是开源的,是免费、公开源代码的。

2、硬件适用

UNIX系统大多是与硬件配套的,也就是说,大多数UNIX系统如AIX、HP-UX等是无法安装在 x86 服务器和个人计算机上的,而 Linux则可以运行在多种硬件平台上。

可以先学习linux后再学习unix,因为linux可以方便的在虚拟机上运行,防止新手的误操作。而在发行版本上可以选择Ubuntu、Linux Mint等。

关于密码策略有效性的验证了解:https://www.cnblogs.com/cheyunhua/p/8342819.html

关于Linux系统日志查看内容(来源于百度):

1.users#

users命令只是简单地输出当前登录的用户名称,每个显示的用户名对应一个登录会话。如果一个用户有不止一个登录会话,那他的用户名将显示与其相同的次数。

2.who#

who命令用于报告当前登录到系统中的每个用户的信息。使用该命令,系统管理员可以查看当前系统存在哪些不合法用户,从而对其进行审计和处理。who的默认输出包括用户名、终端类型、登录日期及远程主机。

3.w#

w命令用于显示当前系统中的每个用户及其所运行的进程信息,比users、who命令的输出内容要丰富一些。

4.last#

last命令用于查询成功登录到系统的用户记录,最近的登录情况将显示在最前面。通过last命令可以及时掌握Linux主机的登录情况,若发现未经授权的用户登录过,则表示当前主机可能已被入侵。

5.lastb#

lastb命令用于查询登录失败的用户记录,如登录的用户名错误、密码不正确等情况都将记录在案。登录失败的情况属于安全事件,因为这表示可能有人在尝试猜解你的密码。

linux帐户安全管理与技巧的更多相关文章

  1. 通过Google身份验证器加强Linux帐户安全

    下载Google的身份验证模块: # wget https://google-authenticator.googlecode.com/files/libpam-google-authenticato ...

  2. 谷歌身份验证器加强Linux帐户安全

    下载 Google的身份验证模块 # wget https://google-authenticator.googlecode.com/files/libpam-google-authenticato ...

  3. Linux运维人员共用root帐户权限审计

    Linux运维人员共用root帐户权限审计 2016-11-02 运维部落 一.应用场景 在中小型企业,公司不同运维人员基本都是以root 账户进行服务器的登陆管理,缺少了账户权限审计制度.不出问题还 ...

  4. (转)linux下控制帐户过期的多种方法

    linux下控制帐户过期的方法:原文:http://blog.51cto.com/oldboy/1289144企业里一般给无人管理的角色账户或开发人员临时需求等可以设定账户有效期,提升安全!法一:添加 ...

  5. 渗透技巧——Windows系统的帐户隐藏

    渗透技巧——Windows系统的帐户隐藏 2017-11-28-00:08:55  0x01 帐户隐藏的方法 该方法在网上已有相关资料,本节只做简单复现 测试系统:·Win7 x86/WinXP 1. ...

  6. Linux入门:usermod - 修改用户帐户信息

    一.什么是usermod? usermod 命令通过修改系统帐户文件来修改用户账户信息usermod [options] user_name选项(options)-a|--append ##把用户追加 ...

  7. linux基础命令--userdel 删除用户帐户和相关文件

    描述 userdel命令用于删除用户帐户和相关文件. userdel命令修改系统账户文件,删除所有涉及用户的信息,指定的用户(LOGIN)必须存在. 语法 userdel [options] LOGI ...

  8. usermod - linux修改用户帐户信息

    usermod - 修改用户帐户信息 modify a user account usermod [options] user_name usermod 命令修改系统帐户文件来反映通过命令行指定的变化 ...

  9. Linux批量生成生成帐户脚本,随机密码

    此脚本应用于生产环境下生成帐户,也可生成成百上千个密码相同的帐户.脚本代码如下: 批量生成: #!/bin/bash for name in tom jerry joe jane do useradd ...

随机推荐

  1. 新版数据库分页方法(Sql server2012)

    1. ROW_NUMBER() 的分页方法 dbcc freeproccache dbcc dropcleanbuffers set statistics time on set statistics ...

  2. 深入理解-dl_runtime_resolve

    深入理解-dl_runtime_resolve 概要 目前大部分漏洞利用常包含两个阶段: 首先通过信息泄露获取程序内存布局 第二步才进行实际的漏洞利用 然而信息泄露的方法并不总是可行的,且获取的内存信 ...

  3. ThreadPoolExecutor(线程池)的参数

    构造函数 public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit u ...

  4. dubbo-admin管理控制台安装

    拉项目切换分支到master git clone https://github.com/apache/dubbo-admin.git /var/tmp/dubbo-admin 打开项目修改配置 dub ...

  5. jQuery中的内容、可见性过滤选择器(四、四)::contains()、:empty、:has()、:parent、:hidden、:visible

    <!DOCTYPE html> <html> <head> <title>内容.可见性过滤选择器</title> <meta http ...

  6. jsp中核心标签使用

    <%@ page language="java" import="java.util.*, java.lang.*" pageEncoding=" ...

  7. Hibernate之抓取策略

    时间:2017-1-23 19:08 --区分延迟和立即检索1.立即检索    当执行某行代码时,会马上发出SQL语句进行查询.    例如:get()2.延迟检索    当执行某行代码时,不会马上发 ...

  8. myScript调研,电子手写板使用,纯干货

    第二天进公司,就叫我调研myScript作为手写板的可行性,又不能不做,哎~ myScript效果十分的奈斯,前端用canvas手写的文字.数学字符,都可以识别然后转换,不知道myScript是不是你 ...

  9. springcloud<seata配置文件解释及其说明>

    出现如下错误时: Could not found property service.disableGlobalTransaction, try to use default value instead ...

  10. struts2拦截action多种方法

    按照教程写的,运行的时候显示There is no Action mapped for namespace [/] and action name [login!method1] associated ...