Ubuntu 14.04 LTSを使用しています。他のユーザーアカウントで使用できるように、一部のアプリ(たとえばxxx
)を/opt
フォルダにコピーします。それから始めるには、次のようにします。
sudo /opt/xxx_folder/xxx
(もちろんリンク/usr/local/bin
など/usr/bin
で)始めます。
問題:私のアプリケーションの結果/プロジェクトを自分のローカルフォルダ(たとえば/home/myuser/xxx_data
)に保存します。もちろん、フォルダとそのデータはxxx_data
に属しますroot
(には属しませんmyuser
)。だから、毎回別のアプリケーションを使いたいときはいつでも(root
。
質問:rootで起動する必要がないようにxxx
アプリケーションをインストールする方法はありますか?/opt
またはたぶん、この「根本的な問題」を解決する別の方法を見つけることができますか?
答え1
にコピーするだけでも、ディレクトリと実行ファイルがあれば/opt
誰chmod 755
でも実行できます。出力の場合、良いアプローチは、フォルダを特定のグループが所有するようにし、xxx_data
次のようにそのグループを変更できる必要があるユーザーをそのグループに追加することです(rootとして実行)。
groupadd xxx_data
chown root:xxx_data /path/to/folder
chmod 770 xxx_data /path/to/folder
usermod -aG xxx_data <username> #Repeat for each user
chmod 755
また、ホームディレクトリから実行するか、xxx_data
別の場所に移動する必要があります。
権限を更新するには、ログアウトして再度ログインする必要があります。
答え2
apt-get(またはaptitude)を介してインストールされたプログラムは、ほぼ常に/ usrに正しく配置されます。ただし、ソースからコンパイルされインストールされたプログラムは通常/usr/local/bin、/usr/local/libなどに表示され、Debian/Ubuntuのユーザーインストールパスが/usrではなく/usrであるため、問題が発生する可能性があります。 /ローカルの。
ソースからコンパイルするときにこのスイッチを設定に追加します。./configure --prefix=/opt。これにより、インストール時にファイルが正しいディレクトリにあることがわかります。