root ユーザーの切り替え、設定ファイルの管理、ハードウェアのチェックを行うシェル コマンド
他の UNIX ベースのシステムと同様に、Linux は複数の人が同時に使用できます。マルチユーザー機能を使用すると、複数の人が 1 つの Linux システム上にアカウントを持ち、他の人によるデータの破壊から保護できます。
ほとんどの管理タスクを完了するには、root ユーザー (スーパー ユーザーとも呼ばれます) としてログインするか、一時的に root 権限を取得する必要があります (通常は sudo コマンドを使用します)。root 権限を持たない一般ユーザーは、場合によっては、Linux システムの特定の構成情報を変更したり、表示したりすることさえできません。特に、パスワードなどのセキュリティ機能は特に保護されています。
この記事では、Linux システムでデバイスを監視する方法についても紹介します。
rootユーザーを切り替える
2つの方法
Linux システムのシステム管理者は、通常、通常のユーザー アカウントとしてシステムにログインし、必要に応じて管理者権限を要求します。この目的を達成するには、su コマンドと sudo コマンドの 2 つの異なる方法を使用することを選択できます。 。
su コマンド (ユーザーの切り替え) : su (ユーザーの切り替え) コマンドは、別のユーザー (通常は root) の ID に一時的に切り替えて、完全なシステム管理権限を取得するための一般的な方法です。su コマンドを使用する場合、管理者は認証のためにターゲット ユーザー (通常は root) のパスワードを入力する必要があります。ターゲット ユーザーに正常に切り替えると、管理者はそのユーザーのすべての権限を持ち、さまざまなシステム コマンドや構成変更を実行できるようになります。su コマンドの機能の 1 つは、ターゲット ユーザー ID に切り替えた後、手動で終了するかログオフするまで、管理者はそのユーザーの下に留まるということです。これは、不必要な特権操作を回避するように注意する必要があることを意味します。
sudo コマンド (特権モードでコマンドを実行) : sudo (特権モードでコマンドを実行) コマンドは、root ユーザーに完全に切り替えることなく、必要なときに管理特権を取得するためのより柔軟で安全な方法を提供します。sudo コマンドを使用する場合、管理者は自分自身を認証するために (ターゲット ユーザーのパスワードではなく) 自分のパスワードを入力する必要があります。管理者は、必要に応じて sudo を使用して、長期間特権を維持することなく特定のコマンドを実行できます。これにより、管理者は必要な場合にのみ権限を取得し、コマンドの実行直後に通常のユーザー状態に戻ることができるため、潜在的なセキュリティ リスクを軽減できます。さらに、sudoers ファイルを使用すると、システム管理者はどのユーザーまたはユーザー グループが sudo を使用できるか、どのコマンドを実行できるかを正確に制御できるため、セキュリティと管理性が向上します。
su コマンドの詳細な紹介
su
コマンド (Switch User の略) は、Linux システムでユーザー ID を切り替えるために使用されるコマンドです。これは通常、特権アクセスが必要なタスクを実行するために、別のユーザー (通常は root) に切り替えるために使用されます。以下はsu
コマンドの詳細な紹介です。
基本的な構文:
su [选项] [用户]
- オプション:
-
(ハイフン) は、環境変数や作業ディレクトリを含む、ターゲット ユーザーの環境を完全にエミュレートするために使用されます。 - ユーザー: 切り替える対象のユーザー。ユーザーが指定されていない場合、通常はデフォルトで root ユーザーが使用されます。
使用許可:
su
通常、コマンドを使用して root または別のユーザーの ID に切り替えることができるのは、システム管理者 (または sudo 権限を持つユーザー) だけです。- デフォルトでは、一般ユーザーは
su
root ユーザーに切り替えることができますが、root ユーザーのパスワードを知っている必要があります。
root ユーザーに切り替える:su
コマンドを使用して root ユーザーに切り替えます。管理者は root ユーザーのパスワードを入力する必要があります。例えば:
su
他のユーザーに切り替える: 管理者はsu
コマンドを使用して他のユーザーに切り替えることもでき、ターゲット ユーザーのユーザー名を指定する必要があります。たとえば、ユーザー「john」に切り替えます。
su john
ユーザー環境を完全にエミュレートする:-
ユーザーの作業ディレクトリや環境変数を含む、ターゲット ユーザーの完全な環境をエミュレートするオプションを使用します。これは、ユーザーの環境に関連するタスクを実行する場合に役立ちます。たとえば、root ユーザーに切り替えて、その環境をシミュレートします。
su -
su セッションを終了する:su
セッションを終了するには、exit
コマンドまたはCtrl+D
キーの組み合わせを使用します。これにより、以前のユーザー ID に戻ります。
sudo コマンドの詳細な紹介
sudo
(スーパーユーザー do の略) は、Linux および Unix システムで特権的な方法でコマンドを実行するために使用されるコマンドです。これにより、許可されたユーザーは、特権ユーザーの ID に完全に切り替えることなく、root 権限またはその他の特定のユーザー権限で実行されるコマンドを実行できます。以下はsudo
コマンドの詳細な紹介です。
基本的な構文:sudo [选项] [命令]
- オプション:
-u
コマンドを実行するユーザー (通常は root ユーザー) を指定するために使用されます。 - コマンド: 特権モードで実行されるコマンドとそのパラメータ。
使用許可:
- sudoers ファイルにリストされているユーザーまたはグループのみが、
sudo
コマンドを使用する権限を持っています。 - sudoers ファイルは通常
/etc/sudoers
、 にあり、root などの特権ユーザーのみが編集できます。
コマンドの実行: 特権モードでコマンドを実行するには、ユーザーはコマンドを先頭に追加しsudo
、パスワードを入力して認証する必要があります。たとえば、root 権限でディレクトリの内容を一覧表示するには、次のようにします。
sudo ls /root
ユーザー実行の切り替え:-u
オプションを使用して、コマンドを特定のユーザーとして実行するように指定します。たとえば、ユーザー「john」としてファイルを編集するには、次のようにします。
sudo -u john nano /path/to/file
権限昇格の永続性: ユーザーがパスワードを入力すると、一定期間 (デフォルトは 5 分) はパスワードを再度検証する必要はありません。これは、その時間枠内で、ユーザーはパスワードを繰り返し入力することなく、複数の特権コマンドを連続して実行できることを意味します。
sudoers ファイル構成: sudoers ファイルには、ユーザーが sudo を使用できるか、およびどのコマンドを実行できるかに関するルールが含まれています。visudo
sudoers ファイルは、ファイルの破損を避けるために構文エラーをチェックするコマンドを使用して編集できます。
sudo セッションを終了する: 特権コマンドを実行した後、ユーザーは自動的に通常のユーザー ID に戻ります。sudo
セッションを手動で終了する必要はありません。
/etc/passwd ファイル
/etc/passwd
ファイルは、ユーザー アカウント情報を保存する Linux および Unix システムのテキスト ファイルの 1 つです。これには、システム内の各ユーザーに関する基本情報が含まれますが、ユーザーのパスワードは含まれません。/etc/passwd
ファイルの詳細な紹介は次のとおりです。
ファイルの場所:/etc/passwd
ファイルは通常、Linux および Unix システムのルート ディレクトリにあります。
ファイル形式:/etc/passwd
ファイルの形式はフィールドがコロン (:) で区切られています。各行はユーザー アカウントを表し、フィールドの意味は次のとおりです。
- ユーザー名: ユーザーのログイン名。
- パスワード フィールド: 以前は、このフィールドにはユーザーのパスワード ハッシュが保存されていましたが、現在では多くの場合、
x
またはに置き換えられ、セキュリティを強化するために実際のパスワード情報がファイル*
に保存されます。/etc/shadow
- ユーザー ID (UID): 各ユーザーは、システム内でユーザーを内部的に識別するために使用される一意の数値識別子を持っています。
- グループ ID (GID): ユーザーに関連付けられたプライマリ ユーザー グループの数値識別子。
- ユーザー説明情報 (gecos): 通常、ユーザーのフルネーム、連絡先情報などが含まれます。
- 主目录:用户登录后的起始目录。
- 登录Shell:用户登录后默认使用的Shell。
例如,以下是/etc/passwd
文件中的一行示例:
john:x:1001:1001:John Smith:/home/john:/bin/bash
密码信息的分离: 用户密码不再存储在/etc/passwd
文件中,而是分离存储在/etc/shadow
文件中。这是为了增加密码安全性,因为/etc/passwd
文件通常对系统中的所有用户可读,而/etc/shadow
文件只对root用户可读。
访问权限: /etc/passwd
文件通常对系统中的所有用户可读,因为它包含了用户账户的基本信息,但只有root用户才能编辑此文件。
/etc/passwd
文件是Linux和Unix系统中存储用户基本信息的重要文件之一。它包含了用户的用户名、UID、GID、用户描述、主目录和登录Shell等信息,但密码信息已分离存储在/etc/shadow
文件中,以提高安全性。
/etc/passwd文件里为什么有乱七八糟的用户?
/etc/passwd
文件中包含了系统中所有用户的基本信息,包括系统用户和服务账户。这些用户不仅用于普通用户登录,还用于系统进程和服务的运行。以下是为什么/etc/passwd
文件中包括系统用户的一些原因:
1. 系统进程和服务:许多系统进程和服务需要运行在特定的用户或用户组权限下,以增加安全性和隔离性。这些用户账户通常称为系统用户或服务账户,它们负责运行特定的服务,如Web服务器、数据库服务器、邮件服务器等。这些用户账户通常是系统自动创建的。
2. 权限控制:系统用户和服务账户通常受到严格的权限控制。它们的主要目的是运行系统进程和服务,而不是用于用户登录。因此,它们的Shell字段通常设置为/sbin/nologin
或/usr/sbin/nologin
,这样任何尝试登录到这些账户的操作都会被拒绝。
3. 隔离:将系统进程和服务运行在特定的用户账户下有助于隔离它们的操作。这样,如果某个服务出现漏洞,攻击者将受到限制,无法直接访问系统的关键部分。
一些常见的系统用户和服务账户,如root
、bin
、sys
等,是系统默认创建的,用于运行系统进程和服务。它们的存在是为了确保系统的正常运行和安全性。
尽管这些系统用户不用于人工登录,但它们的存在对于系统的正常操作和管理是必不可少的。如果怀疑某个用户账户是否应该存在或需要删除,务必小心,因为删除系统关键用户可能会导致系统不稳定或不可用。一般情况下,只有有经验的系统管理员才应该对这些用户账户进行操作。
/etc/shadow文件
/etc/shadow
文件是Linux系统中用于存储用户密码哈希值和与密码策略相关的其他安全信息的文件。这个文件对于保护用户密码的安全性至关重要,因为它通常只能由具有足够权限的用户(通常是root用户)访问,普通用户不能直接读取或修改它。
/etc/shadow
文件的常见格式和字段:
每一行代表一个用户账户,字段之间用冒号(:)分隔。
- 用户名:用户的登录名。
- 密码哈希值:用户密码的哈希值。密码通常被哈希后存储,而不是以明文形式存储。
- 上次修改密码日期:表示密码最后一次更改的日期,通常是从1970年1月1日开始计算的天数。
- 密码最短有效期:指定密码必须保持不变的最短天数。
- 密码最长有效期:指定密码允许保持不变的最长天数。
- 密码警告期限:指定在密码即将到期前多少天发出警告通知用户更改密码。
- 密码失效期限:表示密码过期的日期,通常也是从1970年1月1日开始计算的天数。过期后,用户将无法使用该密码登录。
- 密码不活动期限:指定密码在用户不活动多少天后失效,即如果用户在此期限内未登录系统,则密码将失效。
- 账户失效日期:表示用户账户的失效日期,通常也是从1970年1月1日开始计算的天数。失效后,用户将无法登录。
- 保留字段:这些字段通常为空,保留供将来使用。
管理配置文件
/etc
—该目录包含大部分基础Linux系统配置文件。
/etc/cron*
——该组中的目录所包含的文件定义了crond 实用工具如何按照每天(cron.daily)、每小时(cron.hourly)、每月(cron.monthly)或每周(cron.weekly)计划运行程序。
etc/httpd
——包含用来配置 Apache Web服务器行为(特别是 httpd守护进程)的各种文件(在Ubuntu和其他Linux系统上,使用的是/etc/apache 或/etclapache2).
/etc/mail
—包含用来配置sendmail 邮件传输代理的文件。
/etc/ppp
——包含几个用来设置点对点协议(PPP)的配置文件,以便可以让计算机拨号到Intermet(在拨号调制解调器非常流行时,PPP经常被使用)。
/etc/security
——包含为计算机设置多种默认安全条件的文件(主要是定义如何完成身份验正)。这些文件是pam包(一种插入式身份验证模块)的一部分。
crontab
——为运行与cron实用工具相关联的自动化任务和变量而设置时间(比如与cron相关联的SHELL和PATH)。
hostname
—包含本地系统的主机名。
hosts
——包含计算机上可用的IP地址和主机名(通常使用该文件保存LAN或者小型私人网络上的计算机名)。
passwd
——存储本地系统中所有有效用户的账户信息。其外,还包括其他信息,比如主目录和默认Shell(但很少包括用户密码,通常用户密码保存在/etc/shadow文件中)。
rpc
——定义远程过程调用名称和编号。
services
——定义TCP/IP和UDP服务名及其端口分配。
shadow
——包含passwd文件所定义用户的加密密码(相对于直接在passwd文件中存储原始加密密码,这种方法更安全。passwd文件必须是公开可读,但shadow文件只能由root用户读取)。
shells
——列举系统中可用的Shell命令行解释器(比如 bash、sh、csh等)及其位置。
sudoers
——该文件设置了那些没有权限运行某些命令的用户通过使用sudo命令可以运行的命令。特别是使用该文件为所选择的用户提供root权限。
检查硬件命令
查看CPU
CPU 情報とパフォーマンス統計を表示するには、さまざまなコマンドを使用できます。
1.コマンドを使用しますlscpu
。lscpu
このコマンドは、CPU モデル、アーキテクチャ、コア数、スレッド数などを含む CPU の詳細情報を表示できます。
lscpu
2.コマンドを使用しますcat /proc/cpuinfo
。/proc/cpuinfo
ファイルには CPU に関する情報が含まれています。以下に示すように、コマンドを使用してcat
このファイルの内容を表示します。各コアの詳細が表示されます。
cat /proc/cpuinfo
3.コマンドを使用しますtop
。top
このコマンドは、システムの CPU 使用率やその他のパフォーマンス指標を端末で表示できるリアルタイムのシステム パフォーマンス監視ツールです。次のコマンドを実行して起動しますtop
。
top
を終了するにはtop
、q
キーを押します。
GPU を表示する
システムの GPU (グラフィックス プロセッシング ユニット) 情報を表示するには、次の方法を使用できます。
1.コマンドを使用しますlspci
。lspci
このコマンドは、GPU を含むシステム上の PCI デバイスを一覧表示するために使用されます。ターミナルで次のコマンドを実行して、GPU 情報を表示します。
lspci | grep -i vga
メーカー、モデル、PCI 識別子など、グラフィックス デバイス (GPU) に関連する情報を表示します。
2.コマンドを使用しますnvidia-smi
(NVIDIA GPU のみ) : NVIDIA グラフィックス カードを使用している場合は、nvidia-smi
コマンドを使用して GPU 情報とパフォーマンス統計を表示します。ターミナルで次のコマンドを実行します。
nvidia-smi
GPU モデル、ドライバーのバージョン、GPU 使用率、温度など、NVIDIA GPU に関連する詳細情報を表示します。