Linuxの基本的なコマンドと権限

目次

1. シェルコマンドと動作原理

2. 一般的な Linux コマンド

1.lsコマンド

2.pwdコマンド

3.cdコマンド

4.タッチコマンド

5.mkdirコマンド(重要)

6.rmdirコマンド&&rmコマンド(重要)

7.manコマンド(重要)

8.cpコマンド(重要)

9.mvコマンド(重要)

10.猫

11.less ディレクティブ (重要)

12.headコマンド

14. 時間に関する指示

15.校正手順

16.fifind コマンド: (非常に重要) -name

17. grepコマンド

18.zip/解凍コマンド:

19.tarコマンド(重要)

20.uname -r コマンド:

21. いくつかの重要なホット キー [Tab]、[ctrl]-c、[ctrl]-d

22.シャットダウン

3.Linuxの権限

1. ファイル訪問者(人)の分類

2. ファイルの種類とアクセス権限(モノの属性)

3. ファイルパーミッション値の表現方法

4. ファイルアクセス権限関連の設定方法

5.fifileコマンド

6. ディレクトリの権限

7. スティッキービット



1. シェルコマンドと動作原理

Linux は厳密に言うと「カーネル」と呼ばれるオペレーティングシステムですが、私たち一般ユーザーはカーネルを直接使用することはできません。代わりに、カーネルの「シェル」プログラム、いわゆるシェルを通じてカーネルと通信します。どのように理解すればよいでしょうか?カーネルを直接使用できないのはなぜですか?
技術的な観点から見ると、シェルの最も単純な定義: コマンド インタープリター (コマンド インタープリター) には主に次のものが含まれます。
         ユーザーコマンドをカーネルに変換して処理します
        同時に、コアの処理結果がユーザーに翻訳されます。
Windows GUI と比較すると、Windows を操作するときは、Windows カーネルを直接操作するのではなく、グラフィカル インターフェイスをクリックして操作を完了します (たとえば、D ドライブに入るには、通常、D ドライブ文字をダブルクリックするか、アプリケーションを実行します)。
シェルには Linux と同じ機能があり、主に命令を解析し、Linux カーネルへの命令を解析します。フィードバック結果はカーネルを通じて実行され、シェルを通じてユーザーに解析されます。
理解するのに役立つ: あなたが退屈で内気なプログラマーである場合、シェルは仲人のようなものであり、オペレーティング システムのカーネルは、あなたの村で心をときめかせてくれる美しい少女です。あなたはシャオファを好きになったけれど、直接告白するのは恥ずかしくてできません。それなら、ご家族に仲人を探してもらい、結婚の申し込みを手伝ってもらいましょう。すべてを仲人に直接伝えてください。そうすれば、仲人があなたの気持ちをシャオファに伝えます。姓が Wang である仲人を見つけたので、よく使用する bash に対応する Wangpo と呼びます。

2. 一般的な Linux コマンド

1.lsコマンド

構文: ls [オプション][ディレクトリまたはファイル]
機能: ディレクトリの場合、このコマンドはディレクトリ内のすべてのサブディレクトリとファイルを一覧表示します。ファイルの場合は、ファイル名が他の情報とともにリストされます。
一般的なオプション:
-a で始まる暗黙的なファイルを含む、ディレクトリ内のすべてのファイルをリストします。
-d は、ディレクトリの下にあるファイルを表示するのではなく、ディレクトリをファイルとして表示します。例: ls –d はディレクトリを指定します。
-i ファイルの i ノードのインデックス情報を出力します。たとえば、ls –ai はファイルを指定します。
-k は、ファイルのサイズを k バイト単位で示します。ls –alk はファイルを指定します
-l ファイルの詳細をリストします。
-n 名前の代わりに数値 UID、GID を使用します。(UID、GIDの導入)
-F ファイル名の後ろに、ファイルの種類を示す文字を付けます。「*」は実行可能な通常ファイル、「/」はディレクトリ、「@」はファイルの種類を示します。
はシンボリック リンクを表し、「|」は FIFO を表し、「=」はソケットを表します。(ディレクトリの種類の識別)
-r はディレクトリを逆順にソートします。
-t 時間順に並べ替えます。
-s を指定すると、l ファイル名の後にファイルのサイズが出力されます。(サイズソート、ディレクトリ内で最大のファイルを見つける方法)
-R すべてのサブディレクトリ内のファイルを一覧表示します。(再帰)
-1 を指定すると、1 行に 1 つのファイルのみが出力されます。

2.pwdコマンド

構文: pwd
機能: ユーザーが現在いるディレクトリを表示します。

 kiana ユーザーが現在「/home」パスの下にいることを表示します。

3.cdコマンド

Linux システムでは、ディスク上のファイルとディレクトリはディレクトリ ツリーに編成され、各ノードがディレクトリまたはファイルになります。

構文: cd ディレクトリ名
機能: 作業ディレクトリを変更します。現在の作業ディレクトリを指定したディレクトリに変更します。
例:
cd .. : 上のディレクトリに戻ります
cd /home/litao/linux/ : 絶対パス
cd ../day02/ : 相対パス
cd ~: ユーザーのホームディレクトリを入力します。
cd -: 最近アクセスしたディレクトリに戻ります

4.タッチコマンド

構文: touch [オプション]... ファイル...
機能: touch コマンドのパラメーターは、アクセス時刻や変更時刻を含むドキュメントまたはディレクトリの日付と時刻を変更したり、存在しない新しいファイルを作成したりできます。
共通オプション:
-a または --time=atime または --time=access または --time=use はアクセス時間のみを変更します。
-c または --no-create ドキュメントを作成しません。
-d 現在時刻の代わりに、指定された日付と時刻を使用します。
-f このパラメータは無視され、処理されません。このパラメータは、BSD バージョンの touch コマンドの互換性の問題を解決することのみを担当します。
-m または --time=mtime または --time=modify は変更時刻のみを変更します。
-r は、指定されたドキュメントまたはディレクトリの日付と時刻を、参照ドキュメントまたはディレクトリの日付と時刻と同じに設定します。
-t 現在時刻の代わりに指定された日付と時刻を使用します。

5.mkdirコマンド(重要)

構文: mkdir [オプション] ディレクトリ名...
機能: カレントディレクトリに「dirname」という名前のディレクトリを作成します。
共通オプション:
-p、--parents にはパス名を指定できます。このとき、パス内にまだ存在しないディレクトリがある場合、このオプションを追加すると、システムはまだ存在しないディレクトリを自動的に作成します。つまり、複数のディレクトリを一度に作成できます。
:
mkdir –p test/test1: 複数のディレクトリを再帰的に作成します

6.rmdirコマンド&&rmコマンド(重要)

rmdirはmkdirに相当するコマンドです。mkdirはディレクトリの作成、rmdirは削除のコマンドです。
構文: rmdir [-p][dirName]
対象者:カレントディレクトリの操作権限を持つすべてのユーザー
機能: 空のディレクトリを削除
共通オプション:
-p サブディレクトリを削除した際、親ディレクトリも空ディレクトリになった場合は、親ディレクトリも一緒に削除されます。
rm コマンドはファイルまたはディレクトリを同時に削除できます
構文: rm [-firv][ディレクトリ名/ディレクトリ]
適用対象:すべてのユーザー
機能: ファイルまたはディレクトリの削除
共通オプション:
-f ファイル属性が読み取り専用(つまり書き込み禁止)であっても、直接削除します
-i 削除する前に 1 つずつ確認を求めます
-r はディレクトリとその下のすべてのファイルを削除します

7.manコマンド(重要)

Linux のコマンドにはパラメータが多く、すべてを覚えるのは不可能ですが、オンラインマニュアルを確認することで解決できます。Linux のマニュアル ページにアクセスするコマンドは man です。
構文: man [オプション] コマンド
共通オプション:
-k キーワードに基づいてオンライン ヘルプを検索します
num は章 num でのみ見つかります
-a を指定すると、man printf などのすべての章が表示されます。デフォルトでは、最初の章から検索が開始され、見つかった時点で停止します。a オプションを使用します。q を押して終了すると、すべての章が検索されるまで検索が続けられます。 . .
オンラインマニュアルは 8 章に分かれています
1 は通常のコマンドです。
2 は、open、write などのシステム コールです (これにより、少なくとも、この関数を呼び出すためにどのヘッダ ファイルを追加する必要があるかを簡単に見つけることができます)。
3 は、printf、fread などのライブラリ関数です。
4 は特別なファイルで、/dev の下にあるさまざまなデバイス ファイルです。
5 は、ファイルの各フィールドの意味を説明する passwd などのファイルの形式を指します。
6 はゲーム用に予約されており、各ゲームによって定義されます。
7 は添付ファイルで、ここで説明されている environ などのグローバル変数などの変数がいくつかあります。
8 はシステム管理に使用されるコマンドで、ifconfig など root のみが使用できます。

8.cpコマンド(重要)

構文: cp [オプション] ソース ファイルまたはディレクトリ ターゲット ファイルまたはディレクトリ
機能: ファイルまたはディレクトリをコピーする
説明: cp コマンドは、ファイルまたはディレクトリをコピーするために使用されます。同時に 2 つ以上のファイルまたはディレクトリが指定され、最終的な宛先が既存のディレクトリである場合、以前に指定されたすべてのファイルまたはディレクトリがこのディレクトリにコピーされます。 。複数のファイルまたはディレクトリを同時に指定し、最終的な宛先が既存のディレクトリではない場合、エラー メッセージが表示されます。

9.mvコマンド(重要)

mv コマンドは、move の略語で、ファイルの移動やファイル名の変更 (move (rename) fifiles) に使用できます。これは、Linux システムで一般的に使用されるコマンドであり、ファイルやディレクトリのバックアップによく使用されます。
構文: mv [オプション] ソース ファイルまたはディレクトリ ターゲット ファイルまたはディレクトリ
機能:
1. mv コマンドの 2 番目のパラメーターのタイプ (ターゲット ファイルかターゲット ディレクトリか) に応じて、mv コマンドはファイルの名前を変更するか、新しいディレクトリに移動します。
2. 2 番目のパラメータのタイプがファイルの場合、mv コマンドはファイルの名前変更を完了します。この時点では、ソース ファイルは 1 つだけです (ソース ディレクトリ名にすることもできます)。指定されたソース ファイルまたはディレクトリの名前が変更されます。指定されたターゲットファイル名に。
3. 2 番目のパラメータが既存のディレクトリの名前である場合、複数のソース ファイルまたはディレクトリ パラメータが存在する可能性があり、mv コマンドは各パラメータで指定されたすべてのソース ファイルをターゲット ディレクトリに移動します。
共通オプション:
-f:force は強制を意味し、対象ファイルが既に存在する場合は何も尋ねることなく直接上書きされます。
-i: 宛先ファイル (destination) が既に存在する場合、上書きするかどうかを尋ねられます。
:
将rm改造成mv
vim ~/.bashrc #修改这个文件
mkdir -p ~/.trash
alias rm=trash
alias ur=undelfile
undelfile() {
 mv -i ~/.trash/\$@ ./
}
trash() {
 mv $@ ~/.trash/
}

10.猫

構文: cat [オプション][ファイル]
機能: 対象ファイルの内容を表示します。
共通オプション:
-b 空行以外の行番号を出力します。
-n 出力のすべての行に番号を付けます
-s は複数の空白行を出力しません
10.詳細な説明
構文: 詳細 [オプション][ファイル]
機能: 関数の cat に似たその他のコマンド
共通オプション:
-n 出力のすべての行に番号を付けます
q 終了もっと見る

11.less ディレクティブ (重要)

less ツールは、ファイルなどの出力をページング表示するためのツールでもあり、Linux のファイル内容を表示するためのオーソドックスなツールであり、非常に強力であると言えます。
「less」の使用は、「more」の使用よりも柔軟です。それ以上のことになると、前を向く方法はなく、振り返ることしかできません。
ただし、使用量を減らした場合は、[pageup][pagedown] やその他の主要な機能を使用してファイルを前後に参照できるため、ファイルの内容を確認しやすくなります。
さらに、より少ない検索機能を使用して、下方向の検索だけでなく、上方向の検索も行うことができます。
構文: less [パラメータ] ファイル
機能:
Less は more に似ていますが、less ではファイルを自由に参照できますが、more では前方にのみ移動でき、後方には移動できません。less では表示する前にファイル全体を読み込むことができません。
オプション:
-検索時に大文字と小文字を無視します
-N は各行の行番号を表示します
/string: 「string」をドリルダウンする関数
?String:「文字列」を上方向に検索する関数
n: 前の検索を繰り返します (/ または ? に関連)
N: 前の検索を逆に繰り返します (/ または ? に関連)
q:辞める

12.headコマンド

head と tail は名前と同様に理解しやすいものです。先頭または末尾に特定の数のテキスト ブロックを表示するために使用されます。head はファイルの先頭を標準出力に表示するために使用され、tail はファイルの読み取りに使用されますファイルを終了します。
構文: head [パラメータ]...[ファイル]... 
機能:
head は、ファイルの先頭を標準出力に表示するために使用されます。デフォルトの head コマンドは、対応するファイルの最初の 10 行を出力します。 
オプション:
-n<行数> 表示する行数
13.tailコマンド
tail コマンドは、指定された時点から始まる標準出力にファイルを書き込みます。tail コマンドの -f オプションを使用すると、変更ログ ファイルを簡単に確認できます。tail - f fifilename は、画面上に fifilename の最後の内容を表示しますが、画面上には表示されません。最新のファイルの内容を表示できるようにするのは、更新のみです。
構文: tail[必須パラメータ][選択されたパラメータ][ファイル] 
機能:指定したファイルの末尾の内容を表示する場合に使用します ファイルを指定しない場合は入力情報として処理されます。通常、ログ ファイルを表示するために使用されます。
オプション:
-f ループ読み取り
-n<行数> は行数を表示します。
合計 100 行の内容を含むファイルがあります。50 行目の内容を取り出してください<br>
seq 1 100 > test # 1 から 100 までのシーケンスを生成し、test にロードします
方法 1 head -n50 test > tmp #最初の 50 行を一時ファイル tmp にロードします
tail -n1 tmp #中国建設銀行を取得
方法2 head -n50 test | tail -n1

14.時間に関する指示

日付表示

Date は時間を表示する形式を指定します: date +%Y:%m:%d

date 用法:date [OPTION]... [+FORMAT]
1. 表示に関しては、ユーザーが表示する形式を設定できます。形式は、プラス記号の後にいくつかのマークが続く形式に設定されます。一般的に使用されるマークのリストは次のとおりです。
%H : 時間 (00..23)
%M : 分 (00..59)
%S : 秒 (00..61)
%X: %H:%M:%S と同等
%d : 日(01..31)
%m: 月 (01..12)
%Y: 完全な年 (0000..9999)
%F: %Y-%m-%d と同等
2. 設定時間について
date -s // 現在の時刻を設定します。root 権限のみが設定でき、他のユーザーは表示のみできます。
date -s 20080523 //20080523 に設定すると、特定の時刻が空の 00:00:00 に設定されます
date -s 01:01:01 //特定の時刻を設定すると、日付は変更されません。
date -s “01:01:01 2008-05-23” //これにより、時刻全体を設定できます
date -s “01:01:01 20080523″ //この方法で全体の時間を設定できます
date -s “2008-05-23 01:01:01” //この方法で全体の時間を設定できます
date -s “20080523 01:01:01″ //この方法で全体の時間を設定できます
3. タイムスタンプ
時間 -> タイムスタンプ: 日付 +%s
タイムスタンプ -> 時刻: 日付 -d@1508749502
Unix タイムスタンプ (Unix エポック、Unix 時間、POSIX 時間、英語では Unix タイムスタンプ) は、閏秒に関係なく、1970 年 1 月 1 日 (UTC/GMT 深夜 0 時) から経過した秒数です。

15.校正手順

cal コマンドを使用すると、グレゴリオ暦 (太陽暦) を表示できます。グレゴリオ暦は、現在国際的に使用されている暦で、グレゴリオ暦とも呼ばれ、グレゴリオ暦とも呼ばれます。「グレゴリオ暦」は「太陽暦」とも呼ばれ、地球が太陽の周りを回る公転を1年とする暦で、西洋諸国で一般的であるため「西暦」とも呼ばれます。
コマンド形式:cal [パラメータ][月][年]
機能: カレンダーやその他の時間情報を表示するために使用されます。パラメータが 1 つの場合は年 (1 ~ 9999) を表し、パラメータが 2 つの場合は月と年を表します。
共通オプション:
-3 前月、当月、翌月のシステムカレンダーを表示します
-j は、その年の日付を表示します (その年の日付は 1 月 1 日からの日数で計算され、デフォルトではその年の現在の月の日数が表示されます)。
-y は今年のカレンダーを表示します

16.fifind コマンド: (非常に重要) -name

Linux の fifind コマンドは、ディレクトリ構造内のファイルを検索し、指定された操作を実行します。
Linux の fifind コマンドは、非常に多くの検索条件を提供し、非常に強力です。fifind には強力な機能があるため、そのオプションも強力です
オプションはたくさんありますが、ほとんどのオプションは時間をかけて検討する価値があります。
システムにネットワーク ファイル システム (NFS) が含まれている場合でも、対応するアクセス許可を持っている限り、fifind コマンドはファイル システムでも有効です。
非常にリソースを消費する fifind コマンドを実行する場合、大規模なファイル システムを横断するため、多くの人はバックグラウンドで実行する傾向があります。
システムには長い時間がかかる場合があります (ここでは 30G バイトを超えるファイル システムを指します)。
構文: fifind パス名 -options
機能:ファイル ツリー内のファイルを検索し、それに応じて処理するために使用されます (場合によってはディスクにアクセスします)。

17. grepコマンド

構文: grep [オプション] 検索文字列ファイル
機能:ファイル内の文字列を検索し、見つかった行を出力します。
一般的なオプション:
-i: 大文字と小文字の違いを無視し、同じものとして扱います。
-n: ちなみに行番号を出力します
-v: 選択を逆にします。つまり、「検索文字列」の内容を含まない行を表示します。

18.zip/解凍コマンド:

構文: zip 圧縮ファイル.zip ディレクトリまたはファイル
機能:ディレクトリまたはファイルを zip 形式に圧縮します。
一般的なオプション:
-r は、指定されたディレクトリ内のすべてのファイルとサブディレクトリを再帰的に処理します。
:
test2 ディレクトリを圧縮します: zip test2.zip test2/*
tmp ディレクトリに解凍します: unzip test2.zip -d /tmp

19.tarコマンド(重要)

圧縮/解凍し、開かずに内容を直接確認します。tar [-cxtzjvf] ファイルとディレクトリ....
パラメータ:
-c: 圧縮ファイルを作成するためのパラメーター コマンド (作成を意味します)。
-x: 圧縮ファイルを解凍するパラメータコマンド!
-t: tarfifile 内のファイルを表示します。
-z: gzip の属性も持っていますか? つまり、gzip 圧縮を使用する必要があるのでしょうか?
-j: bzip2 の属性も持っていますか? つまり、bzip2 圧縮を使用する必要があるのでしょうか?
-v: 圧縮中にファイルを表示します。これは一般的に使用されますが、バックグラウンド実行プロセスでの使用はお勧めできません。
-f: ファイル名を使用します。ファイル名は f! の直後に続ける必要があることに注意してください。これ以上パラメータを追加しないでください。
-C: 指定したディレクトリに解凍します。

例:

例 1: /etc ディレクトリ全体のすべてのファイルを `/tmp/etc.tar` にパックします
[root@linux ~]# tar -cvf /tmp/etc.tar /etc<== 圧縮ではなくパッケージ化のみです。
[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc <==パッケージ化後、gzipで圧縮
[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc <==パッケージ化後、bzip2で圧縮
パラメーター f の後のファイル名は自分で選択することに特に注意してください。識別として .tar を使用することに慣れています。
z パラメータを追加すると、.tar.gz または .tgz は gzip 圧縮された tar ファイルを表します ~
j パラメータを追加すると、.tar.bz2 がファイル拡張子として使用されます~
上記のコマンドを実行すると、次の警告メッセージが表示されます。
『`tar: メンバー名から先頭の `/" を削除`』 絶対パスに関する特殊な設定です。
例 2: 上記の /tmp/etc.tar.gz ファイルにどのようなファイルがあるかを確認します。
[root@linux ~]# tar -ztvf /tmp/etc.tar.gz
gzip 圧縮を使用しているため、tar ファイル内のファイルを確認したい場合は、z パラメータを追加する必要があります。これはとても重要です!
例 3: /usr/local/src の下にある /tmp/etc.tar.gz ファイルを抽出します。
[root@linux ~]# cd /usr/local/src
[root@linux src]# tar -zxvf /tmp/etc.tar.gz
デフォルトでは、圧縮ファイルをどこにでも解凍できます。この例では、
まず作業ディレクトリを /usr/local/src に変更し、/tmp/etc.tar.gz を解凍します。
ロックが解除されたディレクトリは /usr/local/src/etc にあります。また、/usr/local/src/etc に移動すると、
このディレクトリ内のファイル属性は /etc/! とは異なる可能性があることがわかります。
例 4: /tmp の下で、/tmp/etc.tar.gz [root@linux ~]# cd /tmp の etc/passwd のロックを解除したいだけです
[root@linux tmp]# tar -zxvf /tmp/etc.tar.gz etc/passwd
tar -ztvf を使用すると、tarfile 内のファイル名を確認できます。ファイルが 1 つだけ必要な場合は、
この方法で提出できます!知らせ!etc.tar.gz のルート ディレクトリ / が削除されました。
例 5: /etc/ 内のすべてのファイルをバックアップし、そのアクセス許可を保存します。
[root@linux ~]# tar -zxvpf /tmp/etc.tar.gz /etc
この -p 属性は、特に元のファイルの属性を保持したい場合に非常に重要です。
例 6: /home では、2005/06/01 より新しいファイルのみがバックアップされます。
[root@linux ~]# tar -N "2005/06/01" -zcvf home.tar.gz /home
例 7: /home、/etc はバックアップしたいが、/home/dmtsai はバックアップしたくない
[root@linux ~]# tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc
例 8: /etc/ をパックし、ファイルを生成せずに /tmp 直下に解凍します。
[root@linux ~]# cd /tmp
[root@linux tmp]# tar -cvf - /etc | tar -xvf -
このアクションは cp -r /etc /tmp に似ていますが、それでもその目的はあります。
注意すべきは、出力ファイルが - になり、入力ファイルも - になり、別の | があることです。
これらはそれぞれ標準出力、標準入力、パイプライン コマンドを表します。

20.uname -r コマンド:

構文: uname [オプション] 
機能: uname は、コンピュータとオペレーティング システムに関する情報を取得するために使用されます。
補足:unameは、Linuxホストが使用しているOSのバージョンやハードウェア名などの基本情報を表示することができます。
一般的なオプション:
-a または –all は、カーネル名、ホスト名、カーネル バージョン番号、カーネル バージョン、ハードウェア名、プロセッサ タイプ、ハードウェア プラットフォーム タイプ、オペレーティング システム名という順序ですべての情報を詳細に出力します。

21. いくつかの重要なホット キー [Tab]、[ctrl]-c、[ctrl]-d

[Tab]ボタン・・・「コマンド補完」「ファイル補完」の機能があります。
[Ctrl]-c キー --- 現在のプログラムを「停止」します
[Ctrl]-d キー --- 通常は「ファイルの終わり、EOF、または入力の終わり」を表します。さらに、終了の代わりに使用することもできます。

22.シャットダウン


構文:
shutdown [オプション] ** 共通オプション: **
-h: システムサービスを停止した後、すぐにシャットダウンします。
-r: システムサービスを停止した後、再起動します。
-t sec: -t の後に秒数を追加します。これは、「数秒後にシャットダウンする」ことを意味します。
次のコマンドが拡張機能として利用できます。
◆ インストールおよびログイン コマンド:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last。
◆ ファイル処理コマンド: fifile、mkdir、grep、dd、fifind、mv、ls、diffff、cat、ln。
◆ システム管理関連コマンド: df、top、free、quota、at、lp、adduser、groupadd、kill、crontab。
◆ネットワーク操作コマンド:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、fifinger、mail、nslookup。
◆ システム セキュリティ関連コマンド: passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who。
◆ その他のコマンド: tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。

3.Linuxの権限

Linux では、スーパー ユーザー (root) と一般ユーザーの 2 種類のユーザーが存在します。
スーパー ユーザー: Linux システム上で制限なく何でもできる
一般ユーザー: Linux では限られたことを実行します。
スーパーユーザーのコマンドプロンプトは「#」、一般ユーザーのコマンドプロンプトは「$」です。
コマンド: su [ユーザー名]
機能: ユーザーを切り替えます。
たとえば、root ユーザーから一般ユーザーに切り替えるには、su ユーザーを使用します。一般ユーザーからrootユーザーに切り替える場合は、su root(rootは省略可能)を使用しますが、このときrootユーザーのパスワードの入力を求められます。

1. ファイル訪問者(人)の分類

ファイルとファイル ディレクトリの所有者: u---ユーザー (中国の民事法問題)
ファイルおよびファイル ディレクトリの所有者が属するグループのユーザー: g---グループ (特に言うことはありません)
他のユーザー: o---その他(外国人)

2. ファイルの種類とアクセス権限(モノの属性)

​​​​​​​

 

a)ファイルの種類
d: フォルダー
-: 通常のファイル
l: ソフトリンク (Windows のショートカットに似ています)
b: ブロックデバイスファイル (ハードディスク、光学ドライブなど)
p: パイプファイル
c: キャラクターデバイスファイル (画面やその他のシリアルデバイスなど)
s: ソケットファイル
b)基本的な権限
i. Read (r/4): ファイルの場合、Read にはファイルの内容を読み取る権限があり、ディレクトリの場合、ディレクトリ情報を参照する権限があります。
ii. 書き込み (w/2): ファイルの場合、書き込みにはファイルの内容を変更する権限があり、ディレクトリの場合、移動されたディレクトリ内のファイルを削除する権限があります。
iii. 実行 (x/1): ファイルの場合、実行にはファイルを実行する権限があり、ディレクトリの場合、ディレクトリに入る権限があります。
iv. 「—」は許可がないことを意味します

3.ファイルパーミッション値の表現方法

(1) 文字表現方法

(2) 8進数の数値表現方法

​​​​​​​

4. ファイルアクセス権限関連の設定方法

a)chmod
機能:ファイルのアクセス許可を設定します。
形式: chmod [パラメータ] パーミッションファイル名
一般的に使用されるオプション:
R -> ディレクトリファイルのアクセス許可を再帰的に変更します
注: ファイルの権限を変更できるのは、ファイルの所有者とルートだけです。
chmod
① ユーザー識別子 +/-= 許可文字
+: 権限コードで表される権限を権限スコープに追加します。
-: 権限コードで表される権限を権限範囲から取り消します。
=: 権限コードで表される権限を権限範囲に付与します。
ユーザーシンボル:  
あなた:オーナー
g: 所有者と同じグループが使用する場合
o:他のユーザー
a: すべてのユーザー
例:
# chmod u+w /home/abc.txt
# chmod ox /home/abc.txt
②3つの8進数
例:
# chmod 664 /home/abc.txt
# chmod 640 /home/abc.txt
b) チャウン
機能: ファイルの所有者を変更します
形式: chown [パラメータ] ユーザー名 ファイル名
例:
# chown user1 f1
# chown -R ユーザー1 ファイルグループ1
c)chgrp
機能: ファイルまたはディレクトリが属するグループを変更します
形式:chgrp [パラメータ] ユーザーグループ名 ファイル名
よく使用されるオプション: -R ファイルまたはディレクトリが属するグループを再帰的に変更します。
例:
# chgrp ユーザー /abc/f2
d)umask
機能:
ファイルマスクを表示または変更する
新しいフォルダーのデフォルトの権限=666
新しいディレクトリのデフォルトの権限は 777 です。
しかし、実際には、作成したファイルやディレクトリに表示されるアクセス許可は、上記の値ではないことがよくあります。その理由は、ファイルまたはディレクトリを作成するときに、それらも umask の影響を受けるためです。デフォルトの権限がマスクであると仮定すると、実際に作成されるファイルの権限は次のようになります:mask & ~umask
形式: umask 権限値
説明: ファイルの作成時に、既存のアクセス許可から許可マスクを減算して、デフォルトの許可を生成します。スーパー ユーザーのデフォルトのマスク値は 0022、一般ユーザーの場合は 0002 です。

5.fifileコマンド

機能説明: ファイルの種類を識別します。
構文: fifile [オプション] ファイルまたはディレクトリ... 
共通オプション:
-c は、プログラム実行のトラブルシューティングや分析を容易にするために、命令実行プロセスを詳細に表示します。
-z 圧縮ファイルの内容の解読を試みます。
sudo を使用して権限を割り当てる
(1) /etc/sudoers ファイル割り当てファイルを変更する
  # chmod 740 /etc/sudoers
        # vi /etc/sudoer
形式:権限を承認したユーザーがログインしたホスト = (コマンドを実行したユーザー) コマンド
(2) sudoを使用して許可されたコマンドを呼び出す
       $ sudo –u ユーザー名コマンド

6. ディレクトリの権限

実行可能権限: ディレクトリに実行可能権限がない場合、ディレクトリに cd でアクセスすることはできません。
読み取り権限: ディレクトリに読み取り権限がない場合、ls などのコマンドを使用してディレクトリ内のファイルの内容を表示することはできません。
書き込み権限: ディレクトリに書き込み権限がない場合、ディレクトリ内にファイルを作成したり、ディレクトリ内のファイルを削除したりすることはできません。
そこで質問です~~
言い換えれば、ユーザーがディレクトリへの書き込み権限を持っている限り、ユーザーがファイルへの書き込み権限を持っているかどうかに関係なく、ユーザーはディレクトリ内のファイルを削除できますが、これはあまり科学的とは言えません。 San さん、Li Si さんはなぜ削除できるのでしょうか? 次の手順で確認してみましょう。
[root@localhost ~]# chmod 0777 /home/
[root@localhost ~]# ls /home/ -ld
drwxrwxrwx。3 ルート ルート 4096 9月 19 15:58 /home/
[root@localhost ~]# touch /home/root.c
[root@localhost ~]# ls -l /home/
合計使用量 4
-rw-r--r--. 1 root root 0 9月 19 15:58 abc.c
drwxr-xr-x. 27 リタオ リタオ 4096 9月19日 15:53 リタオ
-rwr--r--。1 ルート root 0 9月 19 15:59 root.c
[root@localhost ~]# su - litao
[litao@localhost ~]$ rm /home/root.c #litao は root によって作成されたファイルを削除できます
rm: 書き込み保護された通常の空のファイル「/home/root.c」を削除しますか? y
[litao@localhost ~]$ exit
ログアウト
この非科学的な問題を解決するために、Linux はスティッキー ビットの概念を導入しました。

7.スティッキービット

ディレクトリが「スティッキー ビット」に設定されている場合 (chmod +t を使用)、ディレクトリ内のファイルには次のユーザーのみがアクセスできます。

[root@localhost ~]# chmod +t /home/ # スティッキービットを追加
[root@localhost ~]# ls -ld /home/
drwxrwxrwt。3 ルート ルート 4096 9月 19 4:00 PM /home/
[root@localhost ~]# su - litao
[litao@localhost ~]$ rm /home/abc.c #litao は他の人のファイルを削除できません
rm: 書き込み保護された通常の空のファイル「/home/abc.c」を削除しますか? y
rm: "/home/abc.c" を削除できません: 操作は許可されていません
1. スーパー管理者による削除
2. ディレクトリの所有者を削除します
3. ファイルの所有者を削除します
権限に関するまとめ
ディレクトリの実行権限は、ディレクトリ内でコマンドを実行できるかどうかを示します。
ディレクトリに -x 権限がない場合、ディレクトリに -r 読み取り権限がまだある場合でも、ディレクトリ上でコマンドを実行することはできません。また、ディレクトリに cd でアクセスすることさえできません (ここで間違いやすいのは、ディレクトリに -r 読み取り権限があると考えているためです。ディレクトリに入り、読み取り権限がある場合はディレクトリ内のファイルを読み取ります)) また、ディレクトリに -x 権限があるが -r 権限がない場合、ユーザーはコマンドを実行してディレクトリに cd できます。ただし、ディレクトリには読み取り権限がないため、ディレクトリ内で ls コマンドを実行できたとしても、ディレクトリ内のドキュメントを読み取る権限はありません。

おすすめ

転載: blog.csdn.net/weixin_65592314/article/details/129223106