本节内容梗概:
1.用户管理配置文件
2.用户管理命令
3.用户组管理命令
4.批量添加用户
5.用户授权
学东西先讲原理,所以从配置文件入手
1.用户信息文件 /etc/passwd
存放了用户的信息
用户名:密码位:UID:GID:注释性描述:宿主目录:命令解析器
linux分为三种用户
UID=0 超级用户 UID为0的用户才是超级用户 而且可以不止一个
UID=[500,60000]普通用户
UID=[1,499]伪用户,都是些与linux系统或者进程相关的调用者,所以不得不冠以用户之名,但是伪用户是不可以登录的,因为对应的shell是nologin就是没有这个shell啦,命令都无法与内核沟通。登录不了。
GID:用户组
用户组都同样用户的一个集合,一个用户可以隶属于多个组。但是缺省组只有一个。
一个用户肯定有一个组,但是这个组可以只有ID但并不存在。还厉害的功能。
同一个组的用户享有该组所共有的功能。组不能嵌套,win可以,呵呵哒。
注释性描述其实很重要的,在管理的时候谁知道那个用户名对应谁谁谁啊,一般做个备注会比较好。例子:sam 用户名 “这个是隔壁老王”
宿主目录
命令解析器:一般是bashell拉。为用户是nologin啊
老的UNIX只识别8位密码。弱鸡。
md5加密是一种输入不固定但是输出固定,单向不可逆的加密。常用的破解是已知密文的情况下,暴力破解,只要cpu够快,呵呵,那就用银河来算。没有算不出来的密码。因为实际生活中的数均是有限的。但是时间是无限的。子子孙孙无穷尽也。
早年间linux的密码密文还真放在passwd下的,哇 厉害噢。每个人都可以看到噢。
后来为了安全把它放到了shadow下了。
主要格式是:
用户名:密码密文:最后一次修改时间(这是从linux诞生之日1970-1-1到最后一次修改的日期的天数,感觉屌屌的):两次密码修改时间最小天数:一个密码的最大时间间隔:
警告时间(与上面那个哥们配合使用安全无副作用噢,提前多少天提示这哥们该改密码了):账号闲置时间(能看谁谁谁多少天没登系统了,是不是跟小姨子跑了):密码失效绝对天数(就类似于迅雷会员,多少天你就不能高速下载了):标志(没什么用)
为什么密文已经在shadow中了还要一个密码为在passwd中呢,因为密码的修改和创建都是先到passwd再到shadow中的。
可以用pwuncov和pwcov查看
手动添加一个新用户即时在passed和shadow下添加一行,然后更改宿主目录所属者,然后把etc/skl文件cp到宿主目录下。
/etc/login.defs
/etc/default/useradd
这两个文件是针对命令行用户添加的时候的一些默认设置与之前一样
不一样的以下列出
INACTIRE=-1是否被禁用
EXPIRE=失效时间
SNELL= 缺省的shell
SKEI=/etc/skel
CREATE_MAIL_SPOOL=YES是否创建一个就添加一个以该用户名为目录名的宿主目录
/etc/motd登录后提示信息
/etc/issue登录前提示信息