Linux学习笔记:用户和用户组
Linux学习笔记:用户和用户组
一、什么是用户和用户组
用户:使用操作系统的人
用户组:具有相同系统权限的一组用户
二、与用户和用户组相关的配置文件
/etc/group 存储当前系统中所有用户组的信息
格式:组名称:组密码占位符:组编号:组中用户名列表
注意:(1)用户有登录密码,自然用户组也有自己的密码。
(2)如果组内只有一个用户且和用户组同名,那么组中用户列表可以省略不写。因此,在
配置文件中可以看到好多组中用户列表为空,这可能不是真的空。
(3)root用户组的组号一定是0
(4)组号1~499属于系统预留的组编号。一般来说是预留给安装在这个操作系统中的软件或者
服务的,比如你安装了MYSQL,它就有一个组编号。
(5)用户手动创建的用户组编号为500~。
(6)组密码占位符全部用X来表示。
/etc/gshadow 存储当前系统中用户组的密码信息
格式:组名称:组密码:组管理者:组中用户列表
注意:(1)组密码为空或者为*或者为!,都可以认为组密码是空的。
(2)组管理者一般为空,这表示组内所有用户都可以管理这个用户组
/etc/passwd 存储当前系统中所有用户组的信息
格式:用户名:密码占位符:用户编号:用户组编号:用户注释信息:用户主目录:shell类型
注意:(1)用户注释信息就是在创建用户的时候可以给这个用户添加一些备注信息。
(2)用户主目录,即出了root用户的其他用户在创建的时候都会在home目录下
创建一个与其用户名相同的目录用来存储该用户的个人文件存储目录。
(3)超级用户root的用户编号一定为0
/etc/shadow 存储当前系统中所有用户的密码信息
格式:用户名:密码:::::
注:密码一般被加密,无法看出真实密码。
三、用户和用户组的基本命令
groupadd 组名 //添加用户组
groupadd -g 组编号 组名 //添加用户组并指定组编号
groupmod -n 新组名 原组名 //更改用户组名称
groupmod -g 组编号 组名 //更改用户组编号
groupdel 组名 //删除用户组
useradd 用户名 //添加用户,所在用户组与用户名同名
useradd -g 组名 用户名 //添加用户,指定其所在的组
useradd -d 目录 用户名 //添加用户,制定其用户的家目录,没有指定所在组时,默认用户名就为用户组名
usermod -c 注释信息 用户名 //为指定用户名添加注释
usermod -l 新用户名 旧用户名 //更改用户名
usermod -d 目录 用户名 //更改用户个人文件夹的路径
usermod -g 新用户组 用户名 //更改指定用户的所属组
userdel 用户名 //删除用户,但是不删除用户个人文件夹里的文件
userdel -r 用户名 //删除用户并且删除用户个人文件夹里的文件
四、用户和用户组的进阶命令
passwd -l 用户名 //锁定用户
passwd -u 用户名 //解锁
passwd -d 用户名 //清除密码,该用户就可以无密码登录
gpasswd -a 用户名 附属组 //给用户添加附属组
gpasswd -d 用户名 附属组 //把用户从附属组中删除
newgrp 组名 //把用户的组切换到附属组
useradd -g group1 -G group2,group3... //同时指定主用户组和附属用户组
gpasswd 用户名 //更改组密码,回车会有相应的提示操作
id 用户名 //显示指定用户信息,包括用户编号、用户编号、主要组编号及名称、附属组列表
su 用户名 //切换到其他用户下
su 后面什么也不接 //表示切换到root用户下
whoami //显示当前登录用户名
groups 用户名 //显示用户所在的所有组,包括主要组和附属组