linux帐户安全管理与技巧
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
漏洞概述:如未设置密码最长使用期限,一段时间后密码很可能会流出,因而造成攻击者的非法访问;
安全对策:修改密码策略设置文件,将密码最长使用期限设置为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帐户安全管理与技巧的更多相关文章
- 通过Google身份验证器加强Linux帐户安全
下载Google的身份验证模块: # wget https://google-authenticator.googlecode.com/files/libpam-google-authenticato ...
- 谷歌身份验证器加强Linux帐户安全
下载 Google的身份验证模块 # wget https://google-authenticator.googlecode.com/files/libpam-google-authenticato ...
- Linux运维人员共用root帐户权限审计
Linux运维人员共用root帐户权限审计 2016-11-02 运维部落 一.应用场景 在中小型企业,公司不同运维人员基本都是以root 账户进行服务器的登陆管理,缺少了账户权限审计制度.不出问题还 ...
- (转)linux下控制帐户过期的多种方法
linux下控制帐户过期的方法:原文:http://blog.51cto.com/oldboy/1289144企业里一般给无人管理的角色账户或开发人员临时需求等可以设定账户有效期,提升安全!法一:添加 ...
- 渗透技巧——Windows系统的帐户隐藏
渗透技巧——Windows系统的帐户隐藏 2017-11-28-00:08:55 0x01 帐户隐藏的方法 该方法在网上已有相关资料,本节只做简单复现 测试系统:·Win7 x86/WinXP 1. ...
- Linux入门:usermod - 修改用户帐户信息
一.什么是usermod? usermod 命令通过修改系统帐户文件来修改用户账户信息usermod [options] user_name选项(options)-a|--append ##把用户追加 ...
- linux基础命令--userdel 删除用户帐户和相关文件
描述 userdel命令用于删除用户帐户和相关文件. userdel命令修改系统账户文件,删除所有涉及用户的信息,指定的用户(LOGIN)必须存在. 语法 userdel [options] LOGI ...
- usermod - linux修改用户帐户信息
usermod - 修改用户帐户信息 modify a user account usermod [options] user_name usermod 命令修改系统帐户文件来反映通过命令行指定的变化 ...
- Linux批量生成生成帐户脚本,随机密码
此脚本应用于生产环境下生成帐户,也可生成成百上千个密码相同的帐户.脚本代码如下: 批量生成: #!/bin/bash for name in tom jerry joe jane do useradd ...
随机推荐
- CentOS6与CentOS7的几点区别
重新安装了一个CentOS7,顺便整理一下与自己之前用的CentOS6的区别 CentOS6以下简称c6 CentOS7以下简称c7 1.关于文件系统: c6 6.x使用EXT4,EXT4单个文件系 ...
- NOIP 模拟 $24\; \rm block$
题解 \(by\;zj\varphi\) 因为它要求大于它的且放在它前的数的个数要小于它的 \(key\) 值,所以先按 \(\rm val\) 值排序,然后按 \(\rm key\) 值排序,按顺序 ...
- mongoTemplate 条件查询
构建条件方法 @Override public Query getQuery(ReportParam param){ //check MeenoAssert.hasLength(param.getUu ...
- Quartz任务调度(5)TriggerListener分版本超详细解析
TriggerListener 在我们的触发器监听器中,也包含了一系列监听方法 方法 说明 getName() 定义并返回监听器的名字 triggerFired() 当与监听器相关联的 Trigger ...
- 【转】Mysql中事务ACID实现原理
转自:https://www.cnblogs.com/rjzheng/p/10841031.html 作者:孤独烟 引言 照例,我们先来一个场景~ 面试官:"知道事务的四大特性么?" ...
- 十二:Servlet3.0的注解
1.@WebListener注解 表示的就是我们之前的在xml中配置的 <listener> <listener-class>ListenerClass</listene ...
- NLP与深度学习(二)循环神经网络
1. 循环神经网络 在介绍循环神经网络之前,我们先考虑一个大家阅读文章的场景.一般在阅读一个句子时,我们是一个字或是一个词的阅读,而在阅读的同时,我们能够记住前几个词或是前几句的内容.这样我们便能理解 ...
- Linux c高级
目录 一.Linux 1.1.嵌入式 1.2.什么是Linux 1.3.Linux发行版 1.4.Linux体系结构 1.5.虚拟4G内存 1.6.shell 命令 1.7.软件包的管理 1.8.图形 ...
- Ubuntu 16.04LTS下eclipse连接mysql
第一部分:打开eclipse,新建一个web工程,新建一个类db_test.java(jdbc连接mysql的原理自行百度) import java.sql.*; public class db_te ...
- 1day漏洞反推技巧实战(2)
学习存货(2) CVE-2018-11784简单分析之反推的魅力 看着挺有趣的,简单分析下: 通过搜索tomcat漏洞找到: http://tomcat.apache.org/security-7.h ...