Linux用户

Linux是多用户多任务的操作系统,支持多个用户在同一时间登陆,不同用户可以执行不同任务,并且互不影响。

但是每个用户之间不能越权访问。

用户和用户组

【Linux】用户和组管理_主目录


【Linux】用户和组管理_普通用户_02


【Linux】用户和组管理_主目录_03

【Linux】用户和组管理_普通用户_04

【Linux】用户和组管理_普通用户_05

【Linux】用户和组管理_主目录_06

用户分类

分为超级用户、系统用户、普通用户,其uid有不同的取值范围。

【Linux】用户和组管理_用户组_07

①普通用户:普通用户的权限有限,一般情况下只在自己的主目录和系统范围内的临时目录中具有相应权限,如创建文件。

第一个普通用户:当我们初次安装Ubantu系统时,会被要求创建一个用户账户,系统会在home文件夹下建立一个以该用户命名的文件,用于存储与该用户相关的文件。这种在安装系统时创建的第一个用户,虽然也是普通用户,但对比其他普通用户,该用户可以完成更多的管理功能,比如给root用户创建设置密码、创建用户。在同类Linux系统中,往往只有root用户才能创建用户。

系统第一个普通用户在建立新用户时,不需要密码;而其他用户建立用户时需要密码。

②超级用户:又称为root用户或系统管理员,使用/root作为主目录。在系统上拥有最高权限:可以修改和删除任何文件、可以运行任何命令、可以取消任何进程、增加和保留其他用户、配置添加系统软硬件。超级用户的uid、gid都为0.

③系统用户:系统用户也称虚拟用户、伪用户、假用户,系统用户不代表人,而代表系统的组成部分。因为不是真正的用户,所以系统用户没有登录shell,其主目录也很少在/home中,而在属于相关应用的系统目录中,例如apache的目录在/var/www。

用户相关文件

/etc/passwd

【Linux】用户和组管理_主目录_08

可以使用文本编辑器查看该文件,或者使用more或cat等命令查看passwd信息。

【Linux】用户和组管理_普通用户_09

/etc/shadow

【Linux】用户和组管理_用户组_10

【Linux】用户和组管理_普通用户_11

用户组

【Linux】用户和组管理_普通用户_12

【Linux】用户和组管理_用户组_13

用户权限=用户个人拥有的权限+该用户所在用户组拥有的权限。

/etc/group

Linux系统中,用户组的信息保存在配置文件/etc/group中,该文件是可读格式的文本,管理员可以利用文本编辑器来修改,而系统的大多数用户没有权限修改它,只能读取这个文件。

【Linux】用户和组管理_主目录_14

/etc/gshadow

【Linux】用户和组管理_主目录_15

【Linux】用户和组管理_主目录_16

用户和用户组管理命令

用户管理命令

useradd

创建一个新用户

【Linux】用户和组管理_用户组_17

useradd –m xiaom  –g  xiaom  

新建用户xiaom,创建主目录,指定组为xiaoming(基本组)

指定建立的组必须存在,如果不存在,需要先建立组。

如果不指定组,自动创建了一个和用户名相同的组。 

adduser

创建新用户。

使用adduser创建用户时显示了建立用户的详细进程,同时包含部分人机交互的对话过程,系统会提示用户输入各种信息,然后根据这种信息创建新用户。使用简单,不用加参数,建议初学者使用。

passwd

【Linux】用户和组管理_主目录_18

usermod

修改用户账户的信息。

usermod命令可以修改已存在用户的属性,如用户ID号、账号名称、主目录、用户组、登录shell等。 

【Linux】用户和组管理_用户组_19

用usermod需要先改组,再更改目录,再改用户,否则用户不存在了。注意:组必须存在,用户必须不存在。 

使用chgrp更改组时,可以先改目录,改所有者,再改组。 

userdel

删除用户。userdel命令可以删除已存在的用户账号,将/etc/passwd等文件系统中的该用户记录删除,必要时还删除用户的主目录。

用户组管理命令

groupadd

【Linux】用户和组管理_普通用户_20

groupmod

【Linux】用户和组管理_主目录_21

groupdel

从系统上删除组。

如果该组中仍包含某些用户,则必须先删除这些用户后,才能删除组。

gpasswd

用来管理组。该命令可以把用户加入组(附加组),为组设定密码。 

【Linux】用户和组管理_普通用户_22

-M只能指定一个群成员 。-a  可把多个成员添加到同一个组;-a比-M更适用。

su 和 sudo

su

超级用户root向普通或虚拟用户切换不需要密码,而普通用户切换到其它任何用户都需要密码验证。 

【Linux】用户和组管理_主目录_23

sudo

sudo命令为Super user do的缩写,允许系统管理员分配给普通用户一些合理的权利,让他们执行一些只有超级用户或者其他特许用户才能完成的任务。

Sudo的流程为:当前用户切换到root(或其它指定切换到的用户),然后以root(或其它指定的切换到的用户)身份执行命令,执行完成后,直接退回到当前用户。而这些的前提是要通过sudo的配置文件/etc/sudoers来进行授权。 

【Linux】用户和组管理_主目录_24

【Linux】用户和组管理_用户组_25

【Linux】用户和组管理_主目录_26