1、Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
2、Linux系统支持多个用户在同一时间内登陆,不同用户可以执行不同的任务,并且互不影响,为了能够让用户更加合理、安全地使用系统资源,从而产生了一套用户管理功能。
3、Linux下的用户管理分为两类——用户管理和用户组管理。
4、每个用户账号都拥有一个唯一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。
5、在Linux下,用户被分为三类
超级用户(root):用户在系统上有完全权限:可以修改和删除任何文件;可以运行任何命令;可以取消任何进程。根用户负责增加和保留其他用户、配置硬件、添加系统软件。虽然根用户可以在系统上的任何地方创建文件,通常使用/root作为主目录。
普通用户:普通用户是使用系统的真实用户人群。普通用户通常把/bin/bash作为登录Shell和/home的子目录作为主目录。一般情况下,普通用户只在自己的主目录和系统范围内的临时目录里(如/tmp和/var/tmp)创建文件。
系统用户:系统用户不代表人,而代表系统的组成部分,是用于服务,进程运行使用的用户。例如,处理电子邮件的进程经常以用户名mail来运行;运行Apache网络服务器的进程经常作为用户apache来运行。系统用户通常没有登录Shell,因为它们不代表实际登录的用户。同样,系统用户的主目录很少在/home中,而通常在属于相关应用的系统目录中。
6、每个用户账号都拥有一个唯一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。实现用户账号的管理,要完成的工作主要有如下几个方面:
1)用户账号的添加、删除与修改。
2)用户口令的管理。
3)用户组的管理。
有三个重要的文件:
/etc/passwd 存储用户的关键信息
/etc/group 存储用户组的关键信息
/etc/shadow 存储用户的密码信息
7、sudo 可以让普通管理员拥有与超级管理员同等的权限,在ubuntu中有许多命令前需要加上sudo来提权。
su root 切换的超级管理员 后面会让输入密码 或者直接su ,默认切换到超级用户
su - edu 切换到普通管理员
passwd root 修改用户密码
注:从普通用户切换到root用户或者其他需要输入密码,而从root用户切换到普通用户不需要密码。
一、添加用户
1、首先切换到超级管理员root用户下
su
然后输入密码
2、添加用户
useradd命令用于添加用户,其参数为:
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
-m:自动创建用户家目录 并将/etc/skel中的文件复制到家目录中
eg:
useradd -d /home/sea -m sea
3、检查是否添加成功
1) 可以通过 tail -5 /etc/passwd 输出用户关键信息文件的后5行验证
2) 可以通过 id user2来验证
3)可以通过进入home文件下查看
4、为用户设置密码
使用命令 passwd sea(你所创建的用户名)
5、学会看passwd文件:
tail -5 /etc/passwd
每一行,代表一个用户,依次是:
用户名:密码:用户id:用户组id : 注释:家目录:解释器shell
用户名:创建新用户的名称,后期登录时需要用到
密码:此密码位置一般都是 X ,表示密码的占位
用户id: 用户的标志符
用户组id:该用户所属的主组id
注释:解释该用户是干什么用的
家目录:用户登录进去之后默认的位置
解释器shell: 等待用户进入系统后,用户输入指令后,该解释器会收集用户输入的指令,传递给内核处理
注:如果解释器是/bin/bash表示用户可以登录到系统,/sbin/nologin表示该用户不能登录到系统
6、懂得用户uid
用户uid :
Linux中的用户是通过UID(uesr ID)进行标记的,UID类似于身份证号,与用户名一一对应,能唯一标识系统上的一个用户,三种用户类型的UID分别为:
超级用户:uid= 0;
普通用户: uid >=1000
系统用户:uid < 1000
使用 id -u [用户名] 省略用户名,表示查看当前登录用户的id,加上用户名,就是该用户名下的uid
eg:
注意观察红色圈部分,普通用户提示符为$,而root用户提示符为#
二、修改用户名
修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录Shell等。
修改已有用户的信息使用usermod
命令
-g: 指定用户的用户主组,可以是用户组id,也可以是组名
-G :修改用的附加组,可以是用户组id,也可以是组名
-u:修改用户的uid
-l:修改用户名
-c:修改备注
-d:修改用户家目录
-s:修改用户登入后使用的shell
eg:
usermod -d /home/seas -l seas sea
三、设置密码
-l 锁定密码,用户不能更改密码
-u 密码解锁
-d 删除密码
使用cat /etc/shadow | grep seas 查看加密后的密码
使用passwd seas(你要修改的用户名)
再次查看,会发现密码不一样了,修改成功
四、删除用户
-r 删除用户及家目录
注意,如果不带 -r选项,用户的家目录不会被删除