たまに、ファイルやフォルダのアクセス許可を変更する可能性に直面するでしょう。 Linuxのchownコマンドを使用すると、適切と思われるファイルとディレクトリのアクセス許可を変更できます。これは、特に機能やサービスを構成するときに便利です。コマンドの使用方法を見てみましょう。
Linuxchownコマンド構文
chownコマンドの使用法の構文は次のとおりです。
chown [option] [owner]:[group] file
コマンドに付属しているいくつかのオプションを見てみましょう。
ファイルの所有権の変更
ファイルの所有権をどのように変更しますか?構文は以下に示すように非常に単純です。
chown [owner] file
ファイル'newfile.txt'
を見てみましょう ユーザー「james」によって作成されました。デフォルトでは、このファイルは、以下の出力に示すように、ユーザー「james」とグループ「james」に属しています。
ls -l
以下に示すように。
サンプル出力
示されているように、ファイル権限の後の最初の属性はユーザーを示します ファイルの所有者と2番目の属性は、ファイルが属するグループを示します。
ファイルの所有権を別のユーザー(rootユーザーなど)に変更するには、次のコマンドを実行します。
chown root newfile.txt
所有権の変更を確認するには、もう一度ls -l
を使用します コマンド。
サンプル出力
場合によっては、chownコマンドの実行中に権限の問題が発生することがあります。たとえば、別のユーザーに属するファイルの所有権を変更します。その場合は、sudoを使用してコマンドを実行し、ユーザーがsudo権限を持っていることを確認してください。
ファイルが属するグループの変更
前の例から、ファイルの所有権をあるユーザーから別のユーザーに変更することができました。しかし、あなたが十分に熱心であったなら、あなたはグループが変わらなかったことを観察したに違いありません。ファイルが属するグループの変更は、ユーザーの変更と非常によく似ています。構文は、示されているように少し異なります
chown :[group-name] [file-name]
たとえば、グループの所有権をルートに変更するには ユーザー実行
chown :root newfile.txt
サンプル出力
今回は、ファイルのグループを変更することができました。
ファイルが属するユーザーとグループの両方を1つのコマンドで変更する
作業を簡単にし、ファイルが属するユーザーとグループの両方を変更したい場合は、構文を使用してください
chown user:group newfile.txt
たとえば、ユーザーとグループの両方を「ジェームズ」に変更します ‘実行:
chown james:james newfile.txt
サンプル出力
ディレクトリの所有権の変更
次に、ディレクトリの所有権の変更について説明します。構文はかなり似ています
chown user:group ./directory-name/
linux
というディレクトリがあります rootユーザーによって作成され、3つのテキストファイルが含まれています:
file1.txt
file2.txt
file3.txt
ユーザーとグループを「james」実行に変更するには
chown james:james ./linux/
サンプル出力
お気づきのとおり、ディレクトリが属するユーザーとグループを変更しても、ディレクトリの内容は変更されません。ファイルの所有権をフォルダの内容にカスケードするために、次のサブトピックで学習するように、アクセス許可を再帰的に変更します。
ディレクトリのファイル権限を再帰的に変更する
ファイルのアクセス許可を効果的にするには、-R
を使用します オプション
chown -R root:root linux
サンプル出力
出力から、「linux」ディレクトリに含まれるファイルにファイルのアクセス許可が適用されていることがはっきりとわかります。
ファイルのUIDとGIDを変更する
chownコマンドでユーザーまたはグループを指定する代わりに、ファイルが属するGIDまたはUIDを指定することを選択できます。これを実現するには、構文を使用します
chown uid:gid [filename]
たとえば、newfile.txt
を変更するには uid 1000へ およびgid1000 実行:
chown 1000:1000 newfile.txt
サンプル出力
詳細な出力を表示する
権限が変更されているときに端末で実行されている操作を表示するように選択できます。これを行うには、-v
を使用します オプション
chown root:root newfile.txt -v