4

私は最近、init.d、リルスクリプトマジック、および作成したいくつかの構成スクリプトを使用して、起動時にルートとして実行するように変更したdropbear SSHサーバーを使用して、Androidデバイスでルートアクセスを維持する方法を見つけました。必要に応じて、ここで確認できます...とにかく、実験のために、システムから su バイナリと Superuser.apk を削除しました。それらをシステムにコピーして戻すことはできましたが、su バイナリに適切なアクセス許可を設定する方法がわかりません。別のルート化された電話でスーパーユーザーアプリを見て更新すると-rwsr -sr-x、バイナリのアクセス許可として表示されます。これらの同じアクセス許可を手動で設定するにはどうすればよいですか?また、その意味は何ですか? 特にsの部分。

4

1 に答える 1

4

s の部分はsetuidビットです。ウィキペディア:

setuid と setgid (それぞれ「実行時にユーザー ID を設定する」と「実行時にグループ ID を設定する」の略) は、ユーザーが実行可能ファイルの所有者またはグループのパーミッションでそれぞれ実行可能ファイルを実行し、動作を変更できるようにする Unix アクセス権フラグです。ディレクトリで。

その許可文字列は次のことを意味します。

  • 所有者は読み取り、書き込み、および実行できます
  • ファイルのグループ内のユーザーは読み取りと実行ができます
  • 他のユーザーは読み取りと実行が可能
  • ファイルに setuid が設定されている

を実行して、その特定の権限を設定できますchmod 06755 /system/bin/su。これは 8 進数 (= 「8 のうち」、10 進数は「10 のうち」、16 ​​進数は「16 のうち」) のエンコードです。

  • setuid ビット (4) と setgid ビット (2) = 6
  • 所有者のすべての権限 (7)
  • グループの読み取りと実行 (5)
  • 他の人のために読んで実行する (5)
于 2013-10-25T05:05:42.467 に答える