用户和用户组
之前学习到文件的权限里有用户本身,同一组内的用户,组外的用户
这里有几个配置文件需要了解
(1)/etc/passwd
(2)/etc/shadow
(3)/etc/group
(1)/etc/passwd
/etc/passwd 是用户数据库,其中的域给出了用户名、加密口令和用户的其他信息
这是一个记录linux系统里的用户的配置文件,增加或删除用户都是改这个文件里的记录,由7个字段生成,每个字段间都由“:”分隔
先cat一下看看:
(1)用户名:它的规则是可以有大小写字母,数字,减号(不能放在首位),点以及下划线,其他字符不合法
(2)密码:一般都是加密状态,只显示为x,映射在/etc/shadow文件内
(3)UID:(0-4294697294(2的32次方-2)之间)0是root的UID,1-499是系统使用的UID,普通用户是从500开始的
(4)GID:组ID,映射在/etc/guoup里
(5)用户的属性说明
(6)用户的家目录
(7)登录使用的Shell,就是对登录命令进行解析的工具,一般有/bin/bash、/bin/false、/sbin/nologin
(2)/etc/shadow
/etc/shadow是在安装了影子(shadow)口令软件的系统上的影子口令文件,由9个字段生成,每个字段由“:”分隔
cat一下
(1)用户名
(2)密码:这里是用mod5加密过的,但高手也可以解密的。要主要安全问题(代!符号标识该帐号不能用来登录)
(3)上次修改密码的日期
(4)需要多少天才能修改密码(0表示不限制)
(5)密码多少天后到期(默认是99999,表示不会过期)
(6)密码到期前的警告期限
(7)帐号失效期限(到期后过多少天锁定账号)
(8)帐号的生命周期
(9)保留条目,目前没用
(3)/etc/group
/etc/group 存储有关本地用户组的信息,和/etc/passwd类似
cat一下
(1)groupname GID到名称的一种映射,组名
(2)password 保存密码的位置
(3)GID 组ID
(4)user 组成员
用户与组的操作命令:
groupadd :添加组,参数:-g指定GID
添加后到/etc/group里看
groupdel :删除组
useradd :添加用户,参数:-u、-g、-d(指定家目录)、-M(不指定家目录)、-s(自定义shell)
直接添加用户不加参数,系统默认添加同名组
userdel --删除用户,参数:-r(删除用户家目录)
不删除家目录的话,之后不可以重复建立同名家目录
usermod :修改用户,参数:-u、-s、-d、-L、-U、-g、-G21
chfg :修改用户
passwd :修改用户密码
su :switch user 切换用户,加参数:- :代表在切换用户的时候,会应用用户的环境变量,会去读用户家目录下的配置文件:.bashrc文件、.bash_profile文件和 .bash_logout文件(通过ll -a看一看)
我们添加一组试验一下,命令:useradd -u 1001 -g oracle -s /bin/bash oracle
cat一下passwd看一下
我们再修改一下,命令:usermod -u 1002 oracle
用户密码的修改
命令:passwd
(修改密码时密码不会显示)(规则:长度大于10,包含大小写字母数字和特殊字符,不规则性,不带有自己信息)
直接passwd是改root的密码,如果后面加了用户名的话,就是改用户名的密码
也有直接生成密码的工具:mkpasswd
命令,这需要先下载安装expect包,运行命令:yum install -y expect
完成后直接mkpasswd
命令就会生成一个密码。