ディレクトリ内のls -l結果を解釈するのに問題があります。
-rwxrwxr-x 1 root root 37114 Jul 24 02:13 madison_events.json
-rwxrwxr-x 1 root root 131355 Jul 24 16:00 milwaukee_events.json
-rwxrwxr-x 1 root root 67570 Jul 26 19:42 minneapolis_events.json
-rwxrwxr-x 1 root root 402115 Jul 24 16:33 nashville_events.json
-rwxrwxr-x 1 root root 70429 Jul 24 16:46 neworleans_events.json
-rw-rw-r-- 1 ubuntu ubuntu 546936 Jul 27 02:15 nyc_events.json
-rwxrwxr-x 1 root root 58037 Jul 24 16:50 seattle_events.json
-rw-rw-r-- 1 ubuntu ubuntu 141303 Jul 27 01:04 sf_events.json
私のPythonスクリプトは、リストされたファイルubuntu
(nyc_events.josnとsf_events.json)に書き込むことができますが、リストされたルートディレクトリ(seattle_events.json、nashville_events.jsonなど)には書き込めないことを確認しました。
この文脈では、ルートとUbuntuはどういう意味ですか? 「root」というファイルを「ubuntu」として読み取るにはどうすればよいですか?また、filezillaのルートファイルの値は、664
Ubuntuファイルの値は775
。
簡単に言えば、私はこれらすべてのファイルに書き込むことができるようにしたいと思います。ありがとうございます。
答え1
一部のファイルはルート(およびグループルート)によって所有されています。これは、ある時点でこれをルートとして生成するスクリプトを実行したためです。これをしないでください。 root権限を必要とするシステム管理タスクを実行するためにのみrootを使用してください。所有権はで固定することができますchown
。
ルートが所有するファイルにも実行権限があります。それはおそらく、ルートがumask
デフォルトで新しいファイルに実行ビットを設定するからです。 .json
ファイルは通常実行可能である必要はありません(スクリプトではなく単なるjsonデータなので)chmod
。
cd
ファイルを含むディレクトリの所有権と権限を回復するには、次の手順を実行します。
sudo chown ubuntu:ubuntu *.json
sudo chmod 644 *.json
答え2
その理由は、リストされたファイルがroot
ユーザー所有であるため、ユーザーの場合と同じようroot
に他のユーザーが変更できないためです。プログラムをリストされたファイルに書き込むには、コマンドを使用してこれらのファイルの所有権を変更する必要があります。スピード:ubuntu
root
chown
- ユーザーとしてログインします
root
。 cd
ファイルを含むフォルダにchown ubuntu:ubuntu *.json
または単に実行してください:
cd <to the directory>; sudo chown ubuntu:ubuntu *.json
役に立ったことを願っています!