Linux の権限管理コマンド (chmod/chown/chgrp/unmask) の詳細な説明

Linux の権限管理コマンド (chmod/chown/chgrp/unmask) の詳細な説明

Linux オペレーティング システムで複数のユーザーを管理するのは非常に面倒なので、グループの概念を使用してユーザーを管理すると簡単になります。各ユーザーは独立したグループに所属でき、各グループには 0 人以上のユーザーを含めることができます。 Linux における権限管理コマンド (chmod/chown/chgrp/unmask) の詳細な説明を紹介します。具体的な内容は以下のとおりです。

chmod

説明する

コマンド名: chmod コマンド英語の意味: ファイルの権限モードを変更する コマンドパス: /bin/chmod 実行権限: すべてのユーザー 機能の説明: ファイルまたはディレクトリの権限を変更する

文法

chmod [{ugoa}{+-=}{rwx}] [ファイルまたはディレクトリ] 
chmod [mode=421] [ファイルまたはディレクトリ]
 -R 再帰的変更 # 最初の変更方法 chmod [{ugoa}{+-=}{rwx}] [ファイルまたはディレクトリ]
うごあ:
 u: 所有者 g: グループ o: その他 a: 全員 +-=:
 +: ファイルまたはディレクトリに権限を追加します -: ファイルまたはディレクトリの権限を減らします =: 現在の権限に基づいて、ファイルまたはディレクトリに新しい権限を与えます # 2 番目の変更方法 chmod [mode=421] [ファイルまたはディレクトリ]
翻訳:
 r:4
 w:2
 x:1
rwxrw-r--
 許可: 764 (4+2+1=7/4+2=6/4)

# 権限を増やす最初の方法 chmod g+x test.txt
 
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# ls -l test.txt
-rw-r--r-- 1 ルート ルート 11 11月 28 15:39 test.txt
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# chmod g+x test.txt
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# ls -l test.txt
-rw-r-xr-- 1 ルート ルート 11 11月 28 15:39 test.txt

# 権限を増やす2番目の方法: chmod 777 test.txt

[root@izm5e2q95pbpe1hh0kkwoiz tmp]# ls -l test.txt
-rw-r-xr-- 1 ルート ルート 11 11月 28 15:39 test.txt
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# chmod 777 test.txt
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# ls -l test.txt
-rwxrwxrwx 1 ルート ルート 11 11月 28 15:39 test.txt

権限に関する特別な注意

# /tmp の下に新しいフォルダ test を作成します
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# mkdir テスト

# /tmp/test フォルダに新しい test.txt を作成します
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# test/test.txt をタッチします

# テストファイル [root@izm5e2q95pbpe1hh0kkwoiz tmp] の下のファイルを表示します。# ls -l test
合計 0
-rw-r--r-- 1 ルート ルート 0 11月28日 17:54 test.txt

# /tmp/test フォルダの権限を確認します [root@izm5e2q95pbpe1hh0kkwoiz tmp]# ls -ld test
drwxr-xr-x 2 ルート ルート 4096 11月28日 17:54 テスト

# /tmp/test フォルダに完全な権限を付与します [root@izm5e2q95pbpe1hh0kkwoiz tmp]# chmod 777 test
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# ls -ld テスト
drwxrwxrwx 2 ルート ルート 4096 11月28日 17:54 テスト

[root@izm5e2q95pbpe1hh0kkwoiz tmp]# ls -l test/test.txt
-rw-r--r-- 1 ルート ルート 0 11月28日 17:54 test/test.txt

# 新しい一般ユーザーを追加し、パスワードを変更します [root@izm5e2q95pbpe1hh0kkwoiz tmp]# useradd eternity
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# パスワード永遠

# eternity アカウントとパスワード 123456 を使用してサーバーにログインします # 現在のディレクトリを表示します [eternity@izm5e2q95pbpe1hh0kkwoiz ~]$ pwd
/ホーム/永遠

# /tmpディレクトリに入る [eternity@izm5e2q95pbpe1hh0kkwoiz ~]$ cd /tmp

# すべての権限を持つ /tmp/test ディレクトリの権限を確認します [eternity@izm5e2q95pbpe1hh0kkwoiz tmp]$ ls -ld test
drwxrwxrwx 2 ルート ルート 4096 11月28日 17:54 テスト

# test.txt は /tmp/test ディレクトリに存在し、読み取り権限があります [eternity@izm5e2q95pbpe1hh0kkwoiz tmp]$ ls -l test/test.txt
-rw-r--r-- 1 ルート ルート 0 11月28日 17:54 test/test.txt

# /tmp/test の test.txt ファイルを削除します [eternity@izm5e2q95pbpe1hh0kkwoiz tmp]$ rm test/test.txt
rm: 書き込み保護された通常の空のファイル 'test/test.txt' を削除しますか? y

# 削除は成功しました。この時点で、test.txt は /tmp/test ディレクトリに存在しません [eternity@izm5e2q95pbpe1hh0kkwoiz tmp]$ ls -l test/test.txt
ls: test/test.txt にアクセスできません: そのようなファイルまたはディレクトリはありません

管理者のみrwの読み取りと書き込み権限があり、グループとそれ以外は読み取り権限のみ。しかし、このとき一般ユーザーはrの読み取り権限のみでファイルを削除しました。なぜ???ファイルディレクトリ権限のまとめ

代表的なキャラクター権限ファイルへの影響ディレクトリへの影響
r読み取り権限ファイルの内容を表示できますディレクトリの内容を一覧表示できる
書き込み権限ファイルの内容を変更できるディレクトリ内のファイルを作成および削除できます
x実行権限実行ファイルディレクトリに入ることができます

分析する

ファイルに対する書き込み権限があるということは、ファイルの内容を変更できることだけを意味し、ファイルを削除する権限があるわけではありません。

ディレクトリへの書き込み権限を持ち、ディレクトリ内のファイルを作成および削除できる

上記の /tmp/test ディレクトリの権限は 777 であるため、一般ユーザーも /tmp/test ディレクトリ内のファイルを作成および削除する権限を持っています。したがって、一般ユーザーは /tmp/test/test.txt ファイルを削除することもできます。ただし、一般ユーザーは /tmp/test/test.txt ファイルを編集することはできません。vim を使用してファイルを編集すると、警告: 読み取り専用ファイルの変更

チョーン

説明する

コマンド名: chown コマンドの英語の意味: ファイルの所有権を変更する コマンド パス: /bin/chown 実行権限: すべてのユーザー 機能の説明: ファイルまたはディレクトリの所有者を変更する

文法

chown [ユーザー] [ファイルまたはディレクトリ]

Linux では、ファイルの所有者を変更できるのは root のみであり、作成者も変更できません。

# ファイルの所有者を変更します (test.txt の所有者を eternity から root に変更します)
chown ルート /tmp/test/test.txt

[root@izm5e2q95pbpe1hh0kkwoiz ~]# パスワード
/根
[root@izm5e2q95pbpe1hh0kkwoiz ~]# ls -l /tmp/test/test.txt
-rw-r--r-- 1 永遠 永遠 7 11月28日 18:15 /tmp/test/test.txt
[root@izm5e2q95pbpe1hh0kkwoiz ~]# chown root /tmp/test/test.txt
[root@izm5e2q95pbpe1hh0kkwoiz ~]# ls -l /tmp/test/test.txt
-rw-r--r-- 1 ルート永遠 7 11月 28 18:15 /tmp/test/test.txt

chgrp

説明する

コマンド名: chgrp
英語でのコマンドの本来の意味: ファイルグループの所有権を変更する
コマンドパス:/bin/chgrp
実行権限: すべてのユーザー 機能の説明: ファイルまたはディレクトリが属するグループを変更する

文法

chgrp [ユーザーグループ] [ファイルまたはディレクトリ]

# ファイルが属するグループを変更します (test.txt が属するグループを eternity から eternityz に変更します)
chgrp eternityz /tmp/test/test.txt

# 現在のディレクトリ [root@izm5e2q95pbpe1hh0kkwoiz ~]# pwd
/根
# 詳細情報を表示 [root@izm5e2q95pbpe1hh0kkwoiz ~]# ls -l /tmp/test/test.txt
-rw-r--r-- 1 ルート永遠 7 11月 28 18:15 /tmp/test/test.txt
# eternityz グループを追加 [root@izm5e2q95pbpe1hh0kkwoiz ~]# groupadd eternityz
# グループを変更する [root@izm5e2q95pbpe1hh0kkwoiz ~]# chgrp eternityz /tmp/test/test.txt
[root@izm5e2q95pbpe1hh0kkwoiz ~]# ls -l /tmp/test/test.txt
-rw-r--r-- 1 ルート eternityz 7 11月 28 18:15 /tmp/test/test.txt

umask

説明する

コマンド名: umask コマンド英語本来の意味は、ユーザーのファイル作成マスクです。コマンドパス: シェル組み込みコマンド実行権限: すべてのユーザー機能の説明: ファイルのデフォルトの権限を表示/設定します。

文法

umask [-S] -S 新しく作成されたファイルのデフォルトの権限をrwx(大文字のS)の形式で表示します。

# ファイルのデフォルトの権限を表示する umask -S

# umask をチェック
umask

[root@izm5e2q95pbpe1hh0kkwoiz ~]# umask
0022

0022 in 0 特別な権限 022 ----w--w-

# 777と022のすべての権限に対してXOR演算を実行し、デフォルトの権限777を取得します。rwx rwx rwx
022 --- -w- -w-
================
ディレクトリ rwx rx rx
ファイル rwx r-- r--


# デフォルトの権限を変更するには、umask 値を変更します umask 077

# umask値を変更すると、デフォルトの権限は777 rwx rwx rwxになります
077 --- rwx rwx
================
ディレクトリ rwx --- ---
ファイル rw- --- ---

# 以下の実験は、デフォルトの権限を変更する設定に準拠しています [root@izm5e2q95pbpe1hh0kkwoiz ~]# umask 077
[root@izm5e2q95pbpe1hh0kkwoiz ~]# mkdir /tmp/lyf
[root@izm5e2q95pbpe1hh0kkwoiz ~]# ls -ld /tmp/lyf
drwx------ 2 ルート ルート 4096 11月29日 10:55 /tmp/lyf
[root@izm5e2q95pbpe1hh0kkwoiz ~]# /tmp/lyf/lyf をタッチします
[root@izm5e2q95pbpe1hh0kkwoiz ~]# ls -l /tmp/lyf/lyf
-rw------ 1 root root 0 11月29日 10:56 /tmp/lyf/lyf

Linux では、ルートのみがファイル所有者を変更できます。作成者であっても、ファイル作成者をデフォルトの所有者として設定することはできません。この場合、デフォルトのグループがファイル作成者でもあります。Linux のフォルダーのデフォルトの権限は rwxr-xr-x で、ファイルのデフォルトの権限は rw-r--r-- です。新しいファイルには実行権限がありません。

Linux の権限管理コマンド (chmod/chown/chgrp/unmask) の詳細な説明はこれで終わりです。Linux の権限管理コマンドに関するより詳しい内容については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Linux の一般的なコマンド chmod を使用して、ファイルの権限 777 と 754 を変更します。
  • Linux でファイル権限を変更する chmod コマンドの詳細な分析
  • Linux のファイル権限を変更するコマンド: chmod コマンドの詳細な説明
  • Linux でファイル権限を変更する chmod コマンドの詳細な分析

<<:  MySQL サーバー ログイン エラー ERROR 1820 (HY000) の解決方法

>>:  Rails APIを使用してReactアプリケーションを構築するための詳細な手順

推薦する

ウェブ画像のホットリンクと座標値を設定するサンプルコード

時には、画像上に複数の領域を設定する必要があります。マウスで画像のさまざまな領域をクリックしてさまざ...

要素UIポップアップコンポーネントをカプセル化する手順

el-dialogをコンポーネントとしてカプセル化するelement-ui を使用する場合、ポップア...

Quickjs は JavaScript サンドボックスの詳細をカプセル化します

目次1. シナリオ2. 基盤となるAPIを簡素化する2.1 自動的に破棄を呼び出す2.2 VM値を作...

WindowsでのMySQLインストールチュートリアルの詳細な紹介

目次1. ダウンロードする前に理解しておくべき概念2. 必要なバージョンを選択する3. MySQLサ...

Ubuntu 18.04 のすべての Python ライブラリを一度にアップグレードする方法

ピップとは何かpip は、Python パッケージの検索、ダウンロード、インストール、アンインストー...

マウスをホバーすると画像が折りたたまれる効果を実現する CSS

マウスをホバーすると画像が折りたたまれる効果を実現する CSS 1. 実施のポイント折り畳みは複数の...

MySQL 重複インデックスと冗長インデックスの例の分析

この記事では、例を使用して MySQL の重複インデックスと冗長インデックスについて説明します。ご参...

MySQL 関数インデックス最適化ソリューション

MySQL を使用する場合、多くの開発者は一部の列に対して関数計算を実行することが多く、その結果、イ...

CSS で div 凹角スタイルを実装するサンプル コード

通常の開発では、凸型の丸い角、つまり border-radius 属性を使用するのが一般的です。凹角...

uniappがインターフェースドメイン名を動的に取得する方法を分析する

背景インターフェイス ドメイン名はハードコードされておらず、動的に取得されます。具体的な実装は、静的...

Spark と Scala を使用して Apache アクセス ログを分析する方法

インストールまず、Java と Scala をインストールし、次に Spark をダウンロードしてイ...

マージントップ崩壊現象とその具体的解決策

マージントップの崩壊とはmargin-top の崩壊は、CSS ボックス モデルで発生する現象です。...

MySQL 5.6 マスタースレーブエラー報告の実践記録

1. 問題の症状バージョン: MySQL 5.6、従来の binlog ファイルと pos 方式を使...

GoのDockerデプロイメント用の基本イメージ2つの実装

1. golang:最新のベースイメージ mkdir gotest タッチメイン.go Docker...

ログインフォームを実装するためのReactサンプルコード

Vue ユーザーとして、React を拡張する時が来ました。antd の導入、less と rout...