ドキュメント保存時の崇高なテキスト3の秘密の質問


11

私はWeb開発にSublime Textを使用しています。変更を保存しようとするたびに(Ctrl + S)、認証ウィンドウがポップアップします。

スーパーユーザーとして「/ bin / cp」を実行するには認証が必要です

明らかに、パスワードを入力すると、Sublimeは変更を正しく保存します。しかし、[ キャンセル]を押すと、別のウィンドウがエラーでポップアップ表示されます。

エラー:administrator_copy_file(/tmp/.Some_File_Here、/ var / www / Rest_Of_Path_Here)failed:Authorization failed

私はUbuntuにかなり慣れているので、その承認ポップアップを取り除く方法がわかりません。/ var / wwwフォルダーに対するすべての権限を持っています。


ユーザーが/var/wwwrootになることなく(たとえばを使用してsudo)書き込み権限を持っていることを確信していますか?
David Bailey

@DavidBailey /var/wwwサブフォルダーへの書き込み権限はありますが、サブフォルダーへの権限はありません。完了しchownました/var/wwwが、サブフォルダのアクセス許可を確認すると、例:/var/www/First_Site、それはに属していwww-dataます。chownメインフォルダーでは、その中のすべてのサブフォルダー/ファイルにもアクセス許可が与えられると思いました。
SONGE、2015年

回答:


6

への書き込み権限がありません/var/www/Rest_Of_Path_Here。ST3は、UIDを昇格させて正しいユーザーとして書き込むようにしています(したがって、sudoプロンプト)。私はそれがこれを行うことができることを知りませんでした、しかし私はそれをテストしました、そしてそれはあなたが行くのでそれで動くので。

これを修正する方法はいくつかあります。

  1. ユーザーがファイルを直接書き込むことを許可します。ここに非常に多くのオプション:

    • chownあなたがそれらを所有するようにファイル。これは、www-userとして実行しているWebサーバーなど、他のユーザーとして実行しているものも書く必要がある可能性があることを混乱させる可能性があります。彼らが実行するものも変更する必要があるかもしれません。
    • ユーザーをwww-dataグループに追加し、ファイルマスクをに変更して774、グループのメンバーが書き込み/実行できるようにします。
    • 他のユーザーが書き込むことができるようにファイルマスクを変更します(例:777)...しかし、サーバーに何か悪意のあるものが既にある場合、これはかなり危険です。
    • 使用ACLは標準の権限フレームワークを乱すことなく、書き込みにユーザーを可能にします。
  2. ユーザーとしてバージョン管理システム(gitなど)に書き込むようにワークフローを変更し、他のユーザーがスクリプトをチェックアウトするときにスクリプトを実行します。これには他の利点もあります。

  3. そこで書き込むことができるユーザーとしてST3を実行します。

    sudo -u www-data subl /var/www/Rest_Of_Path_Here
    

    これは単にファイルを修正するよりもかなり醜いです。


あなたが正しいです。/ var / wwwフォルダーに対する権限のみがあり、その中のすべてのサブフォルダーに対する権限はありませんwww-data。ここでの最善の解決策は、ユーザーをwww-dataグループに追加することです。
SONGE、2015年

誰かに知らせるためだけに。ユーザーをwww-dataグループに追加すると問題が解決しました。この後、システムを再起動する必要がありました。@オリ
SONGE、2015年

4

私は同じ問題を抱えており、Sublime text 3で編集する必要がある特定のフォルダーへのユーザー権利を提供することで解決できました。次のコマンドを使用しました。

sudo chmod 775 -R projectname/   
sudo chown username -R projectname/

将来的には他の人にも役立つと思います。



0

使用しているUbuntuのバージョンに基づいて、次のいずれかの方法でユーザーを管理者ユーザーグループに追加します。両方を試してください:

sudo usermod -a -G admin username

または

sudo usermod -a -G sudo username

すでに管理グループに属している場合chownは、フォルダでを試してください。


どうして?彼らがすでにsudo / adminグループに属しているというすべての提案があります(パスワードを入力すると機能します)。
オリ

多分chown意志は@オリをします
Sharad Gautam

0

私は同じ問題を抱えており、aplimeサーバーのファイルをsublime-textで編集しようとしていますが、Webサーバーの権限を台無しにしたくありません。ファイルをg + wに変更して、ユーザーをwww-dataグループに入れることは、非常に安全なアイデアではありません。

私が助言するのは、崇高なテキストにSFTPプラグインを使用することです:

  • ウェブサーバーのファイルを自分のユーザーのフォルダに複製する
  • SFTPプラグインを設定するには:
"upload_on_save": true,
"host": "localhost",
"user": "www-data",

これも主要なセキュリティホールであるため、構成でパスワードを指定しないでください。

Sublime-textはパスワードを1回要求し、セッション中にそれを記憶します。ファイルを保存するたびに、localhostへのsftpセッションを開き、適切なユーザーを使用してファイルをディスクに書き込みます。


0

Linux / Unix端末で以下を実行します。

sudo chmod -R 777 project-name
sudo chown user-name project-name

すべてのプロジェクトに書き込み権限を与えましたが、試してみまし-R 775-R 777がうまくいきませんでした。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.