Visual Studio Codeをルートとして実行する方法


40

最近、Visual Studio Codeエディターをインストールしました。32ビットの.debパッケージをダウンロードしました。インストールして正常に実行しますが、プロジェクトフォルダーにファイルを保存しようとすると、アクセスが拒否されました。だから、私はコードを再実行します

sudo code .

そしてそれは戻ります

It is recommended to start vscode as a normal user.
To run as root, you must specify an alternate user data directory with the --user-data-dir argument.

--user-data-dir引数で代替ユーザーデータディレクトリを指定する方法を探しましたが、多くは見つかりませんでした。

それでは、Ubuntu 16.04でルートとしてVisual Studio Codeを実行するにはどうすればよいですか?

編集:私はディレクトリのアクセス許可を変更しないソリューションを好むだろう。

edit2:プロジェクトディレクトリ:/var/www/project(vhostでApacheを使用しています)


6
プロジェクトフォルダーにアクセス許可を設定して、保存できるようにしませんか?
TheWanderer

2
ルートとしてコードを実行する理由がわかりません。これは潜在的に危険です。ファイルを保存できない本当の理由を理解する必要があります。
edwinksl

1
プロジェクトフォルダはどこにある
Nuwan Thisara

1
@Nuwan /var/www/project(vhostでApacheを使用)
-wdarking

回答:


53

VScodeを(他のアプリケーションと同様に)rootとして実行することは非常に危険ですが、どうしても必要な場合:

vsコードの実行時に使用するユーザーデータディレクトリを指定する必要があります。

sudo code --user-data-dir="~/.vscode-root"

次に、ウィンドウからプロジェクトフォルダを開くことができます

繰り返しますが、これは推奨されません。楽しむ。

2018年5月更新

なぜこれが推奨されないのかを尋ねるすべての人にとって、なぜsudo存在するのかを明確に理解していない。このAskUbuntuの質問から:

これは、長年にわたって導入されてきたセキュリティモデルを無効にします。アプリケーションは非管理セキュリティで(または単なる人間として)実行されることを意図しているため、基礎となるシステムを変更するには、特権を昇格する必要があります。たとえば、最近のRhythmboxのクラッシュにより、バグのために/ usrディレクトリ全体が消去されることは望ましくありません。または、攻撃者がROOTシェルを取得できるようにするために、ProFTPDに投稿されたばかりの脆弱性。

アプリケーションをユーザーレベルで実行し、管理タスクをルートユーザーに任せ、必要に応じてのみ実行することは、どのオペレーティングシステムでも有効な方法です。

VSCodeを決してrootとして使用してはいけない、と言っているのではありません(回避するのは非常に簡単ですが)、そうすることとリスクを知りたいときは注意する必要があると言っています。

絶対に最善の方法は、制限されたファイルのコピーを作成し、編集し、完了したことが確実に確認できたらコピーして戻すことです。

また、ユーザーがアクセス許可を持たないファイルを編集する場合は、ファイルを保存するたびにアクセス許可を要求するTalha Junaidの回答をお勧めします。この回答を書いたとき、ルートアクセスのプロンプトは存在しませんでした。


4
VScodeをルートとして実行することが推奨されないのはなぜですか?たとえば、ホストで何かを変更するにはどうすればよいですか?ルート権限は必要ないでしょうか?
両性イオン

1
ありがとう
RLaaa

1
はい、可能です。別のターミナルを開きます。
ルーカスDAW

3
@MarcoDufal絶対にありません。これは恐ろしいアイデアです。特に、OSファイルを操作するときは、絶対に777にアクセス許可を設定しないでください。つまり、誰が/何を開始したか、何を許可されているかに関係なく、システム上のすべてのファイルとフォルダーのセットを変更するアクセス許可があります。せいぜい755に近いパーミッションでファイルを編集できるように、ファイルを「所有」する必要があります。
沢田

3
@zawataあなたは完全に正しいです!初心者を許してください。ヘッドアップをありがとう!
マルコデュファル

14

単一のファイルに変更を加えたい場合に備えて、次の方法をお勧めします。

  • 通常のユーザーとしてvs-codeを実行します。
  • ファイルを変更する
  • File -> Save または押す Ctrl + S
  • vs-codeは、右下隅にエラーをポップアップ表示します

    「grub」の保存に失敗しました:権限が不十分です。「管理者として再試行」を選択して、管理者として再試行します

    ここに画像の説明を入力してください

  • をクリックしRetry as Adminます。管理者の資格情報を要求します

    ここに画像の説明を入力してください

  • 資格情報を入力し、vs-codeでファイルを保存してください。


1
すべてのファイルに対して毎回これを行うことなく、これを行う方法はありますか?何百ものファイルを変更する必要があり、VS Codeはパスワードを要求し続けます。私はラップトップを壁に投げる準備ができています。
ジョシュアケメラー

その後、上記の受け入れられた回答に従うことができます。askubuntu.com/a/820205/367228
タルハガムJunaid

4

htmlフォルダーに許可を与える必要があります。

端末で試してください。

sudo chmod -R 777 /var/www/html/

既存のプロジェクトファイルとフォルダの権限を確認してください。


9
これはこれまでで最も馬鹿げたアドバイスです。システムを変更または破壊するために悪意のあるプロセスを停止するための制限された権限があります。制限されたファイルのコピーを作成し、完了したらそれらを所定の場所にコピーします。または、さらに良いことに、インストールスクリプトを作成します。また、ディレクトリとファイルを所有するグループにユーザーを追加することもできます。
ソレン

プロジェクトフォルダーにcdしてsudo chmod -R 777 <project_dir_name>を実行し、完了
lilhamad

1
プロジェクトフォルダーにcdし、sudo chmod -R 777 <project_dir_name>を実行して完了
lilhamad
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.