用户管理
用户的配置文件:/etc/passwd
我来解释一下ll下面这个信息把。
首先以-开头的是普通文件,后面可以分三个看 rw-/r–/r-- 这里指的是(读写/只读/只读)然后第一个是属于所属者的权限,也就是后面第一个root的位置,第二个是所属组的文件,也就是后面第二个root的位置,最后的权限是属于其他人的权限;后面的1表示硬链接次数,再后面就是文件的大小,以字节为单位,后面的时间代表的是m时间,也就是文件最近一次修改的时间。
vim /etc/passwd
查看一下这个文件
随便举个例子
第一个冒号前面代表的是用户名
第二个冒号前面“X”放的是密码,以密文的方式存放。
第三个冒号前面1000代表的是用户的UID(类似于身份证号)
第四个冒号前面1000代表的是用户的基本组的编号(基本组可以理解为家庭组)
第五个冒号前面的路径是对于redhat的描述
第六个冒号前面是redhat的家目录
最后一个冒号后面是用户和系统的接触路径。
对于用户来说,分为三类:
1.超级用户:root uid为0
2.系统用户:用来管理和运行服务,系统用户的shell为/sbin/nologin也就是最后一个冒号的那一段,是登录不了的,uid为:201-999
3.一般用户:uid:20-60000,添加一般用户时,系统默认该用户创建主目录和邮箱(/home/用户名)(/var/mail/用户名)
添加用户的命令
添加普通用户:useradd 用户名 或者adduser 用户名
添加系统用户:useradd -r 用户名,添加系统用户名时,不会创建主目录和邮箱
添加用户并用选项指定参数:useradd 用户 -u uid号 -g gid(也就是基本组的id)号 -G 附加组/组名 -c 备注 -s 指定shell -d 指定家目录
例如指定我们想要的信息来创建用户:
修改用户信息:
给用户追加附加组:usermod -a -G 附加组名称
管理用户密码:
密码存放路径:/etc/shadow
vim进去
对这行做个解释:
第一个冒号前面:用户名
后面两个$符号夹在一起表示的是用什么算法对密码进行加密(1为md5,2a为Blowfish,5位SHA-256,6位SHA-512hash算法)
第二个冒号前面代表:通过我们的密码加上前面的加密算法加密出来的乱码
第三个冒号:这串数字表示的是改的密码距离1970年1月1号多少天(1970年)
第四个冒号:密码的最短使用期限,显示0位可以无限期限,若是为1,则普通用户在这一天之内都不能改密码
第五个冒号:密码的最长期限
第六个冒号:密码的有效警告时间
第七个冒号:密码过期有效时间
第八个冒号:账号的过期时间,1970年1月1日开始计算的
添加密码指令:只有root用户才有权限
passwd 用户名 或者 (echo 密码 | passwd --stdin 用户名)
修改密码:
用户组管理
文件路径 /etc/group
vim /etc/group进入配置文件
来解释一下
第一个冒号前面:组的名称
第二个冒号:组的密码
第三个冒号:组的ID
第三个冒号后面:组的附加组(基本组不会在这里出现,只会在/etc/passwd下才能看到)
创建组:groupadd -g 组的gid 组名
修改组的信息:groupmod -n 新组名 -g gid 原组名
删除组(无法删除用户的基本组):groupdel 组名
组密码的相关信息:文件路径 /etc/gshadow
vim /etc/gshadow
第一个冒号:组名
第二个冒号:组密码
第三个冒号:组的管理员
第三个冒号后面:哪儿个用户以这个组为基本组
设置组密码:gpasswd 组名
-a 添加用户到组
-d 将制定用户一处本组
-M 设置组成员列表
-A 制定组管理员为哪儿个用户
-r 删除组密码
登录一个新租:newgrp(当你是这个组的成员时,不需要密码登录;为管理员时,可以修改这个组的密码;为其他用户时,需要输入组的密码才可以登录)
退出登录组:exit
用户身份切换
su 用户名 和 su - 用户名 : 切换过去这两种凡是所显示的内容不一样
sudo -u 用户:就可以用指定的用户去做事情
(只有被root给过权限的用户才可以指定)
给权限指令:
vim /etc/sudoers
例如我在redhat用户,用小明用户去查看任意一个文件
sudo -u xiaoming cat /etc/passwd
查看用户登录系统的情况
last:列出目前与过去登入系统的用户的相关信息
who:显示目前登录到系统的用户