Linux实操篇02(用户管理)
Linux实操篇02(用户管理)
在学习用户管理之前,让我们先来学习一下Linux的目录结构,有利于我们学习用户管理的内容
1、 Linux目录结构
1.1基本介绍
-
linux 的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录 ,然后在此目录下再创建其他的目录。
-
深刻理解 linux 树状文件目录是非常重要的
-
记住一句经典的话:在 Linux 世界里,一切皆文件!!!
2、添加用户
- 基本语法
useradd 用户名
注意:
1、当创建用户成功后,会自动的创建和用户同名的家目录
2、也可以通过 useradd -d 指定目录新的用户名,给新创建的用户指定目录
useradd -d /home/文件夹名称 用户名
例如:
useradd -d /home/KING king
注意:指定目录名称时,一定要输入文件夹名称 用户名可以与文件夹名称相同,也可以不同,但是建议名称一致
实践:切换用户登陆,试一下
su - 用户名 (普通用户)
su (root用户)
3、修改用户密码
passwd 用户名
例如:passwd king
注意:是passwd 不是password 不注意的话,容易出错
密码自己设计得复杂一点,但是要自己记得密码
实践:尝试该用户登陆
4、删除用户
基本语法
userdel 用户名
(这里发现一个问题,当VMware异常关机时,重新启动,可能导致Xshell无法连接到VMware,解决方案:手动将VMware关机,然后重新启动。Xshell重新连接原ip即可成功,前提条件:ip正确 ip config或者ip addr 查询ip)
当我使用userdel KING 删除的时候失败了,这时候我想起来,我的用户名不是KING而是king,从这个问题,我们可以知道 ,需要注意大小写,还有一点,我再删除操作之后,我们可以看到KING目录并没有直接删除,但是我通过id 用户名 命令查找用户,显示 id:king:no such user 没有这个用户,证明king用户确实被删除了。
那么,问题就来了,这个已经删除的用户的用户目录,是否保留?
工作中,按照实际情况考虑,我这边建议保留,但是由于我这是个人虚拟机上的,我个人决定删掉该空目录
还有一种删除用户的方式:
删除用户以及用户主目录
比如 删除tom用户, userdel -r tom
小结:
删除用户 king,但是要保留家目录,userdel king
删除用户以及用户主目录
比如删除 tom,userdel -r tom
5、查询用户信息指令
基本语法
id 用户名
当用户不存在时,返回无此用户
这里复习一下
切换用户命令
su - 切换的用户名
注意:
1)从权限高用户切换到权限低的用户,不需要输入密码,反之需要
2)当需要返回到原来用户时,使用exit/logout指令
例如:
注意:su 后面什么都不加,代表的就是root用户
查看当前用户/ 登录用户
基本语法
whoami 或者 who am I
6、用户组
介绍
类似于角色,系统可以对有共性/权限的多个用户进行统一的管理
新增组
groupadd 组名
删除组
groupdel 组名
7、添加用户到指定用户组
基本语法
useradd -g 用户组 用户名
案例
1、增加用户时直接加上组
2、指令(基本语法): useradd-g 用户组 用户名
3、增加一个用户 zwj,直接将他指定到 wudang
4、groupadd wudang
5、useradd -g wudang zwj
既然新增的用户组,我们当然要查看一下呐
查找用户组:您可以使用cat /etc/group命令来列出系统中所有的用户组以及它们的详细信息。该命令会输出一个包含用户组信息的文本文件。
cat /etc/group
查找用户组:使用getent group命令可以列出系统中所有的用户组。
getent group
查找用户组中的成员:使用getent group group_name命令来查找特定用户组的详细信息,包括成员列表。
getent group 用户组名称
8、修改用户的组
基本语法
usermod -g 用户组 用户名
案例演示
创建一个组 mojiao
把 zwj 放入到 mojiao
指令: usermod -g mojiao zwj
9、用户和用户组相关文件
/etc/passwd 文件
用户 (user) 的配置文件,记录用户的各种信息
每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录 Shell
/etc/shadow 文件
口令的配置文件
每行的含义: 登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
/etc/group 文件组(group)的配置文件,记录 Linux 包含的组的信息每行含义:组名:口令:组标识号:组内用户列表
1.2 具体的目录结构如下(不用背,知道即可)
1) /bin [常用](/usr/bin 、 /usr/local/bin)
是 Binary 的缩写,这个目录存放着最经常使用的命令
2) /sbin (/usr/sbin/usr/local/sbin)
s 就是 Super User 的意思,这里存放的是系统管理员使用的系统管理程序。
3) /home[常用]
存放普通用户的主目录,在 Linux 中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名
4) /root [常用]
该目录为系统管理员,也称作超级权限者的用户主目录
5) ib 系统开机所需要最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库
6) /lost+found 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件
7) /etc[常用]
所有的系统管理所需要的配置文件和子目录,比如安装 mysql 数据库 my.conf
8) /usr [常用]
这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与 windows 下的 program files 目录。
9) /boot[常用] 存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件
10) /proc [不能动] 这个目录是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统信息
11) /srv [不能动] service 缩写,该目录存放一些服务启动之后需要提取的数据
12) /sys [不能动]这是 linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs =》[别动]
13) /tmp 这个目录是用来存放一些临时文件的
14) /dev
类似于 windows 的设备管理器,把所有的硬件用文件的形式存储
15)/media[常用]lnux 系统会自动识别一些设备,例如 U盘、光驱等等,当识别后,linux 会把识别的设备挂载到这个目录下
16) /mnt[常用]
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就
可以查看里的内容了。 d:/myshare
17) /opt 这是给主机额外安装软件所存放的目录。如安装 ORACLE 数据库就可放到该目录下。默认为空
18) /usr/local [常用]
这是另一个给主机额外安装软件所安装的目录。一般是通过编译源码方式安装的程序
19) /var [常用]
这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下。包括各种日志文件
20) /selinux [security-enhanced linux]
SELinux 是一种安全子系统,它能控制程序只能访问特定文件。有三种工作模式,可以自行设置