Linux とディレクトリの消失 (および再出現) の謎

Linux とディレクトリの消失 (および再出現) の謎

初めての Ubuntu サーバーをセットアップし、すぐに ( としてmyuser) ログインしてカスタマイズを開始しました。 に移動し/optて を実行しますmkdir sandbox

mkdir: ディレクトリ 'sandbox' を作成できません: 権限が拒否されました

権限が拒否されました?!? わかりました。 を実行して のパスワードsudo -iを入力しますmyuser。 コマンドを再実行するmkdirと、ディレクトリが作成されました。 ログアウトします。

として再度ログインしmyuser、移動して/opt実行しますls: 何もなし! 内部にディレクトリが表示されません/opt! 何ですか!?!?

そこで、再度 sudo を実行してsudo -i、 を再実行しますlsそれは見ますsandbox/

私はユーザーとルートに関するLinuxの基本的な知識が不足していると思います。サーバーの設定/インストール中に、ユーザーを作成するように求められたので、それを実行しました(myuser)。想定されるこれは、インストール中に作成したユーザーであるだけでなく、システムの最初のユーザーでもあるため、ルート ユーザー (完全な管理者権限を持つ) にもなります。

では、なぜそれがmyuserできないのでしょうか:

  • /home/myusersudo を使用せずに外部にディレクトリを作成しますか?
  • 「sudo モード」で作成されたディレクトリを表示する

sudosuユーザーの違いもよく分かりませんroot

最終的には、これらの基本を完全に理解することに加えて、 の下に多数のサーバー ソフトウェアをインストールして、24 時間稼働させてローカル ファイル システムとやり取りできるようにしたいと考えています。現在、これらのアプリケーションを としてログインしてインストールするべきか、 として sudo を実行してインストールするべきか、それとも他の方法で/opt/sandbox/インストールするべきか、よくわかりません。myusermyuser

これらのサーバーは、セキュリティで保護されたプライベートなホーム LAN 内にあるため、「実際の管理者」や高度なセキュリティ制御は必要ありません。私は、作成中の小さなソフトウェア ツール用のシンプルな開発環境を設定しているだけです。上記の質問に対するご助力に感謝いたします。

答え1

/opt は、デフォルトではユーザーrootとグループによって所有されますroot

試してみると、フォルダ /opt がそれぞれユーザーとグループであるl /" " によって所有されていることがわかります。root root

非ルート ユーザーで /opt 内のファイルを作成および変更したい場合は、そこにフォルダーを作成し、その権限を変更して、非ルート ユーザーが自由にアクセスできるようにする必要があります。

例:

sudo mkdir /opt/sandbox
sudo chown myuser:users /opt/sandbox

最初のコマンドはフォルダーを作成しますが、そのフォルダーはrootグループによって所有されます。2root
番目のコマンドは、所有権 ( chown) をユーザー名に変更し、そのフォルダーを(の一部である)myuserグループの一部にします。usersmyuser

答え2

では、なぜ myuser は次のことができないのでしょうか。

試す

ls -l sandbox
getfacl sandbox

それらの出力が明確でない場合、または表示されている内容が説明されていない場合は、出力を切り取って質問の編集部分に貼り付けてください。

sudo、su、root ユーザーの違いもよくわかりません。

sudo1 つのコマンドに対してのみ、昇格されたルート (管理者) 権限が与えられます。sudo には、どのユーザーが何を実行できるかを制御できる設定ファイルがあります。

su有効なユーザー ID が root である新しいシェル セッションを提供することで、複数のコマンドに対する昇格された権限を付与します。

ルート ユーザーは、/etc/passwd で確認できるルートという名前の特別なユーザーです。Unix または Linux システムでは、他にも 12 名ほどのユーザーが常に存在します。通常、ユーザーは通常のアカウントを持ち、ルート権限が絶対に必要な操作 (システム上のすべてのユーザーが使用するソフトウェアのインストールなど) を除くすべての作業にそのアカウントを使用します。これにより、マルウェアが悪質な行為を行うことが難しくなり、回復不能なミスを犯しにくくなります。

たくさんのサーバーソフトウェアをインストールしたい

パッケージをインストールするには、システムのパッケージ マネージャーを使用するのが最善だと思います。/opt に手動でフォルダーを作成したくないので、それは最後の選択肢になります。

関連情報