Linux(五)-用户和用户组管理
在Unix/Linux系统中,不论是由本机或是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资源拥有不同的使用权限。
查看当前用户:whoami
查看当前系统当前账号的用户名
查看登录用户:who
who命令用于查看当前所有登录系统的用户信息。用于显示系统中有哪些用户正在上面,显示的资料包含了使用者 ID、使用的终端机、从哪边连上来的、上线时间、呆滞时间、CPU 使用量、动作等等。
who //显示当前登录系统的用户
who -H //显示标题栏
who -l -H //显示用户的登录来源
who -T -H //显示终端属性(包括ip地址)
注:PID表示的进程号
退出登录账户: exit
- 如果是图形界面,退出当前终端;
- 如果是使用ssh远程登录,退出登陆账户;
- 如果是切换后的登陆用户,退出则返回上一个登陆账号。
添加用户账号:useradd
添加用户账号可以使用adduser或useradd命令,这两个使用命令格式完全相同。
格式如下:useradd [参数] 新建用户账号
注:
- 如果创建用户的时候,不指定组名,那么系统会自动创建一个和用户名一样的组名。
- 若创建用户时未指定家目录,后期可通过usermod -d /home/abc abc指定。
image.png
修改用户:usermod
usermod实例:
usermod -g test abc //修改用户名的用户组
设置用户密码:passwd
超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。命令的格式为:
passwd 选项 用户名
passwd runoob //设置runoob用户的密码
Enter new UNIX password: //输入新密码,输入的密码无回显
Retype new UNIX password: //确认密码
passwd: password updated successfully
删除用户:userdel
image.png切换用户:su
实例
变更帐号为 root 并在执行 ls 指令后退出变回原使用者
su -c ls root
变更帐号为 clsung 并改变工作目录至 clsung 的家目录
su - clsung
以root身份执行指令:sudo
sudo命令可以临时获取root权限
使用权限:在 /etc/sudoers 中有出现的使用者。
注:要想使一个用户具有使用sudo的能力,需要让root用户将其名字、可以执行的特定命令、按照哪种用户或用户组的身份执行等信息注册到/etc/sudoers文件中(此时该用户称为“sudoer”)
第一步:首先登陆root账号,使用如下命令创建一个账号
adduser cuiHuaNiu
第二步: 授予cuiHuaNiu管理员权限,也就是将其注册到/etc/sudoers文件中
usermod -aG sudo cuiHuaNiu
注:-a 参数表示附加,只和 -G 参数一同使用,表示将用户增加到组中。
第三步:要用提升的权限执行命令,只需要在命令前加上 sudo
sudo cat /etc/passwd
当你执行这个命令时,它会询问 cuiHuaNiu 的密码,而不是 root 用户的密码。
添加、删除组账号:groupadd、groupdel
groupadd 新建组账号 groupdel 删除组账号 cat /etc/group 查看用户组
用户组管理:groupmod
注:Linux 系统中,每个用户的 ID 分为 2 种,分别是用户 ID(User ID,简称 UID)和组 ID(Group ID,简称 GID)
修改用户组的属性使用groupmod命令。其语法如下:
groupmod 选项 用户组
常用的选项有:
- -g GID 为用户组指定新的组标识号。
- -o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
- -n 新用户组,将用户组的名字改为新名字。
示例:将组group2的标识号改为10000,组名修改为group3:
groupmod –g 10000 -n group3 group2
用户可以在登录后,使用命令newgrp切换到其他用户组
$ newgrp root