Linux基础-用户和用户组管理
Linux基础-用户和用户组管理
一、用户账号的添加、删除、修改
1、添加用户
useradd 选项 用户名
选项:
- -c 用户描述
- -d 指定用户家目录,目录不存在可同时使用-m选项自动创建目录
- -g 指定用户所属用户组
- -G 用户组,指定用户所属的附加组
注: 不加选项则默认创建/home/用户名作为家目录,以自身用户名作为用户组
2、删除账号
userdel 选项 用户名
加-r选项则连用户的家目录也一并删除
3、修改账号
usermod 选项 用户名
常用的选项包括-c、-d、-m、-g、-G
这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。 当你想为用户添加一个新的用户组,注意千万不能直接用-G,这样会重置你的用户组,应该-a -G 新的用户组。
4、密码管理
用户管理的一项重要内容是用户口令的管理。用户账号刚创建时没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以使用,即使是指定空口令。
指定和修改用户口令的Shell命令是passwd。超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。命令的格式为:
passwd 选项 用户名
选项:
- -l 禁用账号
- -f 强迫用户下次登录时修改口令。
普通用户使用passwd
可修改自己的密码
超级用户使用passwd 用户名
可修改任何人的密码
二、Linux系统用户组的管理
每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。
1、新建用户组
groupadd 选项 用户组
- -g GID 指定新用户组的组标识号(GID)。
- -o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
2、删除用户组
groupdel 用户组
3、修改用户组
groupmod 选项 用户组
- -g GID 为用户组指定新的组标识号。
- -o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
- -n新用户组 将用户组的名字改为新名字
4、切换用户组
如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限。
newgrp 用户组
三、与用户账号有关的系统文件
1、/etc/passwd
Linux系统中的每个用户都在/etc/passwd文件中有一个对应的记录行,它记录了这个用户的一些基本属性。
从上面的例子我们可以看到,/etc/passwd中一行记录对应着一个用户,每行记录又被冒号(:)分隔为7个字段,其格式和具体含义如下:
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
2、/etc/shadow
因为passwd可被任意用户查看,如果把密码保存在passwd中,不太安全。所以密码被保存在/etc/shadow,只用超级用户可以查看。
3、/etc/group
用户组的所有信息都存放在/etc/group文件中。此文件的格式也类似于/etc/passwd文件,由冒号(:)隔开若干个字段,这些字段有:
组名:口令:组标识号:组内用户列表
四、切换用户
sudo 以root用户身份执行命令
使用方式:在需要root用户才能执行的命令前加上sudo,例如执行: sudo passwd user1
系统会先检查/etc/sudoers,判断用户是否具有执行sudo的权限,若有,系统会要求用户输入自己的密码,密码输入正确后,执行命令。
Linux提供了专门编辑sudoers文件的命令。visudo
使用它的好处是,可以在退出时检查配置是否具有语法错误。
su 切换用户
su(-) 用户名
su命令默认切换为root角色,加用户名可切换到指定用户,加上‘-’时,同时切换用户环境。
五、其他相关命令
查看用户
- who -H 查看当前登录用户
- whoami 查看自己是谁
查看用户组
- groups (用户名) 查看用户所属用户组
查看ID信息
- id (用户名) 显示用户的ID,以及所属群组的ID。
参考资料:菜鸟教程