UNIXのrootアカウントとWindowsのローカル管理者の概念的な違いを理解しようとしています。私は開発者であり、IT部門の努力にもかかわらず、ローカルPCに必要なものをインストールできるように、常にローカル管理者権限が与えられていました。
しかし、何らかの理由で(そしてそれは良いものになるはずだと思います)私はLinuxシステムの単なるユーザーです。そのため、Sudoのことは不可能です。リポジトリなどからソフトウェアをインストールするため。
これは、root権限がWindowsのローカル管理者権限よりもはるかに多くの権限を付与するためだと思います。そうですか?
また、UNIXでは、ソフトウェアをインストールするための特定のユーザー権限を付与することもできます。 apt-getまたはyumを使用していますか?
Windowsの管理についてはよくわかりませんが、WindowsのadminとLinuxのrootの間に大きな違いはないと思います。 (私は何かを誤解しているかもしれませんが、あなたの質問から、あなたの会社の誰もがWindowsの通常のPCまたは ファットクライアント 、およびLinux シンクライアント または単純なユーザーSSHアクセスを持っていると推測します)
ユーザーが自分のPCを管理できるようにする一方で、シンクライアントにルートアクセスを許可しないのが通常の方法です(全社的なルートアクセスであるため)。
ルートアクセスが必要なため、パッケージマネージャー(apt-get/yum/...)を使用してソフトウェアをインストールすることはできません。必要なパッケージをインストールするようにシスオペに要求するか、それらをインストールすることができます ローカルで ホームディレクトリ(書き込みアクセス権があるため、root
は必要ありません)。
ホームディレクトリにインストールするには、次の手順を使用できます( Screenfetch を使用した実際の例を使用し、ニーズに合わせて調整します):
mkdir ~/local
cd ~/local
wget http://git.silverirc.com/cgit.cgi/screenfetch.git/snapshot/screenfetch-3.2.0.tar.gz
tar -zxf screenfetch-3.2.0.tar.gz
chmod +x screenfetch-3.2.0/screenfetch-dev
~/.bashrc
ファイルに次の行を追加します。alias screenfetch='~/local/screenfetch-3.2.0/screenfetch-dev'
これは、root権限がWindowsのローカル管理者権限よりもはるかに多くの権限を付与するためだと思います。そうですか?
そうではありません(少なくとも原則としては)、しかし1つの大きな違いは、ユーザー(アカウント)の識別方法にあります。Windowsのローカル管理者アカウントは他のアカウントとは異なる独自のSID(セキュリティ識別子)を持っているため、他のローカル管理者アカウント(同じコンピューターまたは別のコンピューター)と簡単に区別できます。 、while すべてのルートアカウントは同じ数値のユーザーIDを共有します したがって、簡単に区別することはできません。
設定によっては、これはユーザーに「ローカル」ルートアクセスを与えるための大きな障害になる可能性があります。私が頭から考えることができる潜在的に深刻な問題の1つは、NFSユーザーIDです。
また、UNIXでは、ソフトウェアをインストールするための特定のユーザー権限を付与することもできます。 apt-getまたはyumを使用していますか?
Sudo
を設定してそのようなことを許可することもできますが、それはおそらくギャップのあるセキュリティホールでしょう。 Sudo構成を修正するパッケージを作成してインストールしたり、setuidルートシェルをインストールしたりする場合はどうなりますか?突然、想定される「制限された」ルートアクセスにより、ユーザーにシステムへの完全なルートアクセスが許可されました。特定の構成ファイルを編集するためのSudoエディターのような「ありふれた」ものでさえ、同様の深刻なセキュリティの脆弱性を導入しないように注意深く実装する必要があります。