基本介绍
Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员root申请一个账号,然后以这个账号的身份进入系统.
添加用户
基本语法
useradd [用户名]
adduser [用户名]
应用案例
**案例1:**添加一个用户milan,默认该用户的家目录在/home/milan,但新建用户的时候,有时候创建home目录不成功或有忘记创建home目录,则需要后续来创建用户的家目录home。
用户milan已经创建,但并未创建家目录。
案例2:使用adduser 用户名添加用户
注意事项:
- 一定要在root用户下创建新用户,否则会报如下错误。
-
linux 创建新用户时没有用户目录:
两种原因:创建home目录不成功或忘记创建home目录
解决方法(2种):
-
使用
useradd -m 用户名
,在 /home 目录下创建同名文件夹。 -
先 mkdir /home/username 创建目录,然后使用 useradd -d /home/username username 创建新用户
-
细节说明
- 当创建用户成功后,会自动的创建和用户同名的家目录
- 也可以通过
useradd -d [指定目录] [新的用户名]
,给新创建的用户指定家目录 - useradd选项:
- -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
- -m 目录 创建用户的主目录。
- -g 用户组 指定用户所属的用户组。
- -G 用户组,用户组 指定用户所属的附加组。
- -s Shell文件 指定用户的登录Shell。
- -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
指定/修改密码
基本语法
passwd [用户名]
注意事项
- passwd后一定要加上用户名,否则会给当前工作的用户更改密码。
应用案例
给milan用户指定/修改密码
补充,显示当前用户所在的目录 pwd
删除用户
基本语法
userdel 用户名
应用案例
-
删除用户milan,但是要保留家目录
删除保留的用户家目录:
sudo rm -r 用户名
-
删除用户以及用户主目录,该操作一定要谨慎使用
删完,确定用户是否存在
id -u 用户名
若用户已经删除,会回显没有该用户,若用户还在会回显一个数如505,这是该用户唯一且有效的ID,类似我们的身份证号。cat /etc/passwd|grep 用户名
若用户存在,会回显用户的一些信息,若不存在则没有任何显示,直接进入下一行等待新命令输入的状态。
查询用户信息指令
基本语法
id 用户名
应用实例
案例:查询root、milan信息
细节说明
当用户不存在时,返回无此用户
切换用户
介绍
在操作Linux中,如果当前用户的权限不够,可以通过su -指令,切换到高权限用户,比如root
基本语法
su -切换用户名
应用实例
创建一个用户jack,,指定密码,然后切换到jack
细节说明
-
从权限高的用户切换到权限低的用户,不需要输入密码,反之需要。
-
当需要返回到原来用户时,使用exit/logout指令
-
切换用户后,只显示$符号问题(详情参考)
查看当前用户/登录用户
基本语法:
whoami /who am i
登录时间:本地设备通过book用户登录到服务器的时间
登录地址IP:本地设备(即登录设备)的IP地址。
注意 :who am i显示的是本地设备登录的那一个用户的信息,即使在用户中切换到其它用户,who am i仍然只会显示登录的那一个用户的信息,如上例。
用户组
介绍
类似于角色,系统可以对有共性的多个用户进行统一的管理
新增组
groupadd 组名指令
案例演示
删除组
groupdel 组名
案例演示
增加用户时直接加上组
useradd -g 用户组 用户名
增加一个用户cat,直接将他指定到animal
如果增加用户时,不加上指定的用户组(book用于创建时没有指定用户组,cat用户创建时,指定了用户组animal),那么增加用户时就会默认生成一个与用户名相同的组,并把其加入该组中。
修改用户的组
usermod -g 用户组 用户名
案例演示:创建一个botany组,把cat用户修改到botany组内。
用户和组相关文件
-
/etc/passwd
文件
用户(user)的配置文件,记录用户的各种信息
每行的含义:
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell(一般情况下用bash)
执行:vim /etc/passwd
-
/etc/shadow
文件
口令的配置文件
每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
执行:vim /etc/shadow
-
/etc/group
文件
组(group)的配置文件,记录Linux包含的组的信息每行含义:组名:口令:组标识号:组内用户列表
执行vim /etc/group