まもなくPHPの仕事をたくさんやる予定で、RoRを学ぶことに興味があり、VirtualBoxにLinux Mint 12をインストールしました。
このスイッチの最も残念な側面は、Linuxの権限を扱うことです。 sudoを使ってrootを偽装しないと便利なことができないようです(たとえば、My DownloadディレクトリからMy Document rootにSymfony2 tarballをコピーして抽出します)。
単に特定のディレクトリへのフルアクセス権を設定せずに特定のディレクトリへの無制限のアクセスを提供するようにLinuxに指示する簡単な方法はありますか?
答え1
2つの選択肢が浮上しました。
必要なディレクトリを取得するには、次のコマンドを使用します
chown
。sudo chown your_username directory
(your_username をユーザー名に置き換え、ディレクトリを目的のディレクトリに置き換えます.)
あなたができるもう一つのことは、rootで作業することです。何をしているのかを知る。ルートを使用するには:
sudo -s
sudo
これにより、各コマンドの前に入力せずに必要な操作をすべて実行できます。
sudo -s
このシェルターミナルを終了するには、次のように入力すると前のexit
シェルターミナルに戻ります。
答え2
通常、システム全体に影響を与える操作を実行しない限り、常に自分のユーザーで作業してください。
Web サーバーに特定のファイルを配置するには、自分のユーザーで作業し、ファイルsudo
システムの Web サービス領域にファイルの配置を使用します。通常、これはインストールスクリプトによって実行され、類似またはsudo -u webmaster install-webserver-files
より良いsudo -u webmaster git update
(または選択したバージョン管理システム)を実行します。
開発サーバーで作業していてすぐにファイルにアクセスするには、Webサーバー領域にディレクトリを作成し、そのディレクトリを所有または少なくとも書き込み可能にします。この 1 回限りの操作の後、sudo chown …
毎日のsudo -u webmaster setfacl …
操作に対する高い権限は必要ありません。
複数のユーザーがディレクトリに書き込むことを許可したり、所有者に加えて、複数のユーザーまたは複数のグループに対して異なる権限を持つことが便利な場合があります。アクセス制御リストこの能力を与えなさい。バラより サーバーの共有ディレクトリに対する権限の問題またはバックアップスクリプト権限の問題。
答え3
はい、rootとしてログインすると、スーパーユーザーアクセス制御が提供されます。
概念はWindowsでも同じです。管理者を使用して端末にログインします。
答え4
他の回答で指摘したように、最もクリーンな解決策は、アクセスする必要があるファイルとディレクトリの所有権を変更することです。新しい個人グループを作成し、ファイルとディレクトリのグループ所有権をこのグループに変更し、そのファイルとディレクトリのグループ書き込み権限を設定することもできます。最後に、新しいファイルを作成する場合は、そのファイルを含むディレクトリ(つまり、個人グループ)のグループ所有権を継承するようにディレクトリにSGIDビットを設定します。