一、linux
CentOS6.5 一切皆文件(VFS) 服务器
#service iptables status/ openssl
二、安全控制
身份认证+访问控制(权限)+ 审计(日志)
身份认证:本地 远程(telnet+SSH) PAM(程序之间)
访问控制:
用户(user):①root---超级用户 UID:0
②普通用户 UID:500-65534 nobody
③系统用户 UID:1-499
用户名 cat /etc/passwd
口令 cat /etc/shadow
n用户账号的不同属性,各字段用“:”隔开。
各字段定义如下:
用户名:用户登录系统时使用的用户名,它在系统中是唯一的。
口令:此字段存放加密的口令。在此文件中的口令是x,这表示用户的口令是被/etcadow文件保护的,所有加密口令以及和口令有关的设置都保存在/etcadow中。
用户标识号:是一个整数,系统内部用它来标识用户。每个用户的UID都是唯一的。root用户的UID是0,1~499是系统的标准账户,普通用户从500开始。
组标识号:是一个整数,系统内部用它来标识用户所属的组。
注释性描述:例如存放用户全名等信息。
自家目录(初始目录/主目录):用户登录系统后进入的目录。
命令解释器:批示该用户使用的shell,Linux默认为bash。
用户组(group): 权限相同的用户集合(多任务多用户)
GID /etc/group (组名)
/etc/g shadow
id -a 查询当前用户所在的组
任务一:建立与删除普通用户账户,管理组
管理帐户的俱行工具及功能如下:
useradd [] 添加新用户
usermod [] 修改已存在的指定用户
userdel [-r] 删除已存在的指定帐户,-r参数用于删除用户自家目录
groupadd [] 加新组
groupmod [] 修改已存在的指定组
groupdel 删除已存在的指定组
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
至此,group1组中有user1,user2两个用户,用命令查看/etc/group文件如下图:
(注:用户user3不属于组group1中的用户)
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
接下来我们再次查看user1状态时,则为如下图所示:
密码已经设置,且为MD5加密
是SHA512 加密
2. 禁用账户user1
passwd -l user1
3. 恢复账户user1的账户口令:
passwd -u user1
4. 删除用户账户口令
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两天内不能更改口令,并且口令最长的存活期为30天,并且口令过期前5天通知用户
chage -m 2 -M 30 -W 5 user1
可以使用如下命令查看用户user1当前的口令时效信息:chage -l user1
任务三:PAM可插拔验证模块
PAM(Plugable Authentication Module,可插拔验证模块)是由Sun提出的一种认证机制。管理员通过它可以灵活地根据需要给不同的服务配置不同的认证方式而无需更改服务程序,同时也便于向系统中添加新的认证手段。不少应用软件都可以与PAM进行集成,当然,操作系统的登录验证过程也可以通过对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个大写字母 至少包含3个小写字母 至少包含3个数字 至少包含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
minlen=12 密码字符长度不少于12位(默认为9)
lcredit=-1 至少包含1个小写字母
ucredit=-1 至少包含1个大写字母
dcredit=-1 至少包含1个数字
ocredit=-1 至少包含1个特殊字符
retry=3 配置密码时,提示3次用户密码错误输入
difok=6 配置密码时,新密码中至少6个字符与旧密码不同(默认为5)
漏洞概述:如未设置密码最长使用期限,一段时间后密码很可能会流出,因而造成攻击者的非法访问;
安全对策:修改密码策略设置文件,将密码最长使用期限设置为90天(12周);
比较一下linux账户跟unix账户管理的异同。
UNIX 是商业化的,而 Linux 是开源的,是免费、公开源代码的。
2、硬件适用
UNIX系统大多是与硬件配套的,也就是说,大多数UNIX系统如AIX、HP-UX等是无法安装在 x86 服务器和个人计算机上的,而 Linux则可以运行在多种硬件平台上。
可以先学习linux后再学习unix,因为linux可以方便的在虚拟机上运行,防止新手的误操作。而在发行版本上可以选择Ubuntu、Linux Mint等。
Linux/Unix是一个用户、多任务的操作系统