検索

Linux UIDの用途は何ですか

Mar 13, 2023 am 09:40 AM
linux uid

Linux uid の機能はユーザーを識別することであり、各ユーザーには UID があります。Linux には 3 つの UID 識別子があります: 1. RUID、実 UID、実際のユーザー ID; 2. EUID、実効 UID、実効ユーザー ID; 3. SUID、保存セット ユーザー ID、保存セット ユーザー ID。

Linux UIDの用途は何ですか

#このチュートリアルの動作環境: linux5.9.8 システム、Dell G3 コンピューター。

Linux uid は何に役立ちますか?

Linux の UID

Linux では、UID はユーザー (alice、bob、root など) を識別するために使用されます。 Android では、UID はアプリケーションまたはシステム サービスを識別するために使用されます

1. Linux の UID

1.1 プロセスごとに 3 つの UID 値

各ユーザーには UID があります。

カーネルは、プロセスごとに 3 つの UID ID を維持します。 3 つの UID 識別子は、

RUID (実際の UID、実際のユーザー ID) EUID (実効 UID、実効ユーザー ID) SUID (保存された Set-user-ID 、保存された) です。設定ユーザーID)

  • RUID: 現在、どのユーザーとしてログインしていますか? 生成するプログラムを実行するプロセスの RUID は、このユーザーの UID です。
  • EUID: 現在のプロセスが実際に として実行される UID を参照します。通常の状況では、EUID は RUID と同じですが、プロセスに対応する 実行可能ファイルが SUID 権限 (つまり、rws の ) を持っている場合、プロセスの EUID は RUID の UID## になります。 実行可能ファイルの所有者。 SUID
  • : SUID 権限に関連する EUID のコピー。
1.2 バイナリ ファイルの SUID 権限

実行可能ファイルの passwd を例に挙げます。 パスワード ファイルの権限は次のとおりです。

-rwsr-xr-x


passwd の所有者は root ですが、他のユーザーにも passwd の実行権限があり、passwd 自体には SUID 権限 (s rws) 。 次に、非 root ユーザーが passwd 実行可能ファイルを実行すると、 生成されたプロセスの EUID

root ユーザーの UID になります。つまり、この場合、生成されたプロセスは実際に root ユーザーの ID を持つバイナリ ファイルを実行します。 ##SUID 権限は時間に依存することに注意してください。#:

はファイルの実行中のみ有効です 2. setuid 関数と setresuid 関数

##2.1 setuid 関数

関数プロトタイプ: int setuid(uid_t uid);

Linux では、setuid(uid) 関数の実行手順は次のとおりです。

(1) Root 特権プロセス (EUID 0 のプロセス) によって呼び出された場合、プロセスの RUID、EUID、および SUID を設定します。 . は uid で、0 を返します (2) 通常の権限プロセスによって呼び出され、uid が RUID または uid が SUID と等しい場合、プロセスの EUID を uid に設定し、0 (3) を返します) 通常の権限プロセスによって呼び出され、uid が RUID または SUID と等しくない場合、errno を EPERM に設定し、-1 を返します (実行失敗を示します)

上記では、パスワードを実行するプロセス、EUID は次のようになります。パスワードの所有者の UID (root) ユーザーの UID (0)。したがって、ケース(1)に該当します。

su ファイルには
-rwsr-xr-x
権限もあります。したがって、Android では、通常のプロセスが Runtime.getRuntime().exec("su") を通じてシェルプロセスを起動して su を実行する場合も (1) の状況に陥ります。

#2.2 setresuid 関数

参考 https://blog.csdn.net/damotiansheng/article/details/39674115

# #関数プロトタイプ: int setresuid(uid_t ruid, uid_t euid, uid_t suid);

次の条件のいずれかが満たされると、setresuid が実行されます。

①現在の euidプロセスはルート (AID_ROOT) です。
② 3 つのパラメータ ruid、euid、および suid はそれぞれ、現在のプロセスの特定の UID 値に等しいです。

例:

現在のプロセスが RUID=100、EUID=0、SUID=300

の場合、元の euid=0 現在のプロセスの RUID=100、EUID=300 であるため、setresuid(200,300,100) を実行できます。 SUID=200
これら 3 つのパラメータはすべて現在の UID の 1 つであるため、setresuid(200,300,100) は実行できます。
ただし、400 が現在の UID のいずれにも等しくないため、setresuid(100,200,400) は実行できません。 。

  • 3. getuid 関数と geteuid 関数
  • getuid は現在のプロセスの
  • RUID を返します

    geteuid は
  • を返します現在のプロセスの EUID

関連する推奨事項:「Linux ビデオ チュートリアル

以上がLinux UIDの用途は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Linuxのメンテナンスモードの理解:必需品Linuxのメンテナンスモードの理解:必需品Apr 14, 2025 am 12:04 AM

Linuxメンテナンスモードは、起動時にinit =/bin/bashまたは単一パラメーターを追加することにより入力されます。 1.メンテナンスモードの入力:GRUBメニューを編集し、起動パラメーターを追加します。 2。ファイルシステムを読み取りおよび書き込みモードに再マウントします:Mount-Oremount、RW/。 3。ファイルシステムの修復:FSCK/dev/sda1などのFSCKコマンドを使用します。 4.データをバックアップし、データの損失を避けるために慎重に動作します。

DebianがHadoopデータ処理速度を改善する方法DebianがHadoopデータ処理速度を改善する方法Apr 13, 2025 am 11:54 AM

この記事では、DebianシステムのHadoopデータ処理効率を改善する方法について説明します。最適化戦略では、ハードウェアのアップグレード、オペレーティングシステムパラメーターの調整、Hadoop構成の変更、および効率的なアルゴリズムとツールの使用をカバーしています。 1.ハードウェアリソースの強化により、すべてのノードが一貫したハードウェア構成、特にCPU、メモリ、ネットワーク機器のパフォーマンスに注意を払うことが保証されます。高性能ハードウェアコンポーネントを選択することは、全体的な処理速度を改善するために不可欠です。 2。オペレーティングシステムチューニングファイル記述子とネットワーク接続:/etc/security/limits.confファイルを変更して、システムによって同時に開くことができるファイル記述子とネットワーク接続の上限を増やします。 JVMパラメーター調整:Hadoop-env.shファイルで調整します

Debian syslogを学ぶ方法Debian syslogを学ぶ方法Apr 13, 2025 am 11:51 AM

このガイドでは、Debian SystemsでSyslogの使用方法を学ぶように導きます。 Syslogは、ロギングシステムとアプリケーションログメッセージのLinuxシステムの重要なサービスです。管理者がシステムアクティビティを監視および分析して、問題を迅速に特定および解決するのに役立ちます。 1. syslogの基本的な知識Syslogのコア関数には以下が含まれます。複数のログ出力形式とターゲットの場所(ファイルやネットワークなど)をサポートします。リアルタイムのログ表示およびフィルタリング機能を提供します。 2。syslog(rsyslogを使用)をインストールして構成するDebianシステムは、デフォルトでrsyslogを使用します。次のコマンドでインストールできます:sudoaptupdatesud

DebianでHadoopバージョンを選択する方法DebianでHadoopバージョンを選択する方法Apr 13, 2025 am 11:48 AM

Debianシステムに適したHadoopバージョンを選択する場合、次の重要な要因を考慮する必要があります。1。安定性と長期的なサポート:安定性とセキュリティを追求するユーザーにとって、Debian11(Bullseye)などのDebianの安定したバージョンを選択することをお勧めします。このバージョンは完全にテストされており、最大5年のサポートサイクルがあり、システムの安定した動作を確保できます。 2。パッケージの更新速度:最新のHadoop機能と機能を使用する必要がある場合は、DebianのUnstableバージョン(SID)を検討できます。ただし、不安定なバージョンには互換性の問題と安定性のリスクがあることに注意する必要があります。 3。コミュニティのサポートとリソース:Debianには、豊富なドキュメントを提供できるコミュニティサポートが大きくなり、

debianのtigervnc共有ファイルメソッドdebianのtigervnc共有ファイルメソッドApr 13, 2025 am 11:45 AM

この記事では、Tigervncを使用してDebian Systemsでファイルを共有する方法について説明します。最初にtigervncサーバーをインストールしてから構成する必要があります。 1. TigerVNCサーバーをインストールし、端末を開きます。ソフトウェアパッケージリストの更新リスト:sudoaptupdate tigervnc server:sudoaptinstaltaltigervnc-standalone-servertigervnc-common2。tigervncサーバーを構成するVNCサーバーパスワードを設定します。

Debian Mail Serverファイアウォールの構成のヒントDebian Mail Serverファイアウォールの構成のヒントApr 13, 2025 am 11:42 AM

Debian Mail Serverのファイアウォールの構成は、サーバーのセキュリティを確保するための重要なステップです。以下は、iPtablesやFirewalldの使用を含む、一般的に使用されるファイアウォール構成方法です。 iPtablesを使用してファイアウォールを構成してIPTablesをインストールします(まだインストールされていない場合):sudoapt-getupdatesudoapt-getinstalliptablesview現在のiptablesルール:sudoiptables-l configuration

Debian Mail Server SSL証明書のインストール方法Debian Mail Server SSL証明書のインストール方法Apr 13, 2025 am 11:39 AM

Debian Mail ServerにSSL証明書をインストールする手順は次のとおりです。1。最初にOpenSSL Toolkitをインストールすると、OpenSSLツールキットがシステムに既にインストールされていることを確認してください。インストールされていない場合は、次のコマンドを使用してインストールできます。sudoapt-getUpdatesudoapt-getInstalopenssl2。秘密キーと証明書のリクエストを生成次に、OpenSSLを使用して2048ビットRSA秘密キーと証明書リクエスト(CSR)を生成します:Openss

Debian Mail Server仮想ホスト構成方法Debian Mail Server仮想ホスト構成方法Apr 13, 2025 am 11:36 AM

Debianシステムでのメールサーバーの仮想ホストの構成には、通常、Apache Httpserverではなく、Apache Httpserverではなく、Mail Serverソフトウェア(Postfix、Eximなど)のインストールと構成が含まれます。以下は、メールサーバーの構成のための基本的な手順です仮想ホスト:ポストフィックスメールサーバー更新システムパッケージ:sudoaptupdatesudoaptupgradeポストフィックス:sudoapt

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません