目录
前言
Linux操作系统在虚拟机VM上的安装【CentOS版本】-CSDN博客
关机&重启命令
基本介绍
- shutdown -h now 立刻进行关机
- shutdown -h 1 一分钟后关机
- shutdown -r now 现在重新启动计算机
- halt 关机,作用和上面一样
- reboot 现在重启计算机
- sync 把内存中的数据同步到磁盘
注意细节
- 不管是重启系统还是关闭系统,首先要运行“sync”命令,把内存中的数据写到磁盘中
- 目前的shutdown/reboot/halt等命令已经在关机前进行了sync
用户登录和注销
- 输入logout可注销用户
注意:
- logout在图形运行级别无效,在运行级别3下才有效
用户管理
用户管理指的是“root用户”对“普通用户”的管理,因此下面的指令都是在“root用户”命令行下使用的
基本介绍
Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统
添加用户
useradd 用户名
- 添加一个用户后,该用户的家目录在:“/home/用户名”
- 也可以通过“useradd -d 指定目录 用户名”,给新创建的用户指定家目录
指定/修改密码
passwd 用户名
删除用户
- userdel 用户名,删除用户,但不删除用户的家目录
- userdel -r 用户名,删除用户,同时删除用户的家目录
查询用户信息
id 用户名
返回结果如下:
- uid:Linux系统来唯一标识用户的数字。每个用户在系统中都有唯一的一个UID,系统通姑婆UID来管理用户权限和访问控制
- gid:gid十系统用来唯一标识用户组的数字。每个用户组在系统中也有一个唯一的gid,用户组用于管理一组用户的权限,允许多个用户共享文件和资源
- 组信息:标志用户所属的组
例如:
切换用户
su 用户名
注意:
- 从高权限用户切换到低权限用户不用输入密码,反之需要
- 当需要返回到原来的用户,可以使用:“exit/logout”命令
查看当前用户登录用户
whoami 或者 who i am
whoami | who i am |
---|---|
![]() | ![]() |
用户组
用户组类似于角色,系统可以对有“共性/权限”的多个用户进行统一管理
(有点类似于编程语言中的类,不同角色相当于不同的类对象)
新增组
groupadd 组名
删除组
groupdel 组名
查看所有组
- cat /etc/group:直接查看组文件
- getent group:命令行查看
效果:
使用这两个命令查找,不仅会列出用户组,还会列出系统组,非常繁琐,不利于我们查看
通常,我们只在乎“用户组”即:“创建用户时自动创建的组”或者“root用户手动创建的组”
在Linux中,系统组的GID通常在(1~999)之间,而新创建的组的GID(大于等于1000),为此我们可以使用以下命令行查看:
- awk -F: '$3 >= 1000 {print}' /etc/group
效果:
- nfsnobody:网络文件系统环境组,不必理会
修改用户所属组
usermod -g 用户名 组名
- 假设我们有一个用户为“tom”,所属组为“tom”
- 现在想将他修改为“xinzheng”组下成员,代码如下:
- usermod -g tom xinzheng
效果:
创建用户时指定用户的组
useradd -g 组名 用户名
效果:
删除用户所属的某个组
gpasswd -d 用户名 组名
用户和组相关文件
/etc/passwd文件
用户的配置文件,记录用户的各种信息
每行的含义:
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录shell
例如:
/etc/shadow文件
口令的配置文件
每行的含义:
登录名:加密口令:最后一次修改时间:最小时间间隔:最大事件间隔:警告时间:不活动时间:失效时间:标志
如果密码字段是“!”表示该用户账户被禁用或锁定(就是没设置密码)
例如:
/etc/group文件
组配置文件,记录Linux包含的组的信息
每行含义:
组名:口令:组标识号:组内用户列表
例如:
sudo指令
有时,我们是普通用户的身份,但是我们需要利用普通用户执行只有root用户才能执行的命令,这个时候我们就可以是用sudo指令:
sudo 命令
- 例如我是普通用户,但是我想创建一个新的用户,这本应只能是root用户才能做到,但我可以使用“sudo useradd newuser”来创建用户
注意
只有root用户允许的普通用户才能使用sudo命令,否则将被警告
例如某用户没有sudo权限:
设置某个用户可以使用sudo
- root用户在命令行中输入:“visudo”,进入sudoers文件
- 找到“Allow root to run any commands anywhere”这一栏,添加如下内容:
用户名 ALL=(ALL) ALL