2017-09-01 11 views
0

私のUbuntuマシンには2人のユーザ(rootおよびBikram)scala-develフォルダのパーミッションユーザがrootユーザでなく、tmpフォルダのアクセスが制限されている場合に問題が発生する - java.io.IOException:パーミッションが拒否された

**drwxr-xr-x 1 root root tmp** 

今、私は、コンソールでビクラムユーザとhelloworld.scalaConsole.println("Hello, world!"))プログラムを実行しようとしてい

$scala helloworld.scala 

しかし、それは私が再び実行された例外

java.io.IOException: Permission denied 
    at java.io.UnixFileSystem.createFileExclusively(Native Method) 
    at java.io.File.createTempFile(File.java:2024) 
    at scala.reflect.io.File$.makeTemp(File.scala:29) 
    at scala.reflect.io.Directory$.makeTemp(Directory.scala:27) 
    at scala.tools.nsc.ScriptRunner.compile$1(ScriptRunner.scala:93) 
    at scala.tools.nsc.ScriptRunner.$anonfun$withCompiledScript$2(ScriptRunner.scala:156) 
    at scala.tools.nsc.ScriptRunner.runScript(ScriptRunner.scala:124) 
    at scala.tools.nsc.ScriptRunner.runScriptAndCatch(ScriptRunner.scala:200) 
    at scala.tools.nsc.MainGenericRunner.runTarget$1(MainGenericRunner.scala:63) 
    at scala.tools.nsc.MainGenericRunner.run$1(MainGenericRunner.scala:88) 
    at scala.tools.nsc.MainGenericRunner.process(MainGenericRunner.scala:99) 
    at scala.tools.nsc.MainGenericRunner$.main(MainGenericRunner.scala:104) 
    at scala.tools.nsc.MainGenericRunner.main(MainGenericRunner.scala) 

同じプログラム以下スローしましたrootユーザーであればtmpフォルダ内でscala-develrootが作成されます。

この問題をどのように処理するのですか?私はユーザーとしてrootを使用したくないし、またtmpフォルダのアクセス権を変更することはできません。ディレクトリを指定する方法はありますかscala-develroot

Note : 
[email protected]:/tmp# scala -version 
Scala code runner version 2.12.2 -- Copyright 2002-2017, LAMP/EPFL and Lightbend, Inc. 

ありがとうございます。

答えて

0

あなただけルートがアクセス権を持つを/ tmpディレクトリ内滞在scala helloworld.scalaを実行している必要があります。問題の解決方法は、helloworld.scalaを、ユーザBikramにアクセスできる他のディレクトリにコピーすることです。そのディレクトリにあるコマンドを実行します。 scala実行可能ファイルは、あなたがへのアクセスをsudoの(ルート)を与えることができますビクラムまた

ユーザーに設定する必要があり、ユーザビクラムSCALA_HOME変数の環境変数として存在しなければならない

に留意されたいです。ユーザービクラムを行うことによってsudo usermod -a -G sudo Bikram

関連する問題