問題タブ [root]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
8 に答える
5759 参照

python - 現在のプロセスをsudoするにはどうすればよいですか?

sudoフロントエンド(gksudoなど)を使用して、現在のプロセスの特権を昇格させることは可能ですか?私は次のことができることを知っています:

しかし、私はこれを行うことに興味があります:

私はPythonで書いています。私のユースケースは、ユーザーとして実行されるプログラムがありますが、rootが所有する読み取り/書き込み用のファイルに遭遇する可能性があることです。パスワードの入力を求め、root権限を取得し、必要なことを実行してから、オプションで権限を再度削除したいと思います。

管理ロジックと非管理ロジックを別々のプロセスに分離し、管理プロセスをrootとして実行するだけでよいことはわかっています(ある程度の通信があれば、policykit / dbusがここに適しています)。しかし、私はもっと単純な(確かにもっと危険な)解決策を望んでいました。

Solarisのpprivをsudoで実行してから、現在のプロセスの特権を変更するようなものを考えています。これは、ハッキーですが実行可能な往復のようです。しかし、私が知る限り、Linuxはpprivを提供していません。

(これがまだ明らかではないことに驚いています。これは珍しいことではないようであり、新しいプロセスのエスカレーションよりも進行中のエスカレーションを可能にするセキュリティホールではないようです。)

0 投票する
4 に答える
42989 参照

ruby-on-rails - ルートURLをRailsアプリケーションの別の場所にリダイレクトします

私はこのようなルートを持っています:

www.example.comと入力すると、www.example.com / en/prepaymentsにリダイレクトされます。

上記の例から使用したときmap.rootは、www.example.comにとどまり、正しいビューをレンダリングしました(ただし、表示されなかったため、正常:localeに機能しました)。後でルートに追加:localeしました。この時点から、ビュー(何らかのフォームを使用)は追加されません。正しく動作しません。フォームに対応するルートが見つからないというエラーが表示されます。これは、を渡さなかったため:localeです。

では、rootを別のページにリダイレクトする方法は?おそらく正しいパスを生成し、それをhttp302に渡す必要があります。または/そして次のようなものを作成する方法:

編集:私のレーキルートは次のようになります:

編集:

ギャレットが提案した方法でやってみたところ、うまくいきました。ルートを変更しました:

コントローラにウェルカムメソッドを追加しました。

そしてそれは私が望むように動作します(それでそれは私のブラウザのURLを変更します)。

もう1つの方法は、次のようにルートを変更することです。

それも機能しますが、リダイレクトされません(ブラウザのURLは変更されません)。のようなオプションがあるかどうかはわかりませんmap.redirect。wwwの例で見つけましたが、そのような機能を追加するプラグインも見つけました。

手伝ってくれてありがとう!

0 投票する
5 に答える
49227 参照

android - ルートなしでのアプリケーション データベースへの Android ADB アクセス

電話のルート権限なしで、ADBを使用してアプリからデータベースをプルおよびプッシュすることは可能ですか?

たとえば、根ざした魔法と夢の場所は次のとおりです。

rootなしでADBを使用できることは知っていますが、シェルを使用しようとすると、root権限がないとその場所を表示できません。しかし、必要なファイルがわかっている場合は、プッシュとプルを使用できると言われましたか?

基本的に、ルート化されていない電話のMYアプリからデータベースを取得し、それを変更して元に戻したいと思います。

私が持っている唯一の問題は、私が持っている 2 つの電話は両方ともルートであり、非ルートの電話にアクセスして試してみることができないことです。

0 投票する
2 に答える
1042 参照

java - 大きな根の計算: bigdecimal / Java

標準の反復アルゴリズムを使用して n 乗根を計算しようとしました。

たとえば、(111^123)^(1/123) です。

標準アルゴリズムは、基数の高べき乗(この場合は 111^123)を計算しますが、これには多くの時間がかかります。アルゴリズムはここにありますhttp://en.wikipedia.org/wiki/Nth_root_algorithm

しかし、double を使用した同じ処理に 1 ミリ秒もかからないことに気付きました。明らかに、彼らはいくつかの賢いアイデアを使用しています。これに関するヒントはありますか?

0 投票する
3 に答える
839 参照

php - PHPでルートからインクルードする方法

SaaS の原則に基づいて CMS を構築しています。Web サーバー (動的専用) を稼働させています。すべてが期待どおりに進んでいますが、今では自分のテンプレート システムに出くわし、後でファイル処理などの単純なことに出くわしました。論理的には、各クライアントには独自のホスティング アカウントがあります。すべてのホスティング アカウントは、同じサーバーにある大規模なグローバル アカウントでホストされているマスター データベースに要求します。

後で処理する必要があるのは、ファイル処理などの単純なものです。通常、各クライアントは自分のデータを自分のホスティング アカウントに保存します。ページデータとその他のデータ (製品カタログ、調査など) のみがデータベースでホストされます。

しかし、中央でホストされているシステムからファイルをアップロードする前に、指定されたホスティング アカウントにアクセスする方法を理解する必要があります。必要なすべてのデータをセッション変数に保存しました。これは、クライアントが作業する Web サイトを選択したときに入力されます (システムが複数のサイトをサポートしているため)。

私のサーバーのURL構造は次のようなものです: /home/[unix-user-name]/domains/[domain-name]/public_html/paths/to/the/folders/i/set/up/

URL の 2 番目の部分はホスティング アカウント名で、4 番目の部分はクライアントからのドメインです。繰り返しますが、この情報はセッション変数にあり、すぐにアクセスできます。

私の唯一の問題は、クライアントがシステムにログオンしているときに、ベース URL の一部がすでに次のように入力されていることです。

/home/ontdek01/domains/ontdek5.nl/public_html/

私の質問は、この場合、PHP にルートからファイルの検索を開始させるにはどうすればよいhomeですか?

0 投票する
1 に答える
203 参照

java - Java プログラムを安全に保つ

Bluecoveライブラリを使用する Java プロジェクトがあります。このライブラリには、プロジェクトで必要な特定のアクションを実行するためのルート権限が必要です。プロジェクトは Java ベースですが、Linux 専用であることに注意してください。

プロジェクトには、root 権限を必要としない多くの機能があり、そのうちのいくつかは root 権限機能と対話する必要があり、いくつかはそうではありません。

さらに、プロジェクトはroot 権限でユーザーが入力したデータを使用してhciconfigなどのプログラムを実行します。

このすべてのルート アクティビティにより、システムのセキュリティが心配になりました。ターゲットマシンはユーザー自身のコンピューターであり、このシステムを公共の端末で実行するつもりはありませんが、未知の外部 Bluetooth デバイスがこのシステムと対話できるため、セキュリティは依然として重要です。

これまでのところ、私のセキュリティ対策には、ユーザー入力を大幅にフィルタリングし、外部の Bluetooth デバイスがシステムに実行させるすべてのアクションに細心の注意を払うことが含まれていましたが、これにはますます不満が募っています。

人々は何を勧めますか?1 つ考えられるのは、システムを 2 つまたは 3 つのモジュールに分割することです。1 つには GUI と非ルート バックエンドが含まれ、もう 1 つには Bluecove ルート バックエンドと、場合によっては hciconfig のルート ラッパーと使用されるその他のツールが含まれます。

Apache などの一部のプログラムが、一度実行すると特権を「ドロップダウン」することに気付きました。これはどのように達成され、効果的ですか?

0 投票する
2 に答える
5687 参照

apache - .htcaccess はルート (「/」) のみをサブフォルダーにリダイレクトします

私はこのように配置されたサイトを持っています:

/約

/css/

/index/index.php

/js/

/index.php

index.php は index/index.php への PHP リダイレクトを使用します

ルートにアクセスしたときに /index/index.php が表示されますが、 /about などは同じままになるように、.htaccess 書き換えルールを作成したいと考えています。

0 投票する
2 に答える
543 参照

java - ルート化された Droid での AsyncTask の問題

DigiClock ウィジェットと呼ばれる Android マーケットのウィジェットを持っています。最後の更新後、ルート化された Motorola Droid で非常にまれでランダムな問題が発生しています (問題のある他のハンドセットがあるかもしれませんが、唯一の応答は私です。ルート化されたドロイドユーザーからのものでした)。この問題は、ProgressDialog (水平スタイル) を表示しながら、インストールされているすべてのアプリケーションをデバイスから取得する AsyncTask を実行するアクティビティが起動されたときに発生します。該当する Java コード ファイルは次の場所にあります。

http://code.google.com/p/android-digiclockwidget/source/browse/trunk/src/com/davidgoemans/simpleClockWidget/LauncherChooser.java

動作中のバージョンと動作していないバージョンの間で行われた変更を比較したい場合は、次の場所にあります。

http://code.google.com/p/android-digiclockwidget/source/diff?spec=svn10&old=7&r=9&format=side&path=/trunk/src/com/davidgoemans/simpleClockWidget/LauncherChooser.java

ドロイドで何が起こっているように見えるか: * 進行状況ボックスがポップアップする * 実行が完了する前に進行状況ボックスが閉じる * 空のリストが表示される

アプリケーションをフェッチする AsyncTask が殺されているようです。これは可能ですか?

ありがとう、デビッド

編集

問題が見つかりました.Android 2.0(2.1または1.6ではありません)であることが判明しました

パッケージの一覧表示 = getPackageManager().getInstalledPackages(PackageManager.GET_ACTIVITIES);

私の状況ではクラッシュしますが、

パッケージの一覧表示 = getPackageManager().getInstalledPackages(0);

しません。

0 投票する
1 に答える
244 参照

php - PHP: root として readdir() を実行する方法

ファイルサーバー用の軽量フロントエンドを作成しようとしています。全てのファイルを表示するためにPHPを使用していますが、httpユーザーでApacheを起動しているため、readdir()はhttpユーザーで実行されます。

すべてのファイルを表示したいので、これは問題です。したがって、readdir() は root として実行する必要がありますが、その方法がわかりません。皆さん、私を助けてくれますか?

0 投票する
4 に答える
10043 参照

c - ルートからsetuid()を使用してユーザーになり、後で再びルートになる可能性がある方法は?

私は安全なことをしようとしています、そしてそれがそれらを必要としないときにその特権を落とすためにrootとして実行する必要があるプログラムを持っています。chmodこれは、SUIDビットを使用してバイナリをrootに属する場合にうまく機能します。これは、UID =一部のユーザー、EUID = rootであるため、とを使用seteuid(0)seteuid(getuid())て管理者権限をそれぞれ上げたり下げたりできます。

しかしsudo、SUIDを設定する代わりにを使用すると、UID == EUID == 0になるため、呼び出しseteuid(getuid())ても効果はありません。UIDまた、ランダムなユーザーから値を変更することはできません。mansetuid()ページには、rootとして実行されているプログラムから呼び出された場合、特権が永久に失われ、元に戻される見込みがないことが明記されています。

では、を使用して実行すると、プログラムの特権が一時的に失われるようにするにはどうすればよいsudoですか?