etcd 実行可能ファイルに対する root 権限が拒否されました。

etcd 実行可能ファイルに対する root 権限が拒否されました。

Debian コンピュータに etcd をインストールしようとしています。

root@s1:/tmp/test-etcd# uname -a
Linux s1 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u2 (2016-10-19) x86_64 GNU/Linux
root@s1:/tmp/test-etcd# uname -m
x86_64

root@s1:/tmp/test-etcd# lshw -class cpu
  *-cpu                   
       product: Intel(R) Xeon(R) CPU           X3430  @ 2.40GHz
       vendor: Intel Corp.
       physical id: 1
       bus info: cpu@0
       width: 64 bits
       capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp x86-64 constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm ida dtherm tpr_shadow vnmi flexpriority ept vpid

私はgithub repoの標準的な手順に従いました。

ETCD_VER=v3.0.14
DOWNLOAD_URL=https://github.com/coreos/etcd/releases/download
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
mkdir -p /tmp/test-etcd && tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/test-etcd --strip-components=1

/tmp/test-etcd/etcd --version

ただし、etcd --version コマンドを実行すると、権限拒否エラーが発生します。

root@s1:/tmp/test-etcd# ./etcd --version
-bash: ./etcd: Permission denied
root@s1:/tmp/test-etcd# ls -l
total 37776
drwxrwxr-x 11 1000 1000     4096 Nov  4 20:52 Documentation
-rw-rw-r--  1 1000 1000    29472 Nov  4 20:52 README-etcdctl.md
-rw-rw-r--  1 1000 1000     5628 Nov  4 20:52 README.md
-rw-rw-r--  1 1000 1000     7935 Nov  4 20:52 READMEv2-etcdctl.md
-rwxrwxr-x  1 1000 1000 20181952 Nov  4 20:52 etcd
-rwxrwxr-x  1 1000 1000 18444064 Nov  4 20:52 etcdctl
root@s1:/tmp/test-etcd# file etcd
etcd: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, stripped

同じオペレーティングシステムと非常によく似たハードウェアを使用する他の2台のコンピュータでも、同じプロセスが機能します。

bashは他のシステムとは異なり、「タブ」を介して名前を自動補完しないため、実行可能ファイルとして認識されないことがわかりますが、実際に問題が何であるかはわかりません。

どんな提案がありますか?私は根を抜こうとします。 noexecを使ってファイルシステムがマウントされていることを確認しました。

回避策:明らかにmount出力を無視し、/tmp型ext4で/dev/mapper/vg00-tmp(rw、nosuid、nodev、noexec、relatime、data = ordered)行を見ることができませんでした。

実行可能ファイルを別のディレクトリに移動すると問題が解決しました。

ベストアンサー1

回避策:明らかにmount出力を無視し、その行を表示できませんでした。

/dev/mapper/vg00-tmp on /tmp type ext4 (rw,nosuid,nodev,noexec,relatime,data=ordered)

実行可能ファイルを別のディレクトリに移動すると問題が解決しました。

おすすめ記事