文章目录
一、用户二、用户分类1、普通用户2、超级用户3、系统用户 三、用户相关文件1、/etc/passwd文件2、/etc/shadow文件 四、用户管理命令1、useradd2、adduser3、passwd4、usermod5、userdel
一、用户
Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户都必须先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
在Linux系统中,任何文件都属于某一特定用户,而任何用户都隶属于至少一个用户组。
用户名(username):每个用户账号都拥有一个惟一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。
用户ID:每个用户不仅有唯一的用户名,还有唯一的用户id,用户id缩写为uid。对于系统内核来说,它使用uid来记录拥有进程或文件的用户。Linux系统分配的uid是一个32位的整数,即最多可以有2^32个不同的用户。
系统有一个数据库,存放着用户名与uid的对应关系,这个数据库存在配置文件/etc/passwd中,系统上的大多数用户都有权限读取这个文件,但是不能进行修改。
二、用户分类
Ubuntu系统的安全性和多功能,依赖于如何给用户分配权限以及对其的使用方法。
当我们初次安装Ubuntu系统时,会被要求创建一个用户账号,系统会在home文件夹下建立一个以该用户名命名的文件,用于存储与该用户相关的文件。这种在安装系统时创建的第1个用户,虽然也是普通用户,但对比其他普通用户,该用户可以完成更多的管理功能。(在同类Linux系统中,往往只有root用户才能创建用户)。
用户分为3类:普通用户、超级用户、系统用户,其uid有不同的取值范围。
1、普通用户
普通用户是使用系统最多的人群,用户主目录为/home/用户名。普通用户的权限不是很高,一般情况下只在自己的主目录和系统范围内的临时目录中创建文件。
查看用户名的方法:
① 在shell中可以查看用户名。
cd etc #进入cat目录cat passwd #在shell中可以查看用户名或more passwd
② 利用图形编辑器来查看和管理用户,在文本编辑器gedit中,打开/etc/passwd文件可以查看普通用户的信息,如下图所示。
$ gedit /etc/passwd #在文本编辑器gedit中,打开/etc/passwd文件可以查看普通用户的信息
2、超级用户
超级用户又称为root用户或系统管理员,使用/root作为主目录。在系统上拥有最高权限:可以修改和删除任何文件、可以运行任何命令、可以取消任何进程、增加和保留其他用户、配置添加系统软硬件。超级用户的uid、gid都为0。
在gedit中查看超级用户信息如下,root用户位于passwd文件的第一行,如图所示。
3、系统用户
大多数Linux系统会将一些低uid保留给系统用户。系统用户不代表人,而代表系统的组成部分,例如处理电子邮件的进程经常以用户名mail来运行;运行Apache网络服务器的进程经常作为用户apache来运行。
因为不是真正的用户,所以系统用户没有登录shell,其主目录也很少在/home中,而在属于相关应用的系统目录中,如从下图中可以看到系统用户mail,其主目录在/var/mail下。
三、用户相关文件
1、/etc/passwd文件
Linux系统的用户信息保存在配置文件/etc/passwd中,该文件是可读格式的文本,管理员可以利用文本编辑器来修改。而系统的大多数用户没有权限修改它,只能读取这个文件。
/etc/passwd 文件中的每行记录了一个合法用户账号的数据,每一行数据用冒号分隔,其格式如下:
username:password:uid:gid:userinfo:home:shell
其中,各个字段的含义如下表所示:
2、/etc/shadow文件
用户的加密密码被保存在/etc/passwd文件的第二个字段中。由于passwd文件包含的信息不仅仅有用户密码,每个用户都需要读取它,任何一个用户都有权限读取该文件从而得到所有用户的加密密码。而加密常用的md5算法,越来越容易被暴力破解,这样的密码保存方式是非常危险的。因此,在Linux和Unix系统中,采用了一种更新的“影子密码”技术来保存密码,用户的密码被保存在专门的/etc/shadow文件中,只有超级管理员的root权限可以查看,普通用户无权查看其内容。
① 在shell中可以查看文件。
cd etc #进入cat目录cat shadow #在shell中可以查看文件或more shadow
② 利用图形编辑器来查看和管理用户,在文本编辑器gedit中,打开/etc/passwd文件可以查看普通用户的信息,如下图所示。
$ gedit /etc/shadow #在文本编辑器gedit中,打开/etc/passwd文件可以查看普通用户的信息
/etc/shadow文件中的每行记录了一个合法用户账号的数据,每一行数据用冒号分隔,其格式如下:
username:password:lastchg:min:max:warn:inactive:expire:flag
其中,各个字段的含义如下表所示:
四、用户管理命令
1、useradd
功能描述:创建一个新用户。系统创建一个新用户时,同时为新用户分配用户名、用户组、主目录和登录shell等资源。格式:useradd [选项] 用户名选项:
![在这里插入图片描述](http://zhangshiyu.com/zb_users/upload/2023/05/20230504150502168318390258651.png)
例1:创建用户
说明:
(1)只有超级用户root和具有超级用户权限的用户才能建立新用户。
(2)useradd命令如果不加任何参数,建立的是“三无”用户:一无主目录,二无密码,三无系统Shell。
useradd user01 #超级用户user01
例2:建立新用户同时建立主目录
useradd -m user01 #建立新用户同时建立主目录
例3:建立新用户并设置密码
useradd –m user01 –g group01 –p 123456 #新建用户user01,创建主目录,指定组为group01(基本组),设置密码为123456
2、adduser
功能描述:创建新用户。
使用adduser创建用户时显示了建立用户的详细进程,同时包含部分人机交互的对话过程,系统会提示用户输入各种信息,然后根据这种信息创建新用户。使用简单,不用加参数,建议初学者使用。
格式:adduser 用户名
例:建立新用户
adduser user02 #创建新用户user01
3、passwd
功能描述:为用户设定口令,修改用户的口令,管理员还可以使用passwd命令锁定某个用户账户,该命令需要root权限。Ubuntu中登录用户时需要输入口令,也就是说只有指定了密码后才可以使用该用户,即使指定的是空口令也可以。格式:passwd [选项] 用户名选项:
![在这里插入图片描述](http://zhangshiyu.com/zb_users/upload/2023/05/20230504150502168318390230776.png)
例1:设置用户密码
passwd user01 #为用户user01创建管理口令
例2:锁定用户
passwd -l user01 #锁定user01用户
锁定账户后,这个账户不能使用了,解锁后可以使用。
锁定用户后,密码前显示“ ! ”。
例3:设置密码最大使用时间
passwd -x 4 user01 #设置user01账户最大密码使用时间为4天
例4:删除密码
passwd -d user01 #删除user01密码
4、usermod
功能描述:修改用户账户的信息。
usermod命令可以修改已存在用户的属性,如用户ID号、账号名称、主目录、用户组、登录shell等。
格式:usermod [选项] 用户名
选项:
例1:改变用户的组
usermod –g 1001 malimei #修改用户的组/主要组为1001
例2:更改用户信息 usermod –l user01 user –g 1001 –d /home/test #将user用户名修改为user01,用户组gid改为1001,用户主目录改为/home/test
5、userdel
功能描述:删除用户。userdel命令可以删除已存在的用户账号,将/etc/passwd等文件系统中的该用户记录删除,必要时还删除用户的主目录。格式:userdel [选项] 用户名选项:
–r : 将用户的主目录一起删除。
例:删除user01用户
userdel user01 #删除用户user01,保留主目录userdel user01 -r #删除用户user01及其主目录
ending~~~
有什么问题欢迎留言噢