私はWindowsに慣れており、Ubuntuで始めたばかりなので、これはおそらく私が理解していないものです。 Linuxのソフトウェアにはパッケージが付属していることがわかりますが、管理者以外のユーザーがソフトウェアをインストールできないのは理解できません。
つまり、すべてのアプリケーションは特定のユーザーによって実行され、そのユーザーは自分の特権でのみそのアプリケーションを実行できるため、管理者権限がない場合、アプリケーションは許可されていないディレクトリなどにもアクセスできません。
私はより安全だと思うので、ほとんどの時間をPCで管理者以外のユーザーと作業したいと思います。ほとんどの場合、管理者特権は必要ありません。 Linuxのウイルスは珍しいことはわかっていますが、重要なファイルに変更を加えられない状態でコンピューターを操作するのがベストプラクティスだと考えています。しかし、プログラミングやWebデザインなどのためにソフトウェアをインストールする必要があります。まず、ユーザーを常に切り替えたくありません。しかし、PCで行われているすべてが管理者以外のユーザーを介して行われることは、私にとってより安全に思えます。
私がここで持っている誤解を知ってうれしいです、ここで何かが正しく聞こえないので。
ほとんどのソフトウェアは、機密ファイルに触れるように設計されています。つまり、個人データのセキュリティやシステムの整合性に敏感です。これが、ソフトウェアのインストールが潜在的なリスクであり、自分が何をしているかを知っているユーザーによって検証される必要がある理由です。オープンソースのソフトウェアであっても、誰かがチェックするまで、新しいオーディオプレーヤーに悪いコードビットが届かないことを確認することはできません。その場合でも、何かが見落とされたり、パッケージが途中で操作されたりする可能性がありました。プログラムの奥深くに隠されているものを誰が知っていますか? 1人のユーザーがする必要があります。
Ubuntuは、ソフトウェアをインストールする快適な方法を提供します。ソフトウェア開発者はその快適さに頼り、synaptic/software center/aptがこれらの機密ファイルにアクセスできると仮定することができます。 Canonicalは、ソフトウェアリポジトリのバグと悪意のあるコードをチェックします。しかし、最終的な責任はあなた次第です。
問題のソフトウェアが機密ファイルにアクセスする必要がない場合、Ubuntuの方法ではなく、(原則として)ホームフォルダーにインストールできます。たとえば、ソースコードを自分でコンパイルするか、カスタムインストールスクリプトを実行する必要があります。その大きな努力に加えて、インストールしたばかりのプログラムに他のユーザーがアクセスできないという欠点があります(ホームフォルダーにアクセスする権利がないため)。もう一度インストールする必要があります。したがって、このインストール方法は大規模では意味がなく、小規模では通常、ソフトウェアを手動でインストールするよりもパスワードを入力する方が簡単です。
だから、Synapticがパスワードを求めて、なぜそれが良いのかを説明します。
パスワードなしで他のユーザーにソフトウェアをインストールさせることが本当に必要な場合、それらをsudoersリストに追加できます。ただし、これにより、大きなセキュリティリスクが発生します。それが関係ない場合は、インターネットを介してコンピューターに侵入するための優れたリソースを備えたボットネットワークがあることを考慮してください。彼らはあなたのコンピュータをネットに追加するためだけにこれを行い、あらゆる種類の違法なことをあなたの知らないうちにその接続と計算能力を使用します。彼らはあなたの個人データがあなたのためにあなたのためにあなたについてさえそうではない。彼らはあなたのPCをハイジャックしたいだけです。まだ気にしない?本当に?次に、sudoersリストの仕組みに関する小さなハウツーである次の回答を参照してください。
注意深く読んでください。システムからロックアウトすることができます。
だから今、あなたはあなたの背後にある恐怖を抱えており、問題を真剣に受け止めています、私はそれが本当にそれほど悪くないことをあなたに伝えることができます。コンピューターで作業している人を信頼しており、システムへのリモートアクセスを許可するプログラム(sshまたはftpサーバーなど)がインストールされていない場合、パスワードを無効にすることはそれほど危険ではありません。最悪のケースを考慮せずにそれをやらないで、あなたの個人データを考えてください。
議事録を見落とす(これを軽くしないでください-本文と 上記のリンク ):
# in Shell type these commands
Sudo su # in case you do something stupid, you'll have a root Shell open
select-editor # (optional) will allow you to select text editor
visudo # secure way to open sudoers list
エディターが開き、次のような行が追加されます。
confus confusion=(root) NOPASSWD:/usr/sbin/synaptic,/usr/bin/software-center
構文の説明:username machine=(usernameToRunCommandAs) command1,command2,...
。そのため、上記の行により、confusはパスワードクエリなしでrootとしてsynapticおよびsoftwarecenterを実行できます。 Sudo synaptic
またはgksudo synaptic
で起動するか、シェルプロファイルにエイリアス `alias synaptic = 'Sudo synaptic'を追加する必要があります。
彼らがすることはできません。こちらが取引です。
Ubuntuで作成された最初のユーザーは特別なユーザーと見なされます。これは管理権限を持つユーザーです。これは、このユーザーが管理タスクを実行したいときに、管理パスワードの入力を求められることを意味します。これらのタスクは、Sudo
をコマンドの前に置くことにより発行されます。
他のすべてのユーザー(自分で変更しない限り)は通常のユーザーであり、管理者(1人目のユーザー)が許可しない限り、ソフトウェアをシステム全体にインストールできません。通常のユーザーは自分の家にしか物を置くことができず、望むならホームディレクトリを台無しにすることができます。
このようにして、1人がシステムを担当します。
これらのユーザーをsudoersファイルに追加することにより、複数のユーザーを管理者(ソフトウェアをインストールできる)にすることができます。
それに加えて、彼らは自宅にソフトウェアをインストールできますが、これはソフトウェアに依存します:インストーラーがそれをシステムに追加したい場合があり、それは許可されていません。これらのインストールはソースからのものである傾向があるため、最も簡単な方法ではありません;)
非管理者ユーザーは、システムの特権部分へのインストール、メンテナースクリプトの実行などのインストール時にパッケージがルートとして実行されるため、ソフトウェアをインストールできません。
現在、システムに「この.debからfirefoxをインストールしますが、システムの残りの部分から隔離されるようにユーザーのホームディレクトリにインストールする」方法はありません。これが現在、ほとんどすべてまたはまったく関係ない理由です。 (これがサードパーティの.debsの実行が悪い理由でもあります。パッケージとそれに含まれるスクリプトにはシステムへのルートアクセス権があります)
Ubuntuでは、管理者にはルート権限があります(「ルートにする必要がある」など、単に「ルート」と呼ばれることがよくあります)。
ファイルへのアクセスは、次の3つのタイプに分けられます。
これらの属性は、すべてのファイルまたはディレクトリに設定できます。さらに、これらの制限は次のものに設定できます。
これらの原則は、Linuxファイル許可の基本を形成します。 Windowsでは、すべてを実行できます。たとえば、.cmd
または.exe
拡張子を付けます。 Ubuntuでは、実行ビットを明示的に追加する必要があります。追加しないと、許可エラーが発生します。
ユーザーがプログラムを実行すると、プログラムはそのユーザーとしてファイルにアクセスし、これらのファイルのアクセス許可が有効になります。デフォルトでは、プログラムがインストールされる場所は特権であり、所有者のみが書き込みできます。この所有者はルートです。他のすべてのユーザーはプログラムの読み取りと実行のみが可能で、書き込みはできません。そのため、プログラムをインストールするにはルート権限が必要です。
Ubuntuには、ルート権限でプログラムを実行するSudo
(SuperUser DO ...)という特別なプログラムがあります。これはソフトウェアのインストールに使用できます。実行すると、Sudo
プログラムがユーザーのパスワードを要求します。 admin
グループのメンバーのみが、Sudo
を使用してプログラムをルートとして実行できることに注意してください。
Windowsでは、Webサイトにアクセスしてインストーラーをダウンロードします。 Ubuntuは、プログラムを検索してインストールできるソフトウェアリポジトリで動作します。これらのプログラムは、公式リポジトリに追加される前にレビューされるため、プログラムに有害な意図が存在しないことを確認できます。
あなたはwindowsとubuntuの大きな違いに触れました。 Windowsでは、管理者としてログインすると、パスワードを要求せずにプログラムがインストールされます。これにより、マルウェアがプログラムを実行することもできます。 Ubuntu(Linux)では、管理者としてログインしている場合でも、システムを変更すると、システムは常にパスワードを要求します。したがって、マルウェアはシステムに簡単に侵入できません。要約すると、管理者としてUbuntuを実行します。お子様に別のユーザーアカウントを開いた場合、通常のユーザー権限のみを付与して、システムを台無しにできないようにします。
通常の非管理者ユーザーとしてソフトウェアをインストールできます。通常のユーザーがインストールしたソフトウェアは、そのユーザーによって「所有」されます。つまり、実際にはユーザーの拡張機能です。つまり、所有ユーザーよりも多くの権限はありませんが、ユーザーのオプション。
一般的な方法は、ユーザーがホームディレクトリ内に「bin」ディレクトリを作成することです。/home/[user]/binが存在する場合、そのユーザーのパスの先頭に追加されます。実行可能ファイルを/ home/[user]/bin、または書き込みと実行のアクセス権がある他のフォルダーに配置し、そこからプログラムを実行できます。
通常のユーザーができないことは、システム全体にパッケージをインストールすることです。たとえば、通常のユーザーは、実行可能ファイルを/ usr/binに配置したり、ユーザー自身のアクセス許可を超えるアクセス許可を付与したりすることはできません。これは明らかに、基本的なセキュリティ上の理由からです。たとえば、ハードドライブを再フォーマットするには管理者権限が必要であり、許可されていない誰かがそれを行うことは望ましくありません。
私の知る限り、パッケージ管理はシステム全体で行われるため、管理者権限がない限り、パッケージ管理ソフトウェアを使用してソフトウェアパッケージをインストールすることはできません。
ただし、管理者権限がなくても、シェルスクリプトの作成、ソースコードの記述とコンパイル、複雑なアプリケーションのソースコードのパッケージである「tarball」のダウンロードとコンパイル、または実行可能ファイルのダウンロードが可能です。通常のユーザーの許可。 World of GooやX-Plane 9などの一部のインディーゲームは、この方法でインストールして使用できます。