1.前面我们提到过,linux用户可以分为3类:
程序和文件一样,需要对应的所属人,虚拟用户的存在,是为了不让别人利用这个用户登录,或者干别的什么事情,为了安全考虑而处在的用户 。
2. /etc/skel/ :这个目录下的内容如下,这个目录是在添加用户后,系统会将这个目录下的隐藏文件拷贝到对应的用户的家目录下。所以我们如果在/etc/skel下创建一个文件,那么我们在进行useradd的话,对应用户的家目录就会有这个文件。
场景:新来员工注意事项,可以在这里进行创建后,对应的家目录就会有结果了。
3. /etc/login.defs 配置用户和密码相关配置的文件(了解,应该是创建用户后,shadow是从这里读取的信息)
4./etc/default/useradd:创建用户的初始化文件:当我们创建用户的时候,就会调用这个文件,这样我们就能理解,为什么当我们创建用户的时候,从/etc/skel 这个文件拷贝那些隐藏的文件了。
5.命令:useradd
-e 账户的终止时间
-g 表示这个用户属于哪个组
-G 一次指定多个组
-m/M 创建/不创建家目录(不存在-m为创建),创建家目录的优先级会优先与在/etc/login.defs和/etc/default/useradd创建的初始化参数 -d 设置家目录
-u 设置用户的ID
-s 指定shell类型
chage 检查设置密码的相关文件,检查的是 /etc/shadow里面设置的信息。
实例:1)useradd 不添加任何参数
[root@djw ~]#useradd oldgirl
[root@djw ~]# id oldgirl
uid=504(oldgirl) gid=504(oldgirl) 组=504(oldgirl)
2)添加一个用户oldgirls,并指定属于sa组,要求组ID为801,uid为808,并要求不见了家目录和禁止登陆。
groupadd sa -g 801
useradd -u 808 -g sa -M -s /sbin/nologin
3)命令-e用法:useradd -e "2014/08/28" ml
检查: chage -l ml
4)添加用户oldboy6,并设置其用户注释信息为HandsomeBoy,UID指定为806,归属为用户组root、oldboy、sa成员,其shell类型为/bin/sh,指定家目录为/oldboy6。
useradd -u 806 -c "HandsomeBoy" -G root,oldboy,sa -s /bin/sh -d /oldboy6 oldboy6
6.对于普通用户能够修改passwd文件的原因是因为passwd命令有suid权限,如下:
非交互更改密码: echo "1223" |passwd --stdin oldboy
7.chage用法:
chage和passwd有相同的地方,比如:chage -E "时间" == passwd -e "时间"
8.企业的情况:
在大规模的运维环境中,使用LDAP服务(微软活动目录)对linux账户统一认证,批量管理。就是LDAP对所属的服务器进行统一管理,服务器本地不进行密码的存储,如果一个人离职了,那么只要删除LDAP上面的密码就可以了,方便快捷。
9.userdel删除用户用法:
userdel 只删除用户,-userdel -r 删除家目录,递归,相当于删除所有,不要轻易用。知道就可以了,在工作中其实注释一下/etc/passwd对应的用户就可以了。
10.groupdel删除组:当一个组是主组的话,不能删除,要先删除对应的用户后,在进行组的删除。
11.usermod修改用户相关信息:不常使用
当useradd添加一些错误的用户属性的时候,可以用usermod进行修改。相关参数和useradd很像。
如:usermod -s /bin/bash oldboy6 修改默认shel
usermod -c "Uglygirl" oldboy6 修改提示语
usermod -d /home/oldboy oldboy6
12.用户查询相关命令:
id 查询用户id: id 用户名
w 显示用户谁登陆过,并干了什么
who 只是显示谁登陆了,所以w的信息更多,但是会显示终端、登陆时间,来源主机
users 只是显示谁登陆了
last 谁在登陆,显示已经登陆的用户列表和登陆时间
lastlog 报告最近的所有系统用户的登陆信息
13.详细讲解sudo: 这里要注意,sudo相当于授权,本身没有发生变化,但如果是su的话,就是切换用户。这里的文件/etc/run/sudo 还有可能是/etc/db/sudo ,文件5分钟过期
如下:
这里有两点需要注意:1.ALL=(ALL) 表示:ALL哪个机器(别名)=ALL哪个角色,oldboy 可以在哪个机器上已什么角色干root的什么事情
2.%wheel 表示哪个组
14./etc/suders文件中的其他配置:
主机别名:Host_Alias
用户别名:User_Alias:既可以包含用户,也可以包含组
角色别名:Runnas_Alias:表示用户可以切换到哪个角色上面
Runnas_Alias OP=root
命令别名:Cmnd_Alias
SERVICE= /usr/sbin/useradd
在/etc/suders文件中输入下面的内容,就可以进行用进行【权限的集中管理】,下节课讲:这里 sudo -l 查看用户的sudo权限