web-dev-qa-db-ja.com

「NTAUTHORITY \ SYSTEM」として実行すると、スケジュールされたタスクに最適ですか?

ソフトウェアのバックアップ/自動更新プロセスがあり、通常、タスクスケジューラで実行するための新しいユーザーを作成します(ほとんどのユーザーはパスワードを持っておらず、タスクスケジューラはパスワードを必要としますが、理由はわかりません)。

次に、google chromeが、「NT AUTHORITY\SYSTEM」として実行する自動更新タスクをインストールすることを確認しました。テストしましたが、プログラムでもうまく機能します。もっときれいな、

私が見ていないここにいくつかの隠れた欠点がありますか?

ありがとう!

私の推薦

単一のマシンの場合、最も簡単な方法は、Builtin Backup Operatorsグループの下にアカウントをcreateすることです。

[〜#〜] system [〜#〜]でプログラムを実行するときに最初に頭に浮かぶ2つの大きな欠点があります。

セキュリティ

ほとんどの場合、管理者がスケジュールされたプロセスに対して個別のアカウントを作成する最大の理由は、それらを監視し、通常は実行中のアプリケーションには許可されないアクセスを許可することです。この場合、すべてのファイルへの読み取りアクセスとバックアップストレージの場所への書き込みアクセスが必要であり、後者の方がより厳密なアクセスを持つ傾向があります。

[〜#〜] system [〜#〜]として実行されるプログラムに与えることは、多かれ少なかれ管理者として実行することになるため、必要以上の特権を付与します。このため、組み込みのBackupOperatorsグループがあります。

UAC

SYSTEMアカウントは、ユーザーによってスーパーユーザーまたはrootアカウントと間違われることがあります。どちらでもありません。これは、Windowsによって内部的に使用されます。プログラムで指定されていない限り、プログラムで使用することを意図したものではありません。とはいえ、[〜#〜] system [〜#〜]アカウント用に設計されていないプログラムを実行すると、発生する未知のバグがあります。 1つは、ユーザーパスワードがないことに注意してください。また、リモートで認証しようとした場合、実際にはユーザーアカウントでもありません。


ちなみに、UACは、SYSTEMコンテキストで実行されるプログラムでも大混乱を引き起こします。ひどく書かれたプログラムが、ユーザーに「管理者として実行する」ように求めるダイアログを表示するのを見たことがあります。図に行きます。

また、MSDNブログの投稿で、作成者がクライアントのマシンでSQLServerのデバッグに1日を費やしたことがわかりません。フレッシュインストール。 。 。またはそう彼らは思った。結局のところ、OS自体の特定のコンポーネントは、moreのアクセス許可と特権を持っていると偽って、NT AUTHORITY\NETWORKSERVICEからSYSTEMに切り替えられました。他のどのアカウントよりも。むしろ、それはただ異なるものを持っています。

7
surfasb