linux 用户:

    linux用户主要分为:管理员和普通用户,普通用户又包含系统用户和登录用户。系统用户不需要登录系统,只为后台服务运行提供身份,并对守护进程获取资源进行权限分配,登录用户需要交互式登录。

    linux系统主要靠UID号来识别管理员和普通用户。在CentOS 6上,管理员的UID为0,普通用户的UID为1-65535,其中系统用户的UID为1-499,登录用户的UID为500-65535;在CentOS 7上,管理员的UID为0,普通用的UID 为1-65535,其中系统用户的UID为1-999,登录用户的UID为1000-65535。

    linux用户都有相应的配置文件,/etc/passwd 包含用户及其属性信息,/etc/shadow 包含用户密码及其相关属性。其中,/etc/passwd文件用“:”分成了7个字段,login name:passwd:UID:GID:GECOS:home directory:shell;/etc/shadow文件用":"分成了8个字段,登录名:加密密码:最近一次被更改时间:密码再过几天可以被变更:密码再过几天必须被变更:密码过期前几天提醒用户:密码过期几天后账号会被锁定:账号失效时间,从1970年1月1日算起

    用户密码加密:对称加密、非对称加密和单向加密。

    对称加密:加密、解密使用同一个密码

    非对称加密:加密、解密使用一对密码。

    单向加密:哈希算法,原文不同,密文必不同,相同算法定长输出,获得密文不可逆推出原始数据;雪崩效应,初始条件的微小改变,引起结果的巨大改变,常见的加密算法,md5、sha1、sha224、sha256、sha384、sha512;更改加密算法,authconfig --passalgo=sha256 --update。

    密码安全策略:

    1、使用数字、大写字母、小写字母及特殊字符中至少三种

    2、足够长,密码长度不要低于8位

    3、使用随机密码

    4、定期更换密码,不要使用最近用过的密码

linux用户管理:

    用户管理命令:useradd创建用户、usermod更改用户属性、userdel删除用户

    useradd -u :指定用户的UID创建用户

    useradd -o :配合-u选项,不检查UID的唯一性

    useradd -g :指明用户所属的主组,可为组名也可以是GID

    useradd -G :为用户指明附加组,组必须事先存在

    useradd -s :指明用户的默认shell程序  

    useradd -d :以指定的路径为家目录

    useradd -N :不创建私有组做主组,使用suers做主组

    useradd -r :创建系统用户

    useradd -D :显示默认设置,默认设置在/etc/default/useradd文件中

    useradd -D -选项 :修改默认设置

    usermod -u :修改用户的UID

    usermod -s :修改用户的shell    

    usermod -g :修改用户的主组

    usermod -G :修改用户的附加组,原来的附加组会被覆盖,若保留原来的,则使用-a选项

    usermod -c :新的注释信息

    usermod -l :修改用户名

    usermod -L :锁定用户

    usermod -U :解锁用户

    usermod -f :设定非活动期限

    usermod -e YYYY-MM-DD:指定用户账号过期日期

    usermod -d :修改用户家目录,新家目录不会自动创建,原家目录的文件不会同时移动至新的家目录,若要移动原家目录数据,使用-m选项

    userdel -r :删除用户,同时删除用户的家目录,不带-r选项,家目录仍然存在

查看用户ID相关信息:

    id -u :查看用户UID

    id -g :产看用户GID

    id -G:查看用户附加组GID

    su UserName:非登录式切换,不会读取目标用户的配置文件,不会改变当前目录

    su - UserName:登录式切换,会读取目标用户的配置文件,切换到家目录,完全切换

    root用户切换到其他用户,不需要密码,非root用户切换到其他用户需要输入密码

    passwd -l DAY username:锁定用户

    passwd -u DAY username:解锁用户

    passwd -e DAY username:用户下次登录必须修改密码

    passwd -x DAY username:指定用户密码最短使用期限

    passwd -n DAY username:指定用户密码最长使用期限

    passwd -w DAY username:指定用户密码快到期时提前几天警告

    passwd -i DAY username:指定用户密码过期后不修改还可以使用几天

    echo “PASSWORD“ | passwd --stdin USER 从标准输入修改用户密码

    chage -d 0 username:修改用户策略,强制下次登录修改密码

    chage -E YYYY-MM-DD username:修改用户密码何时到期

    chage -l username:显示用户密码策略

    chage -m DAY username:修改用户密码最短使用期限

    chage -M DAY username:修改用户密码最长使用期限

    chage -W DAY username:修改用户密码快到期时提前几天警告

    chfn username:设置用户注释信息

    chsh username:设置用户的shell

    newusers PASSWD格式文件:批量创建用户

    chpasswd :批量修改用户密码

linux组:

    groupadd -g:指明GID号

    groupadd -r:创建系统组

    groupmod -n:修改组的名字

    groupmod -g:修改GID号

    groupdel:删除组

    gpasswd -a:将用户添加至指定组

    gpasswd -d:将用户从指定组中移除

    gpasswd -A:设置有管理权限的用户列表

    newgrp:临时切换借本组

    groupmems -a:将用户加入到组中

    groupmems -d:将用户从组中移除

    gropmems -l:显示组中成员列表

    groupmems -p:从组中清除所有成员

    groups:查看用户所属组列表