Ubuntu 12.04のディレクトリにファイルをコピーするときに問題が発生します。ホームディレクトリにディレクトリを作成して、コピー先のパスが次のようになるようにします。
/home/sixven/camp_sms/inputs
しかし、iniがターミナルで次のコマンドを実行して、次のようにサンプルファイルを作成します。
francisco-vergara@Francisco-Vergara:/home/sixven/camp_sms/inputs$ touch test_file.txt
touch: can not make `touch' on «test_file.txt»: permission denied
そのディレクトリに直接ファイルをコピーできません。 chown
&chmod
コマンドを使用してファイルをコピーする権限を割り当てるにはどうすればよいですか?
使用するユーザーとグループがわかりません。
まず、Ubuntuのディレクトリのデフォルトの権限は644であることを知っておく必要があります。つまり、所有者ではないディレクトリにファイルを作成することはできません。
user:francisco-vergara
が所有するディレクトリ/home/sixven/camp_sms/inputs
にファイルを作成するためにuser:sixven
として試みています。
だからこれを解決する方法:
ディレクトリの権限を変更して、他のユーザーがファイルを作成できるようにすることができます。
Sudo chmod -R 777 /home/sixven/camp_sms/inputs
このコマンドは、ディレクトリの権限を再帰的に変更し、他のすべてのユーザーが内部のファイルとディレクトリを作成/変更および削除できるようにします。
このディレクトリの所有者の船を変更し、user:francisco-vergara
を所有者にすることができます
Sudo chown -R francisco-vergara:francisco-vergara /home/sixven/camp_sms/inputs
しかし、このようにuser:sixven
はこのフォルダに再び書き込むことができないため、循環無限ループに移動する可能性があります。
したがって、オプション1を使用することをお勧めします。
または、このディレクトリに両方のユーザーがアクセスする場合は、次のトリックを実行できます。
ディレクトリの所有権をuser:francisco-vergara
に変更し、グループの所有者はgroup:sixven
のままにします。
Sudo chown -R francisco-vergara /home/sixven/camp_sms/inputs
同様に、両方のユーザーがディレクトリを引き続き使用できます。
しかし、前に言ったように、オプション1を使用するのが最も簡単で効率的です。
ファイルの所有権を変更するには、これをrootとして実行します。
chown -R user:user /home/sixven
Chmodを使用する場合:
ユーザーがファイルのグループの一部であることを知っている場合
chmod -R g+rw /home/sixven
さもないと:
chmod -R o+rw /home/sixven
しかし、この方法はあまりにも安全ではありません。
デフォルトのUMASK 022(Ubuntuの場合)であるため、/ home/usernameの権限は755になります。ユーザーfrancisco-vergara
としてログインし、ユーザーsixyen Homeでファイルを作成しようとしました:/home/sixven
。他のユーザーへの書き込み権限はありませんsixven
のユーザー/グループのみが書き込みアクセス権を持っています。
そのディレクトリへの書き込みアクセスが必要な場合は、usermod -G sixyen francisco-vergara
OR chmod -R 777 /home/sixven
を使用してグループsixven
の一部である必要があります(使用しないでください)悪い習慣)。