初めての Ubuntu サーバーをセットアップし、すぐに ( としてmyuser
) ログインしてカスタマイズを開始しました。 に移動し/opt
て を実行しますmkdir sandbox
。
mkdir: ディレクトリ 'sandbox' を作成できません: 権限が拒否されました
権限が拒否されました?!? わかりました。 を実行して のパスワードsudo -i
を入力しますmyuser
。 コマンドを再実行するmkdir
と、ディレクトリが作成されました。 ログアウトします。
として再度ログインしmyuser
、移動して/opt
実行しますls
: 何もなし! 内部にディレクトリが表示されません/opt
! 何ですか!?!?
そこで、再度 sudo を実行してsudo -i
、 を再実行しますls
。今それは見ますsandbox/
。
私はユーザーとルートに関するLinuxの基本的な知識が不足していると思います。サーバーの設定/インストール中に、ユーザーを作成するように求められたので、それを実行しました(myuser
)。想定されるこれは、インストール中に作成したユーザーであるだけでなく、システムの最初のユーザーでもあるため、ルート ユーザー (完全な管理者権限を持つ) にもなります。
では、なぜそれがmyuser
できないのでしょうか:
/home/myuser
sudo を使用せずに外部にディレクトリを作成しますか?- 「sudo モード」で作成されたディレクトリを表示する
sudo
とsu
ユーザーの違いもよく分かりませんroot
。
最終的には、これらの基本を完全に理解することに加えて、 の下に多数のサーバー ソフトウェアをインストールして、24 時間稼働させてローカル ファイル システムとやり取りできるようにしたいと考えています。現在、これらのアプリケーションを としてログインしてインストールするべきか、 として sudo を実行してインストールするべきか、それとも他の方法で/opt/sandbox/
インストールするべきか、よくわかりません。myuser
myuser
これらのサーバーは、セキュリティで保護されたプライベートなホーム LAN 内にあるため、「実際の管理者」や高度なセキュリティ制御は必要ありません。私は、作成中の小さなソフトウェア ツール用のシンプルな開発環境を設定しているだけです。上記の質問に対するご助力に感謝いたします。
答え1
/opt は、デフォルトではユーザーroot
とグループによって所有されますroot
。
試してみると、フォルダ /opt がそれぞれユーザーとグループであるl /
" " によって所有されていることがわかります。root root
非ルート ユーザーで /opt 内のファイルを作成および変更したい場合は、そこにフォルダーを作成し、その権限を変更して、非ルート ユーザーが自由にアクセスできるようにする必要があります。
例:
sudo mkdir /opt/sandbox
sudo chown myuser:users /opt/sandbox
最初のコマンドはフォルダーを作成しますが、そのフォルダーはroot
グループによって所有されます。2root
番目のコマンドは、所有権 ( chown
) をユーザー名に変更し、そのフォルダーを(の一部である)myuser
グループの一部にします。users
myuser
答え2
では、なぜ myuser は次のことができないのでしょうか。
試す
ls -l sandbox
getfacl sandbox
それらの出力が明確でない場合、または表示されている内容が説明されていない場合は、出力を切り取って質問の編集部分に貼り付けてください。
sudo、su、root ユーザーの違いもよくわかりません。
sudo
1 つのコマンドに対してのみ、昇格されたルート (管理者) 権限が与えられます。sudo には、どのユーザーが何を実行できるかを制御できる設定ファイルがあります。
su
有効なユーザー ID が root である新しいシェル セッションを提供することで、複数のコマンドに対する昇格された権限を付与します。
ルート ユーザーは、/etc/passwd で確認できるルートという名前の特別なユーザーです。Unix または Linux システムでは、他にも 12 名ほどのユーザーが常に存在します。通常、ユーザーは通常のアカウントを持ち、ルート権限が絶対に必要な操作 (システム上のすべてのユーザーが使用するソフトウェアのインストールなど) を除くすべての作業にそのアカウントを使用します。これにより、マルウェアが悪質な行為を行うことが難しくなり、回復不能なミスを犯しにくくなります。
たくさんのサーバーソフトウェアをインストールしたい
パッケージをインストールするには、システムのパッケージ マネージャーを使用するのが最善だと思います。/opt に手動でフォルダーを作成したくないので、それは最後の選択肢になります。