Linux如何新建用户,支持多用户共同使用的操作系统

Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
首页 新闻资讯 行业资讯 Linux如何新建用户,支持多用户共同使用的操作系统

Linux 用户和用户组管理

Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统

017f49f60492022af1668491ed9d4aeffb9992.jpg

为什么需要进行分组管理?Linux中只有一个超级管理员,就是root,UID为0。其他用户根据任务不同分配不同的权限,一个用户组可以包括多个用户,这样,新建用户时分配权限就更加方便。

自己安装的虚拟机都会在安装系统时要求新建一个用户,登录时使用自己的指定的用户名,需要临时借用root权限可以加sudo或者sudo su root,在当前窗口一直使用root权限。

而云服务器,一般首次登录时,以root身份登录,在超级管理员权限下进行的操作是非常危险的,很容易误操作造成系统崩溃。

这就需要临时分配一个普通用户,下面先使用一个简单的方式创建普通用户:

复制

adduser blackcat
  • 1.

11936cc005002d57073999918a39e5208b6a24.png

输入命令后,两次确认密码,之后一路回车,y确定即可。

47e447c248dfc615dc7379e702ac21ca4e28ec.jpg

查看当前用户信息:id blackcat

c6f0fa56000adc1784a874b4cdf824246b004a.png

切换到其他用户:sudo su hioier

331c1319002f4890a4f203a150d6305b7582a7.png

提示错误:当前blackcat用户不在sudo附加组,这就需要我们添加一个附加组权限。

给用户blackcat分配sudo权限:usermod -aG sudo blackcat

注:当前用户需要新开一个终端切换到root用户操作

075f55852716e19bd8e5592286c147e9f631cf.png

用户管理

/etc/passwd文件

查看文件:

复制

root:x:0:0:root:/root:/bin/bashdaemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologinbin:x:2:2:bin:/bin:/usr/sbin/nologin......gdm:x:125:130:Gnome Display Manager:/var/lib/gdm3:/bin/falsesssd:x:126:131:SSSD system user,,,:/var/lib/sss:/usr/sbin/nologinhioier:x:1000:1000:hioier,,,:/home/hioier:/bin/bashsystemd-coredump:x:999:999:systemd Core Dumper:/:/usr/sbin/nologinblackcat:x:1001:1001:,,,:/home/blackcat:/bin/bash
  • 1.

  • 2.

  • 3.

  • 4.

  • 5.

  • 6.

  • 7.

  • 8.

  • 9.

  • 10.

  • 11.

1.登录用户名

2.用户密码:x是占位符号,代表当前用户有密码,可以登录,真正的密码在/etc/shadow文件,信息经过加密处理,只有特定的程序,比如,登录程序才可以访问文件里面的内容。

3.用户账号UID:0是唯一的一个超级管理员,当前系统Ubuntu20.04 1~999 是系统账户,有些版本Linux 是1~499。系统账户是指运行的各种服务进程访问资源的特殊账户。所有运行在后台的服务都需要用一个系统账户登录到Linux系统上。

4.用户账户的组ID

5.用户账户的文本描述,成为备注字段

6.用户HOME目录的位置

7.用户默认shell

添加用户

之前使用adduser,然后分配sudo权限,可以简单快速创建新用户,如果要实现更多自定义参数,可以使用useradd。系统默认值在/etc/default/useradd中。

快速查看默认值:

复制

/usr/sbin/useradd -D
  • 1.

e5738b3242a55ab1dea151964f7b9291327701.jpg

useradd命令格式:

复制

useradd 选项 用户名
  • 1.

  • 选项:

  • -c comment 指定一段注释性描述。

  • -d 目录 指定用户主目录。

  • -m 用户目录如不存在则自动建立。

  • -g 用户组 指定用户所属的用户组。

  • -G 用户组,用户组 指定用户所属的附加组。

  • -s Shell文件 指定用户的登录Shell。

  • -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

更改默认值:useradd -D -s /bin/bash

361a48475bb55cd0754121687557d4655f9040.png

添加和修改密码

复制

passwd 用户名    # 给指定用户修改密码passwd 直接回车  # 给当前用户修改密码
  • 1.

  • 2.

删除用户

复制

userdel [选项] 用户名-r:删除用户时同时删除home下的文件-f:强制删除正在登录的用户
  • 1.

  • 2.

  • 3.

  • 4.

b45106d730a79b2b4e0033ba1c34fb2714776d.png

更改用户

usermod [选项] 用户名

复制

-c:添加备信息  -d:用户的新主目录-m:将家目录内容移至新位置 (仅于 -d 一起使用)-e:设定帐户过期的日期-f:过期 INACTIVE 天数后,设定密码为失效状态-u:用户帐号的新 UID-g:强制使用 GROUP 为新主组 -G:新的附加组列表 GROUPS-a:将用户追加至上边 -G 中提到的附加组中,并不从其它组中删除此用户-p:将加密过的密码-s:该用户帐号的新登录 shell
  • 1.

  • 2.

  • 3.

  • 4.

  • 5.

  • 6.

  • 7.

  • 8.

  • 9.

  • 10.

  • 11.

用户组管理

添加用户组

复制

groupadd [选项] 用户组参数:-g GID:指定新用户组的组标识号(GID)。
  • 1.

  • 2.

  • 3.

  • 4.

删除用户组

复制

groupdel 用户组
  • 1.

修改用户组

复制

groupmod [选项] 用户组参数:
   -g GID:为用户组指定新的组标识号。
   -n 新用户组:将用户组的名字改为新名字。
  • 1.

  • 2.

  • 3.

  • 4.

  • 5.


12    2023-02-15 08:40:46    Linux 操作系统