鸟哥基础第十四章

账户的配置文件

/etc/passwd

cat /etc/passwd | grep ^root

root:        x:           0:       0:         root:             /root:            /bin/bash
用户名    已加密   UID     GID     账户介绍      账户家目录    该账户用的shell

x:表示已加密,并且存放在/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目录中

鸟哥基础第十四章 - leaf - ------坚持雅操------

 
pam配置都存放在/etc/pam.d目录中

鸟哥基础第十四章 - leaf - ------坚持雅操------

 
pam模块的相关说明都存放在/usr/share/doc/pam*的五个目录中

鸟哥基础第十四章 - leaf - ------坚持雅操------

 
pam的验证类别和验证步骤过后的操作

验证类别:

auth:          用于用户密码验证
account:    用于用户使用权限的验证
session:    主要是记录相关操作

password:主要是提供修改密码的验证

验证后的操作:

required:验证成不成功,后面的模块照样运行
requisite:验证不成功,   后面的模块就不再运行
sufficient:验证成功,      后面的模块就不再运行
optional:主要是记录信息用

/etc/pam.d/login的配置

鸟哥基础第十四章 - leaf - ------坚持雅操------

 
pam_securetty.so:用于预防不安全的登录

该模块会读取:/etc/securetty 

里面设置的终端都是安全的,不在里面的都算不安全的
里面设置的终端能用root登录,里面没有的终端则不能用root登录

pam_nologin.so:也是控制用户的登录,但对root没有效果

其他pam相关的设置文件放在/etc/security/目录下