账户的配置文件
/etc/passwd
cat /etc/passwd | grep ^root
root: x: 0: 0: root: /root: /bin/bash
用户名 已加密 UID GID 账户介绍 账户家目录 该账户用的shellx:表示已加密,并且存放在/etc/shadow里面
UID、GID的ID号设置:/etc/login.defs
/root:是否建家目录:/etc/login.defs家目录所在位置:/etc/default/useradd 对root无效
/etc/shadow
cat /etc/shadow | grep ^root
root:$1$tl3LqaXl$7CJiLfD9fbWtPjDluR1TT0:15594:0:99999:7:7:16594:
root: $1……T0: 15594: 0: 99999: 7: 7: 16594: 空
用户名 密码 最后一次 密码不可 密码必须要 密码到期警告 密码的失效时间 账户的失效日期 保留字段
更改密码 更改的天 更改的天数 时间,到期前7天 到期后再过7天 这个是账户的失效
的时间 数 提示 才失效 时间
密码的相关限制:/etc/login.defs
/etc/group
cat /etc/group | grep ^root
root:x:0:root
第4个字段的root表示,那个用户属于root用户组
第4个字段可以添加多个账户,但是只享受用户组的权限而不是用户的权限 root,test
查看、更改、离开有效用户组的方法查看:groups
更改:newgrp test
离开有效用户组:exit切换用户组的条件:
用户组必须有密码
root必须在这个用户组里面/etc/default/useradd
# useradd defaults file
GROUP=100 #默认的用户组
HOME=/home #家目录默认存放位置
INACTIVE=-1 #密码失效时间
EXPIRE= #账户的失效时间
SHELL=/bin/bash #默认的shell
SKEL=/etc/skel #给新账户预先设置的内容/etc/login.defs
cat /etc/login.defs | grep -v ^# | grep -v ^$
MAIL_DIR /var/spool/mail #邮箱默认存放路径
PASS_MAX_DAYS 99999 #密码必须更改的天数
PASS_MIN_DAYS 0 #密码不可更改的天数
PASS_MIN_LEN 5 #密码最小长度
PASS_WARN_AGE 7 #密码快到期之前7天警告
UID_MIN 500
UID_MAX 60000
GID_MIN 500
GID_MAX 60000
CREATE_HOME yes #默认建家目录/etc/skel/*
skel是目录,目录下放的所有文件,都会放到新用户的家目录里面
其他
/var/log/messages:所有操作记录
/var/log/secure: 权限的操作记录
账户操作的相关命令
useradd:
useradd -m name 建账户时建家目录
useradd -M name 建账户时不建家目录
useradd -d /tmp/home/name name 建账户时指定家目录usermod:
usermod -L name 冻结账户
usermod -U name 解锁账户
usermod -d /tmp/home/name -m name 新建家目录passwd:
passwd -l name 冻结账户
passwd -u name 解锁账户
passwd -
userdel:
userdel -r name 账户连同该账户的家目录一起删除
pwck:
检查/etc/passwd /etc/shadow有没有语法错误
chpasswd:
echo “name:password” | chpasswd -m
以前面的格式读入,并以md5码加密明文密码,并存入/etc/shadow中chage:
修改账户密码的时效
groupadd、groupmod、 groupdel、gpasswd、groups、newgrp
id:id name :查看uid、gid等信息
su、sudo:
su:要输入root密码
sudo:输入本账户密码即可在/etc/group里面加入账户,这个账户只有相关用户组的权限
而在/etc/sudoers里面加入账户后,能获取相应的权限,如能运行/sbin里面的命令等/etc/sudoers
# User privilege specification
root ALL=(ALL) ALL #拥有所有的权限# Uncomment to allow people in group wheel to run all commands
# %wheel ALL=(ALL) ALL #用户组拥有所有的权限#%wheel 表示用户组
# Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL #不用输入密码直接拥有所有的权限
# Samples
# %users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
# %users localhost=/sbin/shutdown -h now用户对话等命令
mesg、wall、talk、wrtie、mail
pam模块
pam模块都存放在/lib/security目录中
pam配置都存放在/etc/pam.d目录中
pam模块的相关说明都存放在/usr/share/doc/pam*的五个目录中
pam的验证类别和验证步骤过后的操作验证类别:
auth: 用于用户密码验证
account: 用于用户使用权限的验证
session: 主要是记录相关操作password:主要是提供修改密码的验证
验证后的操作:
required:验证成不成功,后面的模块照样运行
requisite:验证不成功, 后面的模块就不再运行
sufficient:验证成功, 后面的模块就不再运行
optional:主要是记录信息用/etc/pam.d/login的配置
pam_securetty.so:用于预防不安全的登录该模块会读取:/etc/securetty
里面设置的终端都是安全的,不在里面的都算不安全的
里面设置的终端能用root登录,里面没有的终端则不能用root登录pam_nologin.so:也是控制用户的登录,但对root没有效果
其他pam相关的设置文件放在/etc/security/目录下