Linux系统命令——用户及用户组管理命令

目录

用户管理

添加用户useradd

删除用户userdel

修改用户usermod

设置密码passwd

切换用户su

暂时赋予权限sudo

用户组管理

添加用户组groupadd

删除用户组

修改用户组


Linux系统是一个性能稳定的多用户网络操作系统。既然是多用户操作系统,那么避免不了对用户及用户组进行管理。

用户管理

用户管理主要是用户的添加、修改和删除。

添加用户useradd

添加用户使用useradd命令,当使用该命令创建用户后,在home目录下会自动创建用户的主目录,其语法格式如下:

useradd [选项] 用户名

可选参数有:

  • -g:指定用户所属的用户组;

  • -G:指定用户所属的附加组;

  • -d:指定用户主目录名;

  • -c:描述该用户信息;

  • -s:指定用户的登录shell;

  • -u:指定用户的用户号。

示例代码如下:

ls /home       # 查看home目录下的文件
useradd myuser1       # 添加myuser1用户
useradd -d /home/myu myuser2  # 在home目录下创建一个名为myuser2的用户,其主目录名为myu
ls /home       # 查看home目录下的文件

如下图所示:

Linux系统命令——用户及用户组管理命令_第1张图片

删除用户userdel

删除用户使用userdel命令,其语法格式如下:

userdel [选项] 用户名

常用可选参数有:

-r:把用户文件夹也删除。

示例代码如下:

userdel myuser1   # 删除用户myuser1
userdel -r myus   # 删除用户myuser2
ls /home       # 查看用户目录
id myuser1    # 查看是否存在myuser1用户

如下图所示:

Linux系统命令——用户及用户组管理命令_第2张图片

修改用户usermod

修改已有用户的信息使用usermod命令,其格式如下:

usermod [选项] 用户名

可选参数有:

  • -g:指定用户所属的用户组;

  • -G:指定用户所属的附加组;

  • -d:指定用户主目录名;

  • -c:描述该用户信息;

  • -s:指定用户的登录shell;

  • -u:指定用户的用户号。

示例代码如下:

useradd myuser1     # 创建myuser1用户
useradd myuser2     # 创建myuser2用户
usermod -g mygroup myuser1   # 将用户myuser1添加到mygroup用户组
usermod -g mygroup myuser2   # 将用户myuser2添加到mygroup用户组
id myuser1         # 查看用户信息
id myuser2         # 查看用户信息

如下图所示:

Linux系统命令——用户及用户组管理命令_第3张图片

设置密码passwd

设置用户密码使用passwd命令,其语法格式如下:

passwd [选项] 用户名

可选参数有:

  • -l:锁定密码,即禁用用户;

  • -u:密码解锁;

  • -d:使该用户无密码登录;

  • -f:强迫用户下次登录时修改密码。

示例代码如下:

useradd myuser1    # 创建myuser1用户
passwd -d myuser1   # 设置myuser1用户为无密码登录

如下图所示:

切换用户su

使用su命令来切换用户,语法格式如下:

su 用户名

示例代码如下:

su myuser1

注意:同级跳转需要输入密码,root转到普通用户,不需要密码。

可以使用exit跳出上一次用户,当你不知道你用户是谁,可以使用如下命令:

who am i   # 显示第一次登录的用户
whoami    # 显示当前用户名

如下图所示:

Linux系统命令——用户及用户组管理命令_第4张图片

暂时赋予权限sudo

sudo设置普通用户具有root权限,这里我们使用xjl用户来查看root用户的目录,示例代码如下:

su xjl    # 切换xjl用户
ls        # 查看目录
sudo ls    # 使用root权限查看目录

如下图所示:

Linux系统命令——用户及用户组管理命令_第5张图片

发现报错了,这是因为我们的xjl用户不在sudoers文件中,所以在普通用户通过sudo命令获取用户权限之前,需要把该用户添加到sudoers文件中,需要修改/etc/sudoers文件代码,代码如下所示

vim /etc/sudoers     # 进入sudoers文件

####修改的内容
root    ALL=(ALL)  ALL
用户名     ALL=(ALL)    ALL

或者配置成采用sudo命令时,不需要输入密码,如下所示:

vim /etc/sudoers     # 进入sudoers文件

root   ALL=(ALL)  ALL
用户名     ALL=(ALL)    NOPASSWD:ALL

注意:在修改sudoers文件之前,需要先进入root用户。

修改完毕后,如下图所示:

Linux系统命令——用户及用户组管理命令_第6张图片

现在就可以用xjl账号登录,然后用命令sudo,即可获得root权限进行操作,如下图所示:

Linux系统命令——用户及用户组管理命令_第7张图片

用户组管理

当我们每次创建一个用户时,系统会自动创建与用户同名的用户组。

用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。

添加用户组groupadd

使用groupadd添加用户组,其语法格式如下:

groupadd -[选项] 组名

可选参数有:

  • -g:GID 指定新用户组的组标识号(GID)。

  • -o:一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。

示例代码如下:

groupadd mygroup   # 创建mygroup用户组
cat /etc/group    # 查看已有的用户组

如下图所示:

Linux系统命令——用户及用户组管理命令_第8张图片

创建的用户组GID为1001。

当我们想指定创建的用户组GID时,可以使用如下代码:

groupadd -g 101 group1

删除用户组

使用组使用groupdel命令,其语法格式如下:

groupdel 组名

示例代码如下:

groupdel myuser1
groupdel myuser2
tail -n 5 /etc/group

如下图所示:

Linux系统命令——用户及用户组管理命令_第9张图片

修改用户组

修改用户组使用groupmod命令,语法格式如下:

groupmod 选项 用户组名

可选参数有:

  • -g:GID 为用户组指定新的组标识号;

  • -o:与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同;

  • -n:新用户组 将用户组的名字改为新名字。

示例代码如下:

groupmod -n yourgroup mygroup
tail -n 5 /etc/group

如下图所示:

Linux系统命令——用户及用户组管理命令_第10张图片

好了,Linux常用命令——用户及用户组管理命令就学到这里。

公众号:白巧克力LIN

该公众号发布Python、数据库、Linux、Flask、自动化测试、Git等相关文章!

- END -

你可能感兴趣的:(Linux系统,linux,服务器,运维)