インタビュー中に次の質問を受けました。
user1
権限がなく、アカウントsudo
にアクセスできないユーザーを使用してプログラムを実行(実行)する方法は次のとおりです。root
$ whoami user1 $ ls -l ~/binary_program -rw-r--r-- 1 root root 126160 Jan 17 18:57 /home/user1/binary_program
答え1
Linuxが利用可能動的リンカー/ローダー直接実行ELF実行可能ファイルお客様は次の内容を読みましたが、実行する権限がありません。
$ /lib/ld-linux.so.* /home/user1/binary_program
ELF実行ファイルが正常に実行されると、.interp
プログラムコードセグメントに格納されている動的リンカが使用されます。ダイナミックリンカーを直接呼び出す理由(就職インタビューの外)には、アクションを変更するためにコマンドラインオプションを渡すことが含まれます。
動的リンカーの実際の位置は、環境によって大きく異なる場合があります。たとえば、64ビットUbuntuでは、リンカが/lib64/ld-linux-x86-64.so.2
。
答え2
ライセンスを読んだので:
$ cp ~/binary_program my_binary
$ chmod +x my_binary
$ ./my_binary
もちろん、これが自動的に魔法のようにアップグレード権限を付与するわけではありません。一般ユーザーとしてバイナリを実行し続けます。