web-dev-qa-db-ja.com

暗号化されたホームディレクトリでルートsetuidを使用してバイナリを実行するとエラーが発生する

私は、JuniperのSecure Accessプロトコルフォーム here にVPNスクリプトを使用しています。これは、~/.juniper_networks/network_connect/ncsvcの下にあるバイナリを次の権限で実行します。

-rws--s--x 1 root root 1225424 okt.  25 13:54 ncsvc

しかし、そうすると、次のエラーが表示されます。

ncsvc> Failed to setuid to root. Error 1: Operation not permitted

~/.juniper_networksフォルダーの移動/コピー(例: /opt/juniper(同じ所有者のアクセス許可)、エラーは表示されません。 buntuforums のフォーラムスレッドで誰かが指摘したのは、おそらく/homeを暗号化しているため、ecryptfsで「問題」があるからです。

どうすれば修正できますか?

5
carestad

NoCuidマウントオプションは、eCryptfsマウントのセットアップ時に使用されます。これは、セキュリティ上の理由から、権限昇格攻撃を防ぐために行われます。

Ncsvcバイナリをホームディレクトリの外に移動し(/ opt/juniper /で行ったように)、〜/ .juniper_networks/network_connect/ncsvcから新しい場所へのシンボリックリンクを作成できます。

5
tyhicks

暗号化された/ homeパーティションについては、2つの回避策しか考えられません。

  1. Webサイトを介してVPNに接続する場合は、/ rootが暗号化されていない可能性が高いため、Sudo firefoxでfirefoxを起動します。ネットワーク接続の開始後、ブラウザを閉じて、クライアントをバックグラウンドで実行したままにすることができます。

  2. これは前に述べたものからです。基本的に、暗号化されたパーティションの外部でクライアントを実行します。

    rm ~/.juniper_networks
    Sudo mkdir /opt/.juniper_networks
    ln -s /opt/.juniper_networks ~/.juniper_networks
    Sudo chown yourusername:yourgroupname /opt/.juniper_networks
    

上記の開始後、ネットワーク接続のインストールを再度続行します。今回は/opt/.juniper_networksにインストールされます。

1
user210037