Linux では、s は「強制ビット アクセス許可」を指し、ユーザーまたはグループのアクセス許可グループの 3 番目の位置にあります。ユーザー権限グループに s ビットが設定されている場合、ファイルが実行されると、ファイルはユーザー UID ではなくファイル所有者 UID を使用してプログラムを実行します。グループ権限グループに s ビットが設定されている場合、ファイルは実行された場合、ファイルはユーザー GID ではなくファイル所有者 GID を使用して実行されます。 s 許可ビットは機密性の高い許可ビットであり、システム セキュリティの問題を簡単に引き起こす可能性があります。
#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。
Linux システムで最も一般的なファイル アクセス許可は、w、r、および x で、それぞれ書き込み、読み取り、および実行アクセス許可に対応します。ただし、さらに、Linux は、次のような別の一連のアクセス許可設定もサポートしています。 s 権限。 、t 権限。以下に、権限の具体的な意味を紹介します。
s 権限
s。これは、UID または GID を設定することを意味します。ユーザーまたはグループの権限グループの 3 番目の位置にあります。ユーザー権限グループに s ビットが設定されている場合、ファイルが実行されると、ファイルはユーザー UID ではなくファイル所有者 UID を使用してプログラムを実行します。グループ許可グループに s ビットが設定されている場合、ファイルが実行されると、ファイルはユーザー GID ではなくファイル所有者 GID を使用してプログラムを実行します。 s 許可ビットは機密性の高い許可ビットであり、システム セキュリティの問題を簡単に引き起こす可能性があります。セットアップするときは注意し、すでにシステム上にある SUID または SGID のファイルとディレクトリに注意してください。
s 権限には、S_ISUID と S_ISGID という 2 つの定数が含まれており、これは 強制ビット権限
と呼ばれます。
S_ISUID はバイナリ実行可能ファイル*;
# にのみ適用できます。 ##S_ISGID はバイナリ実行可能ファイル* とディレクトリに適用できますが、*シェル スクリプトはバイナリ ファイルではないため、適用できません。S_ISUID と S_ISGID が使用されますバイナリ ファイルの場合:
S_ISGID ディレクトリで使用する場合:
現在のユーザーが chdir を実行してディレクトリに切り替えた後、ユーザー プロセスの実効ユーザー グループ ID (実効グループ) は、次のユーザー グループに設定されます。ユーザーがこのディレクトリに対する w 権限を持っている場合、ユーザー プロセスによって作成された新しいファイルのユーザー グループ ID は、ディレクトリのユーザー グループ ID と同じになります。 2 つの定数のうち、
dec | S_ISUID## は次のとおりです。 | #4000|
S_ISGID | 2000 | |
## はそれぞれ 12 ビット目と 11 ビット目のマスクです。 #########使い方? |
Set suid : 対応する許可ビットの前のビットを 4 に設定します;
Set guid: 対応する許可ビットの前のビットを 2 に設定します;
ls -al /usr/bin/passwd -rwsr-xr-x 1 pythontab pythontab 32988 2018-03-16 14:25 /usr/bin/passwd
chmod 4755 test
chmod 2755 test
概要
実行可能ファイルには、この権限を取得すると、権限を取得し、ファイルの所有者が使用できるすべてのシステム リソースに任意にアクセスできます。 SUID 権限を持つファイルに注意してください。ハッカーは、この権限を使用して、ルート アカウントの所有者と SUID を照合し、今後のアクセスのためにシステム内のバックドアをサイレントに開きます。 関連する推奨事項: 「Linux ビデオ チュートリアル
」以上がLinux にはどのような権限がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。