Ubuntu维护整合
<h3 style="text-align: center"><span style="font-size: 18px">日常整理</span></h3><span style="font-size: 18px">使用命令查询网络地址配置结果:</span>
<p> </p>
<div class="cnblogs_code">
<pre>ifconfig</pre>
</div>
<p> </p>
<p> </p>
<p> </p>
<h3 style="text-align: center"><span style="font-size: 18px">2022山东省职业院校技能大赛物联网赛项(高职组)Ubuntu维护</span></h3>
<div>任务要求:</div>
<ul>
<li>在服务器计算机使用 ssh 方式登录 Ubuntu 系统,根据模块 A“局域网各设备 IP 配置”设置 Ubuntu 系统 IP 地址。</li>
<li>在终端使用命令查询 ssh 服务运行情况。</li>
<li>在终端使用命令查询哪些端口被使用。</li>
</ul>
<div>完成以上任务后请做以下步骤:</div>
<h4><span style="font-size: 16px">(1)请将使用 ssh 命令成功登录 Ubuntu 系统的界面截图,另存为 B-2-1.jpg,</span><span style="font-size: 16px">要求截图中使用红色矩形框圈出 ssh 命令以及登录成功的结果。</span></h4>
<div>答:ssh newland@Ubuntu的IP地址(一切以比赛为准,这里只是测试地址:192.168.3.17)
<p><img src="https://img2023.cnblogs.com/blog/3177186/202304/3177186-20230425150819681-963893173.jpg" alt="" loading="lazy"></p>
</div>
<h4><span style="font-size: 16px">(2)将终端中使用命令查询 ssh 服务运行情况的界面截图,另存为 B-2-2.jpg。</span></h4>
<div>答:ps -e|grep ssh
<p><img src="https://img2023.cnblogs.com/blog/3177186/202304/3177186-20230425151643963-392081180.jpg" alt="" loading="lazy"></p>
</div>
<h4><span style="font-size: 16px">(3)将终端中使用命令查询哪些端口被使用的界面截图,另存为 B-2-3.jpg</span></h4>
<div>答:sudo lsof -i</div>
<div>该命令将列出所有正在使用的 TCP 和 UDP 端口。
<p><img src="https://img2023.cnblogs.com/blog/3177186/202304/3177186-20230425153158110-950895598.jpg" alt="" loading="lazy"></p>
<p> </p>
<div>任务要求:</div>
<div>(1)登 录 Ubuntu 系 统 , 在 当 前 目 录 创 建 文 件 夹 MySQL 。 将 提 供 的“mysql.tar.gz”发送到 mysql 文件夹中,使用命令解压缩该文件。</div>
<div>(2)完成 MySQL 数据库的安装,在终端中登录 MySQL 数据库。</div>
<div>(3)在 MySQL 数据库中添加名为 iot_database 的数据库,在 iot_database数据库中创建名为 device 的表,表字段自行设计。</div>
<div>(4)在终端中使用一条命令新增一个 MySQL 数据库用户,要求通过该命令设置数据库用户名为 iot_user,密码设置成 123456,限制该用户仅允许从192.168.0.138 这个 IP 登录。同时在终端中使用一条命令为该用户授权,要求设置 iot_user 用户对 device 表仅允许有查询权限。</div>
<div>(5)配置 MySQL 数据库启用通用日志记录功能,并在终端中使用命令查询该配置结果。</div>
<div>(6)在终端中使用命令查询尝试连接到 MySQL 服务器失败的次数。</div>
<div>(7)在终端中使用 dump 方式备份 iot_database 数据库所有内容,保存到iot_database20221104.sql 文件中</div>
<div><strong>完成以上任务后请做以下步骤:</strong></div>
<ul>
<li>
<h4><span style="font-size: 18px">在终端中登录 MySQL 数据库成功后的界面截图,另存为 B-3-1.jpg。</span></h4>
</li>
</ul>
<p><span style="font-size: 18px">答:</span></p>
<div class="cnblogs_code">
<pre>sudo mysql <span style="color: rgba(128, 128, 128, 1)">-</span>u root <span style="color: rgba(128, 128, 128, 1)">-</span>p</pre>
</div>
<p> </p>
<p><img src="https://img2023.cnblogs.com/blog/3177186/202304/3177186-20230425155111561-121542831.jpg" alt="" loading="lazy"></p>
<ul>
<li>
<h4><span style="font-size: 18px">在终端中按要求使用命令新增 iot_user 用户的界面截图,另存为 B-3-2.jpg。要求截图中使用红圈圈出具体的命令。</span></h4>
</li>
</ul>
<p><span style="font-size: 18px">答:</span></p>
<ol>
<li>在终端中进入 MySQL 控制台:</li>
</ol>
<div class="code-block">
<div class="code-block-inner"><span style="font-family: monospace"> sudo mysql -u root -p</span></div>
</div>
<ol start="2">
<li>输入 MySQL 的 root 用户密码,进入控制台后创建 iot_database 数据库:</li>
</ol>
<div class="code-block">
<div class="code-block-inner"><code class="hljs language-ini"> CREATE DATABASE iot_database<span class="hljs-comment">;</span></code></div>
</div>
<ol start="3">
<li>选择 iot_database 数据库:</li>
</ol>
<div class="code-block">
<div class="code-block-inner"><code class="hljs language-ini"> USE iot_database<span class="hljs-comment">;</span></code></div>
</div>
<ol start="4">
<li>创建 device 表:</li>
</ol>
<div class="code-block">
<div class="code-block-inner"><code class="hljs language-sql"><span class="hljs-keyword"> CREATE <span class="hljs-keyword">TABLE device ( </span></span></code></div>
<div class="code-block-inner"><code class="hljs language-sql"><span class="hljs-keyword"><span class="hljs-keyword"> id <span class="hljs-type">INT(<span class="hljs-number">11) <span class="hljs-keyword">NOT <span class="hljs-keyword">NULL </span></span></span></span></span></span></code><code class="hljs language-sql"><span class="hljs-keyword"><span class="hljs-keyword"><span class="hljs-type"><span class="hljs-number"><span class="hljs-keyword"><span class="hljs-keyword">AUTO_INCREMENT,</span></span></span></span></span></span></code></div>
<div class="code-block-inner"><code class="hljs language-sql"><span class="hljs-keyword"><span class="hljs-keyword"><span class="hljs-type"><span class="hljs-number"><span class="hljs-keyword"><span class="hljs-keyword"> name <span class="hljs-type">VARCHAR(<span class="hljs-number">50) <span class="hljs-keyword">NOT <span class="hljs-keyword">NULL, </span></span></span></span></span></span></span></span></span></span></code></div>
<div class="code-block-inner"><code class="hljs language-sql"><span class="hljs-keyword"><span class="hljs-keyword"><span class="hljs-type"><span class="hljs-number"><span class="hljs-keyword"><span class="hljs-keyword"><span class="hljs-type"><span class="hljs-number"><span class="hljs-keyword"><span class="hljs-keyword"> type <span class="hljs-type">VARCHAR(<span class="hljs-number">50) <span class="hljs-keyword">NOT <span class="hljs-keyword">NULL,</span></span></span></span></span></span></span></span></span></span></span></span></span></span></code></div>
<div class="code-block-inner"><code class="hljs language-sql"><span class="hljs-keyword"><span class="hljs-keyword"><span class="hljs-type"><span class="hljs-number"><span class="hljs-keyword"><span class="hljs-keyword"><span class="hljs-type"><span class="hljs-number"><span class="hljs-keyword"><span class="hljs-keyword"><span class="hljs-type"><span class="hljs-number"><span class="hljs-keyword"><span class="hljs-keyword"> status <span class="hljs-type">INT(<span class="hljs-number">11) <span class="hljs-keyword">NOT <span class="hljs-keyword">NULL <span class="hljs-keyword">DEFAULT <span class="hljs-number">0,</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code></div>
<div class="code-block-inner"><code class="hljs language-sql"><span class="hljs-keyword"><span class="hljs-keyword"><span class="hljs-type"><span class="hljs-number"><span class="hljs-keyword"><span class="hljs-keyword"><span class="hljs-type"><span class="hljs-number"><span class="hljs-keyword"><span class="hljs-keyword"><span class="hljs-type"><span class="hljs-number"><span class="hljs-keyword"><span class="hljs-keyword"><span class="hljs-type"><span class="hljs-number"><span class="hljs-keyword"><span class="hljs-keyword"><span class="hljs-keyword"><span class="hljs-number"><span class="hljs-keyword"> PRIMARY KEY (id) );</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code></div>
</div>
<ol start="5">
<li>退出 MySQL 控制台:</li>
</ol>
<div class="code-block">
<div class="code-block-inner"><code class="hljs language-bash"><span class="hljs-built_in"> exit;</span></code></div>
<div class="code-block-inner">
<p><img src="https://img2023.cnblogs.com/blog/3177186/202304/3177186-20230425172046309-1760429120.png" alt="" loading="lazy"></p>
<p><img src="https://img2023.cnblogs.com/blog/3177186/202304/3177186-20230425172909416-804811502.jpg" alt="" loading="lazy"></p>
</div>
</div>
<ul>
<li>
<h4><span style="font-size: 18px">在终端中按要求使用命令授权 iot_user 用户对 device 表仅允许有查询权限的界面截图,另存为 B-3-3.jpg。要求截图中使用红圈圈出具体命令。</span></h4>
</li>
</ul>
<p><span style="font-size: 18px">答:</span></p>
<p> 1.新增一个 MySQL 数据库用户 iot_user,并限制该用户仅允许从 192.168.0.138 这个 IP 登录:</p>
<div class="code-block">
<div class="code-block-inner"><code class="hljs language-sql"><span class="hljs-keyword"> CREATE <span class="hljs-keyword">USER <span class="hljs-string">'iot_user'@<span class="hljs-string">'192.168.0.138' IDENTIFIED <span class="hljs-keyword">BY <span class="hljs-string">'123456';</span></span></span></span></span></span></code></div>
</div>
<p> 2.为 iot_user 用户授权,仅允许对 device 表进行查询:</p>
<div class="code-block">
<div class="code-block-inner"><code class="hljs language-sql"><span class="hljs-keyword"> GRANT <span class="hljs-keyword">SELECT <span class="hljs-keyword">ON iot_database.device <span class="hljs-keyword">TO <span class="hljs-string">'iot_user'@<span class="hljs-string">'192.168.0.138';</span></span></span></span></span></span></code></div>
</div>
<p> </p>
<p>grant select on iot_database.device to 'iot_user'@'192.168.0.138'(实现下面图的操作)</p>
<div class="code-block">
<div class="code-block-inner">
<p><img src="https://img2023.cnblogs.com/blog/3177186/202304/3177186-20230425173933915-1941175335.png" alt="" loading="lazy"></p>
</div>
</div>
<ul>
<li>
<h4><span style="font-size: 18px">在终端中使用命令查询启用通用日志记录功能的结果界面截图,另存为B-3-4.jpg。</span></h4>
</li>
</ul>
<p><span style="font-size: 18px">答:</span></p>
<p><span style="font-size: 18px"> 开启日志:</span></p>
<p><span style="font-size: 18px"><span class="hljs-keyword"> set <span class="hljs-keyword">global general_log<span class="hljs-operator">=<span class="hljs-string">'ON';</span></span></span></span></span></p>
<p><span style="font-size: 18px"><span class="hljs-keyword"><span class="hljs-keyword"><span class="hljs-operator"><span class="hljs-string"> 查看日志状态:</span></span></span></span></span></p>
<p><span style="font-size: 18px"><span class="hljs-keyword"><span class="hljs-keyword"><span class="hljs-operator"><span class="hljs-string"> <span class="hljs-keyword">show variables <span class="hljs-keyword">like <span class="hljs-string">'general_log';</span></span></span></span></span></span></span></span></p>
<p><img src="https://img2023.cnblogs.com/blog/3177186/202304/3177186-20230425174711365-1716898577.png" alt="" loading="lazy"></p>
<ul>
<li>
<h4><span style="font-size: 18px">在终端中使用命令查询尝试连接到 MySQL 服务器失败次数的界面截图,另存为 B-3-5.jpg。要求截图中使用红圈圈出查询结果。</span></h4>
</li>
</ul>
<p><span style="font-size: 18px">答:</span></p>
<p><img src="https://img2023.cnblogs.com/blog/3177186/202304/3177186-20230425174916824-1789174904.png" alt="" loading="lazy"></p>
<p> Aborted_clients 由于客户没有正确关闭连接已经死掉,已经放弃的连接数量。</p>
<p>Aborted_connects 尝试已经失败的MySQL服务器的连接的次数。</p>
<ul>
<li>
<h4><span style="font-size: 18px">在终端中使用 dump 方式按要求备份 iot_database 数据的界面截图,另存为 B-3-6.jpg。要求截图中使用红圈圈出具体的命令。</span></h4>
</li>
</ul>
<p><span style="font-size: 18px">答:</span></p>
<div class="cnblogs_code">
<pre>这一步只是显示:mysqldump <span style="color: rgba(128, 128, 128, 1)">-</span>u iot_user iot_database</pre>
</div>
<p><img src="https://img2023.cnblogs.com/blog/3177186/202304/3177186-20230425180116230-1302770657.png" alt="" loading="lazy"></p>
<div class="cnblogs_code">
<pre>备份 iot_database 数据 :<strong>sudo mysqldump <span style="color: rgba(128, 128, 128, 1)">-</span>u root iot_database <span style="color: rgba(128, 128, 128, 1)">>></span> iot_database20221104.sql </strong></pre>
</div>
<p><img src="https://img2023.cnblogs.com/blog/3177186/202304/3177186-20230425180229231-2086103682.png" alt="" loading="lazy"></p>
<p> </p>
<h3 style="text-align: center"><span style="font-size: 18px">2022全国职业院校技能大赛物联网赛项(高职组)Ubuntu维护</span></h3>
<p> </p>
<div>任务要求:</div>
<h4>(1)使用命令查看系统 IP 界面截图,另存为 B-1-1.jpg。</h4>
<div>答:
<div class="cnblogs_code">
<pre>nmcli dev show 命令可以列出系统所有的网络接口及其 IP 地址等信息。在终端中输入 nmcli dev show 命令即可。</pre>
</div>
<p><img src="https://img2023.cnblogs.com/blog/3177186/202304/3177186-20230426083824418-534344395.png" alt="" loading="lazy"></p>
</div>
<h4>(2)使用命令创建 test 文件夹的界面截图,另存为 B-1-2.jpg。</h4>
<p>答:</p>
<div class="cnblogs_Highlighter">
<pre class="brush:sql;gutter:true;">mkdir test</pre>
</div>
<p><img src="https://img2023.cnblogs.com/blog/3177186/202304/3177186-20230426084122205-1632713794.png" alt="" loading="lazy"></p>
<h4>(3)使用命令修改 test 文件夹权限为 755 的界面截图,另存为 B-1-3.jpg。</h4>
<div>答:
<div class="cnblogs_code">
<pre>sudo chmod <span style="color: rgba(128, 0, 0, 1); font-weight: bold">755</span> test</pre>
</div>
<p><img src="https://img2023.cnblogs.com/blog/3177186/202304/3177186-20230426084727150-495261895.png" alt="" loading="lazy"></p>
</div>
<h4>(4)设置 Caps Lock 键和 Ctrl 键互换,将配置界面截图,保存为 B-1-4.jpg。</h4>
<div>答:
<p>在Ubuntu中,可以通过以下步骤来设置Caps Lock键和Ctrl键互换:</p>
<div class="cnblogs_code">
<pre>打开终端(Ctrl <span style="color: rgba(128, 128, 128, 1)">+</span> Alt <span style="color: rgba(128, 128, 128, 1)">+</span> T)。</pre>
</div>
<p>创建一个名为.xmodmaprc的文件:</p>
<div class="cnblogs_code">
<pre>touch .xmodmaprc</pre>
</div>
<p>打开.xmodmaprc文件:</p>
<div class="cnblogs_code">
<pre>vim .xmodmaprc</pre>
</div>
<p>在文件中添加以下内容:</p>
<div class="cnblogs_code">
<pre>remove Lock <span style="color: rgba(128, 128, 128, 1)">=</span><span style="color: rgba(0, 0, 0, 1)"> Caps_Lock
remove Control </span><span style="color: rgba(128, 128, 128, 1)">=</span><span style="color: rgba(0, 0, 0, 1)"> Control_L
keysym Control_L </span><span style="color: rgba(128, 128, 128, 1)">=</span><span style="color: rgba(0, 0, 0, 1)"> Caps_Lock
keysym Caps_Lock </span><span style="color: rgba(128, 128, 128, 1)">=</span><span style="color: rgba(0, 0, 0, 1)"> Control_L
</span><span style="color: rgba(0, 0, 255, 1)">add</span> Lock <span style="color: rgba(128, 128, 128, 1)">=</span><span style="color: rgba(0, 0, 0, 1)"> Caps_Lock
</span><span style="color: rgba(0, 0, 255, 1)">add</span> Control <span style="color: rgba(128, 128, 128, 1)">=</span> Control_L</pre>
</div>
<p>保存并关闭文件。</p>
<p>在终端中运行以下命令,使.xmodmap文件生效:</p>
<div class="cnblogs_code">
<pre>xmodmap .xmodmaprc</pre>
</div>
<p>现在,你的Caps Lock键和Ctrl键已经互换了。如果你想撤销这个设置,只需要删除.xmodmap文件即可。</p>
<p>如果出错有可能是键盘映射导致的。尝试在终端中运行以下命令:</p>
<div class="cnblogs_code">
<pre>setxkbmap <span style="color: rgba(128, 128, 128, 1)">-</span>layout us</pre>
</div>
<p>如果这个命令能够解决问题,那么你可以将其添加到你的启动脚本中,以便在每次启动时自动运行。</p>
</div>
<h4>(5)修改最大文件数限制,将配置界面截图,保存为 B-1-5.jpg。</h4>
<div>答:
<p>Ubuntu系统默认的最大文件数限制为1024,可以通过以下步骤修改:</p>
<p>1. 打开终端,输入以下命令查看当前最大文件数限制:</p>
<div class="cnblogs_code">
<pre>ulimit <span style="color: rgba(128, 128, 128, 1)">-</span>n</pre>
</div>
<p>2. 修改最大文件数限制,可以使用以下命令:</p>
<div class="cnblogs_code">
<pre>sudo vi <span style="color: rgba(128, 128, 128, 1)">/</span>etc<span style="color: rgba(128, 128, 128, 1)">/</span>security<span style="color: rgba(128, 128, 128, 1)">/</span><span style="color: rgba(0, 0, 0, 1)">limits.conf
在文件末尾添加以下内容:
</span><span style="color: rgba(128, 128, 128, 1)">*</span> soft nofile <span style="color: rgba(128, 0, 0, 1); font-weight: bold">65535</span>
<span style="color: rgba(128, 128, 128, 1)">*</span> hard nofile <span style="color: rgba(128, 0, 0, 1); font-weight: bold">65535</span><span style="color: rgba(0, 0, 0, 1)">
这里的65535是最大文件数限制,可以根据需要进行修改。</span></pre>
</div>
<p>3. shift+zz保存文件并退出。</p>
<p>4. 重新登录系统使修改生效。</p>
<p>5. 再次使用以下命令查看最大文件数限制是否已成功修改:</p>
<div class="cnblogs_code">
<pre>ulimit <span style="color: rgba(128, 128, 128, 1)">-</span>n</pre>
</div>
<p>如果显示的值为65535,则说明修改成功。</p>
<p><img src="https://img2023.cnblogs.com/blog/3177186/202304/3177186-20230426110903755-1707459031.png" alt="" loading="lazy"></p>
</div>
<h4><span style="font-size: 18px"><span style="font-size: 16px">(6)用Navicat连接Ubuntu数据库</span></span></h4>
<div>答:</div>
<div>
<div class="cnblogs_code">
<pre>进入root用户:sudo <span style="color: rgba(128, 128, 128, 1)">-</span>i</pre>
</div>
<div class="cnblogs_code">
<pre>执行nano <span style="color: rgba(128, 128, 128, 1)">/</span>etc<span style="color: rgba(128, 128, 128, 1)">/</span>mysql<span style="color: rgba(128, 128, 128, 1)">/</span>mysql.conf.d<span style="color: rgba(128, 128, 128, 1)">/</span>mysqld.cnf</pre>
</div>
<div class="cnblogs_code">
<pre>这个文本里面有一条里面是address <span style="color: rgba(128, 128, 128, 1)">=</span> <span style="color: rgba(128, 0, 0, 1); font-weight: bold">127.0</span>.<span style="color: rgba(128, 0, 0, 1); font-weight: bold">0</span>.1的注释掉</pre>
</div>
<div class="cnblogs_code">
<pre>Ctrl<span style="color: rgba(128, 128, 128, 1)">+</span>s保存,Ctrl<span style="color: rgba(128, 128, 128, 1)">+</span>x退出</pre>
</div>
<div class="cnblogs_code">
<pre>然后在终端登陆mysql:sudo mysql <span style="color: rgba(128, 128, 128, 1)">-</span>u root <span style="color: rgba(128, 128, 128, 1)">-</span>p</pre>
</div>
<div class="cnblogs_code">
<pre>然后就是给root远程连接的权限:<span style="color: rgba(0, 0, 255, 1)">grant</span> <span style="color: rgba(128, 128, 128, 1)">all</span> <span style="color: rgba(0, 0, 255, 1)">privileges</span> <span style="color: rgba(0, 0, 255, 1)">on</span> <span style="color: rgba(128, 128, 128, 1)">*</span>.<span style="color: rgba(128, 128, 128, 1)">*</span> <span style="color: rgba(0, 0, 255, 1)">to</span> <span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">root</span><span style="color: rgba(255, 0, 0, 1)">'</span>@<span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">%</span><span style="color: rgba(255, 0, 0, 1)">'</span> identified <span style="color: rgba(0, 0, 255, 1)">by</span> <span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">123456</span><span style="color: rgba(255, 0, 0, 1)">'</span>;</pre>
</div>
<div class="cnblogs_code">
<pre>然后你再flush <span style="color: rgba(0, 0, 255, 1)">privileges</span>;刷新一下权限</pre>
</div>
<div class="cnblogs_code">
<pre>新建连接那个窗口会有用户名和密码,用户名就是root 密码就是这个123456</pre>
</div>
<div class="cnblogs_code">
<pre>IP地址就是Ubuntu虚拟机的IP地址</pre>
</div>
</div>
<div>
<div class="cnblogs_code">
<p><img src="https://img2023.cnblogs.com/blog/3177186/202304/3177186-20230426103451948-1097309097.png" alt="" loading="lazy"></p>
<p> 连接成功后:</p>
<p><img src="https://img2023.cnblogs.com/blog/3177186/202304/3177186-20230426103529937-262797312.png" alt="" loading="lazy"></p>
<p> 若连接失败,请重启虚拟机试一试</p>
<h3 style="text-align: center"><span style="font-size: 18px; font-family: "Microsoft YaHei"">日常整理</span></h3>
<ul>
<li>
<h4><span style="font-family: "Microsoft YaHei"; font-size: 18px"><strong>(1) 在终端使用命令查看usb设备的详细描述信息</strong></span></h4>
</li>
</ul>
<p><span style="font-size: 16px"> sudo lsusb -v</span></p>
<p><span style="font-size: 16px"> 此命令,将会列出所有连接到计算机上的USB设备的详细信息,包括厂商ID、产品ID、设备描述等。</span></p>
<ul>
<li>
<h4><span style="font-family: "Microsoft YaHei"; font-size: 18px"><strong>(2)在终端使用命令查询当前消耗资源最多的进程信息,要求按照CPU使用频率降序排列</strong></span></h4>
</li>
</ul>
<p><span style="font-size: 16px"> 可以使用下面的命令查询当前消耗CPU资源最多的进程信息,并按照CPU使用频率降序排列:<br> ps aux --sort=-%cpu<br> 解释:<br> - `ps`: 查询进程信息的命令<br> - `aux`: 显示所有进程信息,包括用户、命令、CPU、内存等<br> - `--sort=-%cpu`: 按照CPU使用频率降序排列,`-`表示降序,`%cpu`表示CPU使用率。</span></p>
<ul>
<li>
<h4><span style="font-family: "Microsoft YaHei"; font-size: 18px"><strong>(3)在终端使用命令查询已经安装的包信息的界面</strong></span></h4>
</li>
</ul>
<p><span style="font-size: 16px"> sudo dpkg --list命令用于列出系统中所有已安装的软件包。它显示软件包名称、版本、描述和状态等信息,可以帮助用户查看系统中已安装的软件包的详细信息,并进行管理和维护。</span></p>
<p><span style="font-size: 16px">可以使用以下命令在Ubuntu终端中查询已安装的包信息:<br> 1. 查询所有已安装的包信息:<br> dpkg --list<br> 2. 查询特定包的信息:<br> dpkg --status <package_name><br> 3. 查询特定包的版本信息:<br> dpkg -s <package_name> | grep Version<br> 4. 查询特定包的安装路径:<br> dpkg -L <package_name><br>注意:以上命令需要使用管理员权限(sudo)才能执行。</span></p>
<p> </p>
<h3 style="text-align: center"><span style="font-size: 18px">GZ038 物联网应用开发赛题第1套(Ubuntu维护)</span></h3>
<p> </p>
<p><span style="font-size: 14pt"><strong>任务要求:</strong></span></p>
<ul>
<li><span style="font-size: 14pt"><span style="font-family: 宋体">以默认账号登录</span><span style="font-family: 宋体">Ubuntu系统。</span></span></li>
<li><span style="font-size: 14pt"><span style="font-family: 宋体">命令行修改</span><span style="font-family: 宋体">root用户密码为iotuser123。开通root用户的SSH权限。</span></span></li>
</ul>
<ul>
<li><span style="font-size: 14pt"><span style="font-family: 宋体">重启</span><span style="font-family: 宋体">ubuntu,用root账号和iotuser账号同时登录系统。</span></span></li>
<li><span style="font-size: 14pt"><span style="font-family: 宋体">对</span><span style="font-family: 宋体">Ubuntu系统进行加固,完成以下操作:</span></span></li>
</ul>
<p class="15"><span style="font-size: 14pt">(1)设置帐号密码的最小长度值,设置在6位以上。</span></p>
<p class="15"><span style="font-size: 14pt">(2)对账户远程登录失败做安全限制,比如远程登录失败三次锁定60秒</span></p>
<p><strong>完成以上任务后请做以下步骤:</strong></p>
<h4><span style="font-size: 18px">(1)<span style="font-family: 宋体">使用</span><span style="font-family: 宋体">SSH工具Xshell,以root用户登录Ubuntu系统,将登录成功界面截图,要求截图体现登录端IP,另存为A-</span>16-1.jpg。</span></h4>
<p><span style="font-size: 18px"><span style="font-size: 16px">答:</span></span></p>
<p> </p>
<p><span style="font-size: 16px"> *修改root密码,</span></p>
<p><span style="font-size: 16px"> sudo passwd root</span></p>
<p> </p>
<p><span style="font-size: 16px"> *添加root用户登录权限</span><br><span style="font-size: 16px"> sudo nano /etc/ssh/sshd_config</span><br><span style="font-size: 16px"> # 这里用了nano编辑器</span><br><span style="font-size: 16px"> *找到如下代码段</span></p>
<p> </p>
<p><span style="font-size: 16px"> #LoginGraceTime 2m</span><br><span style="font-size: 16px"> #PermitRootLogin prohibit-password</span><br><span style="font-size: 16px"> #StrictModes yes</span><br><span style="font-size: 16px"> #MaxAuthTries 6</span><br><span style="font-size: 16px"> #MaxSessions 10</span><br><span style="font-size: 16px">*增加一行,如下:</span></p>
<p> </p>
<p><span style="font-size: 16px"> #LoginGraceTime 2m</span><br><span style="font-size: 16px"> #PermitRootLogin prohibit-password</span><br><span style="font-size: 16px"> PermitRootLogin yes</span><br><span style="font-size: 16px"> #StrictModes yes</span><br><span style="font-size: 16px"> #MaxAuthTries 6</span><br><span style="font-size: 16px"> #MaxSessions 10</span><br><span style="font-size: 16px">Crtl+x退出并保存</span></p>
<p> </p>
<p><span style="font-size: 16px"> *重启ssh服务</span></p>
<p><span style="font-size: 16px"> sudo service sshd restart</span></p>
<p> </p>
<p><span style="font-size: 16px"><em id="__mceDel"> *查看ssh的状况</em></span></p>
<p><span style="font-size: 16px"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"> sudo service sshd status</em></em></em></em></em></span></p>
<p> </p>
<p><span style="font-size: 16px"><em id="__mceDel">如果有Active: active (running)</em></span><em id="__mceDel"><span style="font-size: 16px"><em id="__mceDel">字样,证明ssh启动成功。</em></span></em></p>
<p> </p>
<p><img src="https://img2023.cnblogs.com/blog/3177186/202304/3177186-20230426145109037-660970587.jpg" alt="" loading="lazy"></p>
<h4><span style="font-size: 18px">(2)<span style="font-family: 宋体">请将使用命令查看系统当前登录用户信息,显示的资料包含了使用者</span> <span style="font-family: 宋体">ID、使用的终端机、从哪边连上来的、上线时间、呆滞时间、CPU 使用量、动作等等,将显示结果的界面截图,另存为A-</span>16-2.jpg。</span></h4>
<p><span style="font-size: 16px">答:</span></p>
<p>可以使用以下命令查看系统当前登录用户信息:</p>
<div class="code-block">
<div class="code-block-inner">
<div class="code-block-copy-btn ">
<div class="cnblogs_code">
<pre>在终端里输入W回车</pre>
</div>
</div>
</div>
</div>
<p><img src="https://img2023.cnblogs.com/blog/3177186/202304/3177186-20230426145720499-1582394264.png" alt="" loading="lazy"></p>
<h4> </h4>
<p>其中,各列的含义如下:</p>
<h4> </h4>
<ul>
<li>USER:用户名</li>
<li>TTY:终端设备名称</li>
<li>FROM:来源 IP 地址或主机名</li>
<li>LOGIN@:登录时间</li>
<li>IDLE:空闲时间</li>
<li>JCPU:累计 CPU 时间(用户态和内核态)</li>
<li>PCPU:累计 CPU 时间(仅用户态)</li>
<li>WHAT:正在运行的命令</li>
</ul>
<h4> </h4>
<h4><span style="font-size: 18px">(3)请将设置Ubuntu帐号密码的最小长度值在6<span style="font-family: 宋体">位以上的界面截图,另存为</span><span style="font-family: 宋体">A-</span>16-3.jpg。</span></h4>
<p><span style="font-size: 16px">答:</span></p>
<p><span style="font-size: 16px">首先打开终端,输入以下命令:</span></p>
<div class="cnblogs_code">
<pre><span style="font-size: 16px">sudo vim /etc/pam.d/common-password</span></pre>
</div>
<p><span style="font-size: 16px">在文件中找到以下行:</span></p>
<div class="cnblogs_code">
<pre><span style="font-size: 16px">password requisite pam_pwquality.so retry=3</span></pre>
</div>
<p><span style="font-size: 16px">在该行下方添加以下内容:</span></p>
<div class="cnblogs_code">
<pre><span style="font-size: 16px">minlen=6</span></pre>
</div>
<p><span style="font-size: 16px">修改后的内容如下:</span></p>
<div class="cnblogs_code">
<pre><span style="font-size: 16px">password requisite pam_pwquality.so retry=3 minlen=6</span></pre>
</div>
<p><span style="font-size: 16px">保存并关闭文件。</span></p>
<p><img src="https://img2023.cnblogs.com/blog/3177186/202304/3177186-20230426153636359-1399828707.png" alt="" loading="lazy"></p>
<p> </p>
<h4><span style="font-size: 18px">(4)请将设置Ubuntu帐号登录失败三次锁定60<span style="font-family: 宋体">秒的界面截图,另存为</span><span style="font-family: 宋体">A-</span>16-4.jpg。</span></h4>
<p><span style="font-size: 16px">答:</span></p>
<p><span style="font-size: 16px">打开终端,输入以下命令:</span></p>
<div class="cnblogs_code">
<p> vim /etc/pam.d/login</p>
</div>
<p><span style="font-size: 16px">在首行添加以下内容:</span></p>
<div class="cnblogs_code">
<p>auth required pam_tally2.so deny=3 unlock_time=60 even_deny_root root_unlock_time=60</p>
</div>
<p><span style="font-size: 16px">保存并关闭文件。</span></p>
<p><span style="font-size: 16px">重启SSH服务,输入以下命令:</span></p>
<div class="cnblogs_code">
<pre><span style="font-size: 16px">sudo service ssh restart <br></span></pre>
</div>
</div>
</div>
</div><br><br>
来源:https://www.cnblogs.com/wuhen520/p/17352895.html
頁:
[1]