追加読書

追加読書

centos(そして他の多くのディストリビューションもあると思います)では、すべてのユーザーのviエイリアスはデフォルトでvimです。しかし、何らかの理由でviにはrootユーザーのvimというエイリアスはありません。 sudoを使用するときにviの代わりにvimを入力することを忘れて、当然のようなvim機能がないと、いつも迷惑になります。たとえば、基本構文を強調表示します。

エイリアシングの実行方法とsudo / suを実行するときにエイリアスが存在しない理由をプログラムで理解してください。この動作が望ましい理由があるかどうかを尋ねています。つまり、なぜcentos開発者はルートにエイリアスを追加しないのですか? rootユーザーのvimエイリアスには、通常のユーザーには存在しないセキュリティや機能の問題の種類がありますか?ルートにこのエイリアスがあってはならない歴史的な理由はありますか?

それに加えて、私が維持しているサーバーのrootユーザーに対してvimにデフォルトのviエイリアスを追加すると、どのような年がありますか?これを行うには、より良い方法を使用する必要がありますか(それともどのような方法を使うべきですか?)避けるセキュリティ上の理由で使用されますか? )

答え1

そのような決定はしばしば次の懸念に依存します。メンテナンスが容易そして安全、セキュリティは他の答えで述べた要因ですが。一部のシステム管理者は、スーパーユーザーの対話型環境のための奇妙で文書化されていない個人的なカスタマイズを望んでいません。彼らは仕事が標準的で文書化された方法で実行されることを望みます。その上、彼らは避けたい。再申請新規インストール、システムアップグレードなどのパーソナライズ

の場合、潜在的なvi名前でエイリアスを指定します。vim他のプログラムを読み込む/usr/bin/vim代わりに、CentOSでは/bin/vi前者が存在し、さまざまな機能がコンパイルされたオプションの「拡張VIM」ですが、後者はほとんどオプション機能を有効にしない「マイクロVIM」です。 (Ubuntuにも同様のアイデアがあります。)通常、このviコマンドは標準viコマンドのように機能すると予想しています。特にスーパーユーザーで作業するとき。彼らは驚くべき方法で状況を変えるために改良された魔法やアドオンを望んでいません。彼らはviスーパーユーザーとして重要なタスクを実行する誰かが参照したすべての参照文書がこのような理由でひどく間違っていることを望んでいません。

つまり、要求するのではなく、vi管理者が要求したときに呼び出されます。vivim

つまり、与えられたあなた人々はすでにさまざまなVIMのカスタマイズと拡張を当然と考えていますが、実際にはスーパーユーザーアカウントを当然にする傾向があります。いいえこれらのカスタマイズと拡張があります。彼らはこの仮定をWorld Wide Webのページ、Q&Aへの回答、そして自分が書いた本に統合します。彼らは習慣を形成し、あるシステムから次のシステムに知識を伝え、スーパーユーザーが実行されたら欲しいものを得ますvi。 (時々はい皮肉なことに、VIMismがあります。 LinuxオペレーティングシステムからFreeBSDに切り替えるときに学ぶべきことの1つは、viVIMではなくnviです。 )

また、システム全体の設定ファイルに加えて、/root/.vimrcハードドライブの変更、システムの再インストールなどを覚えておく必要はありません。/root/.gvimrc

このアイデアが実際に適用された別の例は、toorFreeBSDのアカウントです。スーパーユーザーですが、Bourneのようなシェル(実際にはAlmquistシェル)を使用します。アカウントrootにTENEX Cシェルがあります数十年-Cシェルドライバシステムのスーパーユーザーの使用を示すBSD docoの価値はそのままにしてtoorBourneのような相互作用に使用するようアドバイスでした。 Cシェルはとしてログインするときに予想される環境でありroot、FreeBSD管理のためのCシェルマニュアルを持っているスーパーユーザーにBourneのようなシェルを提供すると、楽しく潜在的な災害が発生する可能性があります。

追加読書

答え2

この質問は個人的なコメントを求める質問です。管理者は自分に合った方法でシステムを設定できます。デフォルトが面倒な場合は変更することをお勧めします。

しかし...

rootユーザーは通常のユーザーではないため、rootとしてログインしている間に対話型プロンプトで実行されるすべての操作を慎重に検討することをお勧めします。管理者にrootとしてログインしたことを知らせるために、ほとんどのシェルのrootプロンプトは、デフォルトで特権ユーザーのデフォルトプロンプトとは異なります。非常に長い(ある場合)1

1つの理由viは、別名がないことです。vim 可能共有ライブラリがディスクエラーまたは偶発的な削除のためにAWOLになっている場合は、viとにかく動作する静的実行可能ファイルがある可能性があり(または他のパスのライブラリに関連付けられている)、管理者は次のことができると思います。システムの残りの部分を再起動して実行するには、ファイルを編集します。

一般ユーザーが好む他の「鐘と口笛」にも同じ推論が適用されます。管理者が対話型ルートシェルを実行する必要がある状況では、アドインへの依存関係をまったく使用できない可能性があります。


1ルートプロンプトで作業すると、入力したコマンドの監査証跡はありません。したがって、誰がいつ実行するのかはデフォルトで記録されているため、sudoルート関連のタスクの実行などのツールを使用することをお勧めします。sudoこれは、複数の人が管理者権限を持つシステムと会社のシステムにとって特に重要です。

答え3

この動作が望ましい理由があるかどうかを尋ねています。つまり、なぜcentos開発者はルートにエイリアスを追加しないのですか? rootユーザーのvimエイリアスには、通常のユーザーには存在しないセキュリティや機能の問題の種類がありますか?ルートにこのエイリアスがあってはならない歴史的な理由はありますか?

root-to-user を確認すると、echo $PATHより短いリストが表示されます。基本的に

基本的にセキュリティです心理学一つのために基本すぐに利用可能なLinuxセキュリティステータス...インストールしてすべての設定をしたいユーザーのための製品安全

それに加えて、私が維持しているサーバーのrootユーザーに対してvimにデフォルトのviエイリアスを追加すると、どのような年がありますか?これを行うには、それを実装するために使用するより良い方法がありますか(またはより正確にはセキュリティ上の理由から避けるべき方法はありますか?)

ほとんどの場合、rootアカウントに使用できるエイリアスを追加しても何の害もありません。どこで何をするかを注意深く見てください。これ安全心理学仮説このようなことが起こるかもしれませんね。攻撃ベクトルそしていくつかの方法の一つハッカーシステム。セキュリティの考え方=すべての攻撃方法を最小化または防止するため、エイリアスはありません。

fwiw、私はSLESを使用し、RHELも使用しました。私は、権限のないユーザーにも機能するエイリアスを編集して/etc/bash.bashrc.local追加することを好みます。/etc/csh.cshrc.localこれら2つのファイルの所有者はroot.root権限を持っています-rw-r--r--。ルートの場合/root/.bashrc

エイリアスはデフォルトのセキュリティポリシーをバイパスせず、そうであれば問題はエイリアスにあるのではなく他のものにあることです。

関連情報