BASHプログラミング
 Computer >> コンピューター >  >> プログラミング >> BASHプログラミング

Linux chmod Recursive:ファイルのパーミッションを再帰的に変更する方法

Linuxの場合chmod コマンドを使用すると、すべてのファイルとディレクトリのファイル権限を再帰的に変更できます。このガイドではその方法について説明します。

以前に次のエラーが発生した可能性があります。

111 [Permission Denied]
"Linux-Screw" [Permission Denied]
"Linux-Screw" [readonly]

どのシステムファイルでも、sudoを使用してファイルを編集することをお勧めします。これにより、すべてのシステムコンテキストを保持できます。ユーザーファイルで日常的に使用する場合は、権限を変更することをお勧めします。 chmodは私たちのためにそれを行うことができます。許可をエスカレーションする必要がなくなり、必要なときにアクセスできるようになります。

chmodとは何ですか? chmod、またはchange modeは、特定のファイルのファイルモードビットを変更します。シンボリックまたは8進数表現で変更できます。

chmod構文

chmod [OPTION] MODE FILE
Or
chmod [OPTION] OCTAL-MODE FILE
Options:
[-c], --changes
Verbose-mode, but only for changes
[-f], --silent, --quiet
Suppress most error messages
[-v], --verbose
Output a diagnostic for every file processed
[-R], --recursive
Change files and directories recursively

これらは利用可能なオプションです。モードはシンボリック参照を指します。ファイルに実行可能アクセス許可を追加する場合は、次のように入力します。

chmod +x [FILE]

そして、それは実行可能権限を追加します。基本を確認しました。フォルダ構造を修正して、利用できるようにします。

chmod再帰

多くの場合、フォルダディレクトリで作業しているときは、単一​​のファイルの権限を変更する必要はありません。そのファイル、現在のフォルダ内のすべてのファイル、およびすべてのサブディレクトリの権限を変更する必要があります。

幸い、chmod -Rを使用すると、すべてのファイルを再帰的に変更できます。

chmod -R 755 *
ls -altrR

権限を変更した後、次のように表示されます。

Linux chmod Recursive:ファイルのパーミッションを再帰的に変更する方法

chmod -R

理由を知りたい場合-altrh これは私のデフォルトで好ましいオプションのセットです。lsに関する最近の記事を参照してください。 。

さて、行きます。上記では、ディレクトリとファイルが 755に一致するように変更されていることがわかります。 、または rwx r-x r-x 。そのグループ(ユーザーグループ)に属しているため、このディレクトリを使用できるようになりました。私たちがユーザーなので、それも利用できます。以前のユーザーからフォルダをクリーンアップする場合は、chownを使用してファイルの所有権を変更できます。

これにより、ユーザーとして利用できるようになります。ただし、上記の chmodには問題があります 。 umaskを設定するとき 0022のように、デフォルトのパーマ、ディレクトリ、ファイルは異なります。ディレクトリは755で作成されます。cdを許可する 、ディレクトリを変更し、コマンドを正しく機能させます。ファイルは、ディレクトリより1つ少ない644として作成されます。これは、通常のファイルには実行権限が必要ないためです。 cd の場合、ディレクトリはそうします 。それでは、検索で修正しましょう および-exec

検索で再帰的にchmod

find <dir> -type d -exec chmod 755{} \; find <dir> -type f -exec chmod 644 {} \;
を検索します Linux chmod Recursive:ファイルのパーミッションを再帰的に変更する方法

検索で再帰的にchmod

そして、すべてが保存され、デフォルトのumaskと一致します。実行可能ファイルと実行可能ディレクトリはありません。

結論

ファイルのパーミッションは固定される可能性がありますが、chmodはそれを修正するのに役立ちます。権限を変更する方法がわかったので、ディレクトリとファイルの所有権を本当に取得できます。シェルコマンドを使用してLinuxインフラストラクチャをナビゲートする方法について詳しく知る必要がありますか?ここで他のチュートリアルを読んでください。


  1. chmod 777とは何ですか?Linuxでは何をしますか?

    この記事では、ユーザー、グループ、その他にすべての権利を与えるために使用されるLinuxコマンドであるchmod777について説明します。 Linuxの新規ユーザー、ウェブ開発者、またはシステム管理者は、次のように入力するように指示されている可能性があります。 chmod 777 / path / to / file / or / folder …ある時点でLinuxシェルに。 システムで(特にrootとして)コマンドを実行するときは常に、コマンドが何をしているのかを常に知っておく必要があります。では、 chmod 777 本当に? Linuxでの権限 ls –lコマンド 上

  2. Windows 10 でファイルのアクセス許可を変更する方法

    さまざまな理由で、PC を多くの人と共有する必要がある場合があります。 Windows 10 は、システム レベルですべてのファイル アクセス許可を提供および管理します。あなたのデータを他のユーザーから保護します。 Windows 10 PC では、ユーザーが作成したファイルは既定ですぐにアクセスできます。 Windows 10 のファイル アクセス許可を変更できます。管理者は、他のユーザーが自分のファイルのみを編集できるように制限します。ファイルのパーミッションは簡単に変更できます。この記事では、Windows 10 でファイルのアクセス許可を変更する方法を説明する役立つガイドを紹介します。