タグ付けされた質問 「executable」

ファイルをプログラムとして実行できるようにするファイルモードの許可ビット。また、プログラムファイルの形式、およびプログラムファイルの検索と実行に関する質問もありました。

3
バイナリをどこに配置して、常にパス内にあり、簡単に見つけられるようにする
自分で簡単にインストールしたいバイナリやスクリプトなどをいくつか作成しています(自分のrpmを使用)。誰でもアクセスできるようにしたいので、私の直感は、それらを/ usr / binに置くことです。 PATHを変更する必要はありません しかしながら; 私の実行ファイルは他のすべてのプールから消えます。そこに置いたすべての実行可能ファイルを簡単な方法で見つけるにはどうすればよいですか。私は考えていました: / usr / bin内のサブディレクトリ(これができないことはわかっています。自分の考えを説明するためだけです) 別のディレクトリ(/ opt / myself / bin)と各実行可能ファイルを/ usr / binにリンク(多くの作業) 別のディレクトリ(/ opt / myself / bin)と/ usr / binへのディレクトリのリンク(これは可能ですか?) これを行うための「Linuxに最も準拠した最良の方法」は何でしょうか? 編集:私たちは会社でこれについて議論し、この次善のオプションを思いつきました:/ usr / bin / companyにバイナリを置き、/ usr / binからのシンボリックリンクを付けます。私はこのソリューションに興奮していません(ディスカッションが進行中)

2
なぜそんなに多くのプログラムがPATHに住んでいるのですか?
少なくとも、デスクトップLinuxについて私を困惑させる1つのことは、ほぼすべてが私のPATHにあるということです。何よりも、私はgnome-character-mapやglchessなどのすべてのデスクトップアプリケーションを意味します。これらには、話すコマンドラインインターフェースがないため、ターミナルから定期的にこれらを起動する場合は考えられません-まれなケースでは、完全なタイプを入力する必要があることによって不便になることは想像できませんパス。乱雑に見えるかもしれませんが、それには理由があるのか​​もしれません。 それでは、なぜないこれが起こるの?パフォーマンスまたは保守性に注目すべき影響はありますか?

4
「sudo」はどのユーザーのパスワードを要求しますか?
$ ls -l /usr/bin/sudo -rwsr-xr-x 1 root root 136808 Jul 4 2017 /usr/bin/sudo そのためsudo、すべてのユーザーが実行でき、実行するすべてのユーザーはsudo、set-user-idビット/usr/bin/sudoが設定されているため、プロセスの実効ユーザーIDとしてrootを持ちます。 https://unix.stackexchange.com/a/11287/674から sudoとsuの最も明白な違いは、sudoはユーザーのパスワードを必要とし、suはrootのパスワードを必要とすることです。 どのユーザーのパスワードがsudo要求しますか?プロセスの実際のユーザーIDで表されるユーザーですか? はいの場合、実行sudoしてから自分のパスワードを入力することで、どのユーザーもスーパーユーザー権限を取得できますか?Linuxは一部のユーザーに対してそれを制限できますか? それはそれが正しいsudoパスワードを要求した後に execve()実行を開始するmain()の/usr/bin/sudo? プロセスのeuidがrootに変更されたため(/ usr / bin / sudoのset-user-idビットが設定されているため)、後でsudoがパスワードを要求するポイントは何ですか? ありがとう。 https://unix.stackexchange.com/a/80350/674を読みましたが、上記の質問には答えません。

2
setuidが実行可能ファイルで機能しないのはなぜですか?
スクリプトでsetuidを有効にするとセキュリティの問題が発生するため、デフォルトでは無効になっていますが、実行可能ファイルで機能することを期待しています。この投稿で説明されている手順に従って、出力としてuidを示す実行可能ファイルを作成しました。シェルスクリプトでsetuidを許可します しかし、実行前と実行後の両方で同じuid(1000)を返しますsudo chmod +s ./setuid-test。これは、setuidが実行可能ファイルに影響を与えないことを意味すると思います。なぜ、どのように解決するのですか? ソースコード: #include <stdio.h> #include <unistd.h> int main(int argc, char** argv) { printf("%d", geteuid()); return 0; } 構築して実行 $ gcc -o setuid-test setuid-test.c $ ./setuid-test 1000 $ sudo chown nobody ./setuid-test; sudo chmod +s ./setuid-test $ ./setuid-test 1000 実行するとls -la、これは私が得るものです: me@me:~$ ls -la setuid-test -rwsrwsr-x 1 …

1
node-devを使用してnpmの開始が許可されないのはなぜですか?
権限の低いユーザーでnode.jsアプリケーションを起動しようとしています。私が知っているすべてのファイルは正しいユーザーが所有しており、適切に設定されたアクセス許可を持っています。これを行うためにスクリプトファイルを使用しようとしています。このコマンドでスクリプトを呼び出します sudo su - nodejs ./start-apps.sh シェルスクリプトはこのコマンドを実行してアプリを起動します cd "/home/nodejs/my-app" npm start npm startされ、ここで文書化。基本的には、使用するコマンドをpackage.jsonファイルから取得します。このファイルは、アプリでは次のようになります。 // snip "scripts": { "start": "node-dev app" }, そして、それはエラーを吐き出します: > my-app@0.1.0-build.100 start /home/nodejs/my-app > node-dev app sh: 1: node-dev: Permission denied npm ERR! spicoli-authorization@0.1.0-build.100 start: `node-dev app` npm ERR! Exit status 126 それshはシェルコマンドからのエラーを報告していると言っているようです。問題がnpmコマンド自体にアクセスしているのではないと思います。アクセスした場合、npmコマンドからの出力の前に拒否された権限が発生します。ただし、除外するために、npmコマンド自体の権限を以下に示します。 $ sudo find / …

1
1人のユーザー専用のupdate-alternatives
共有サーバーを使用しています。そのサーバーには、さまざまなバージョンのJavaがインストールされています。 Selection Path Priority Status ------------------------------------------------------------ 0 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 auto mode * 1 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 manual mode 2 /usr/lib/jvm/java-6-sun/jre/bin/java 63 manual mode 2番目のオプションを選択したいのですが、それを行おうとすると、権限がない(rootではない)と文句が表示されます。 「ユーザー空間」でそれを行う方法はありますか? rootユーザーがこの設定を自分だけに機能させることはできますか?


2
スクリプト内からスクリプトファイルを削除しても安全ですか?
スクリプトがあると想像してみてくださいfoo。これは、ユーザーがログインしたときに1回実行する必要があり、正常に実行された後は必要ありません。 私の質問:スクリプト内からスクリプトファイルを削除しても安全ですか? 例えば: #!/bin/bash # do something ... # if successful rm /path/to/foo exit 0

1
ELF実行可能ファイルからセクションヘッダーを削除しないのはなぜですか?
最小のELF実行可能ファイルが機能するには、ELFヘッダーと少なくとも1つのプログラムヘッダーのみが必要です。ただし、短い実行可能ファイルでストリップを実行すると、セクションヘッダーテーブルまたはセクション文字列セクションを破棄せずに、プログラムの実行に(私の知る限り)目的はありませんが、それらを保持します。 これらがストリップで削除されない理由はありますか?実行可能ファイルを実行するために必要でないすべてのものを削除する別のユーティリティはありますか?セクションヘッダーを削除するために作成していたコードゴルフ実行可能ファイルを手動で編集してみましたが、正常に機能し、はるかに小さく見えます。
9 executable  elf  strip 

1
「ワイン:Z:\ m \ Desktop \ PortForward Network Utilities.desktopの不良EXE形式」とはどういう意味ですか?
Windows exe、特にPortForward Network Utilitiesバンドルを実行するためにwineをDebianにインストールしました:http ://portforward.com/help/setup_static_ip_address.htm )。 入力: wine '/m/PortForward Network Utilities.desktop' 出力: wine: Bad EXE format for Z:\m\Desktop\PortForward Network Utilities.desktop. 「Debian / Wine Multiarchの指示」に従って、apt-getでWineをインストールしました。Wineは32ビットですが、PFネットワークユーティリティバンドルが何であるかはわかりません(プロパティには記載されていません)。 ここからどこに行くべきかわからない。

1
bashはどのようにELFファイルを実行しますか?
Linux Boxにいるときは、bashをシェルとして使用します。今、私はbashがELFファイルの実行をどのように処理するかを疑問に思いました。私はbash-4.3.tar.gzをgrepしました。ファイルがELFであるかどうかを確認するためのマジック番号パーサーのようなものも、exec()システムコールも見つかりませんでした。 プロセスはどのように機能しますか?ELFの実行をbashがOSに渡す方法を教えてください。
8 bash  kernel  executable  exec  elf 

2
Bashスクリプトのアクセス許可が拒否されました&悪い通訳
私はkali linux 64ビットを使用しています。 2つの引数を使用して開始するPythonスクリプトを作成しました。まったく同じパスを入力するたびに入力したり、ターミナルで使用したコマンドの履歴を検索したりしたくありません。そこで、引数を指定してPythonスクリプトを呼び出す簡単なスクリプトを作成することにしました。 #! /bin bash python CreateDB.py ./WtfPath ./NoWtfPath/NewSystem/ これは、ターミナルで使用するコマンドとまったく同じです。しかし、スクリプトファイルを実行しようとすると、エラーメッセージが表示されます。 bash: ./wtf.sh: /bin: bad interpreter: Permission denied wtf.shには実行権限があります。 なにが問題ですか?

4
Raspberry Piでクロスコンパイルされたプログラムを実行すると、「そのようなファイルやディレクトリはありません」
最近Raspberry Piを購入しました。私はすでにそれを構成しており、自分のデスクトップ(amd64)にarm用のクロスコンパイラーをインストールしています。単純な「hello world」プログラムをコンパイルしてから、それをデスクトップからPiにでコピーしましたscp ./hello david@192.168.1.33:~/hello。私のPiにログインした後、実行するls -l helloと通常の応答が返されます。 -rwxr-xr-x 1 david david 6774 Nov 16 18:08 hello しかし、それを実行しようとすると、次のようになります。 david@raspberry-pi:~$ ./hello -bash: ./hello: No such file or directory david@raspberry-pi:~$ file hello hello: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, BuildID[sha1]=0x6a926b4968b3e1a2118eeb6e656db3d21c73cf10, not stripped david@raspberry-pi:~$ …

1
$ PATHと実行可能ファイルの問題
生成したディレクトリにUNIX実行可能ファイルがあります。$PATHUNIX実行可能ファイルが実行可能になるように、このディレクトリを取得する必要があると思いますが、ソースコードのドキュメントには、シェル構成ファイルを編集$home/meme/binしてシェルのパスに追加する必要があると記載されています。

1
デスクトップエントリから結合されたhexoコマンドを実行する
Debian 9.5にはxfceとhexoが含まれています:3.7.1 問題は、「ドラフト」と呼ばれる私のスクリプトを調整することです。 s@lokal:~$ sudo cat /usr/local/bin/draft #!/bin/bash killall hexo cd /home/s/Dropbox/blog hexo clean pwd whoami hexo g --draft hexo server --draft & sleep 5 firefox 'http://localhost:4000/' s@lokal:~$ 私が理解しようとしているのは、デスクトップエントリからhexo複合コマンドを実行することです。デスクトップファイルはこちら s@lokal:~$ cat ~/Desktop/blog.desktop; ls -l ~/Desktop/blog.desktop [Desktop Entry] Version=1.0 Type=Application Name=blog Comment= Exec=/usr/local/bin/draft Icon=accessories-text-editor Path=/home/s/Dropbox/blog/ Terminal=true StartupNotify=true -rwxr-xr-x 1 s s …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.