質問: drushとユーザー権限 私のユーザーはapacheグループのメンバーです。以下を介して追加して確認しました$ sudo usermod -a -g apache `whoami` # add my user to apache group $ sudo chmod -r g+w . # permit group members to write $ groups `whoami` # confirm i'm in the apache group ただし、drush更新コアまたはdrush cronを実行しようとすると$ drush cc all unlink(sites/default/files/css/css_71ba7c25a8d3c47c68a8e05608ae525c.css):[warning] permission denied file.inc:482 この場合のcssキャッシュは次のようになります$ ll total 1536 drwxrwxr-x. 2 apache apache 12288 nov 26 10:12 . drwxrwxr-x. 11 apache apache 4096 nov 24 20:35 .. -rw-rw-r-- 1 apache apache 162269 nov 26 10:06 css_00d5f4d7c5c92cd4f.css -rw-rw-r-- 1 apache apache 158090 nov 26 10:02 css_0605989692a2119d305.css -rw-rw-r-- 1 apache apache 162269 nov 26 10:02 css_0779dcac71ee9aa8e02d9e.css 私は、sudoアクセスを持つユーザーアカウントがapache(またはwww-data)のグループメンバーであり、ファイルツリーがグループ書き込みアクセスを許可していると想定します。正しい方向への助けや指摘は大歓迎です。
回答: 間違いなく、もっと簡単な方法は、ユーザーのグループ割り当てをまったく変更せず、代わりにwebサーバーユーザー(つまり、apache、www-data)としてdrushを実行することです。sudoを使用:sudo -u apache drush またはdebian/ubuntuで:sudo -u www-data drush コマンドエイリアスを作成します:次に、常にそのようにdrushを実行するようにするには、エイリアスを追加します。echo "alias drush='sudo -u apache drush'" >> ~/.bash_aliases またはdebian/ubuntuで:echo "alias drush='sudo -u www-data drush'" >> ~/.bash_aliases drushコマンドを実行すると、sudoによってパスワードの入力を求められ、コマンドはwebサーバーユーザーとして実行されます。ファイルの読み取りと書き込みに関する権限の問題はなくなりました。