ルートから一般ユーザーへのアクセスの転送

ルートから一般ユーザーへのアクセスの転送

私のユーザー名を使用してUbuntuにログインしますstudent

rootたとえば、ユーザーだけがアクセスできるディレクトリがいくつかあります/var/lib/mysql。 (このディレクトリにアクセスするために使用できることを知っていますが、sudoこれは私が望むものではありません。)このアカウントのこれらのディレクトリにアクセスするには、student次のコマンドを使用できます。

chown student: PATH_TO_ROOT_USER_PRIVILEGED_DIR

では、アカウントを使ってディレクトリにアクセスできますか?私は正しいですか?

  • 私が正しい場合、rootユーザーに変更すると、ユーザーはアクセス権を失いますかstudent

  • 私が間違っている場合は、正しい解決策を教えてください。

答え1

何らかの理由で、このディレクトリにはルートのみアクセスできます。この所有権を修正することは一般的に悪い考えであり、かなりのセキュリティリスクをもたらします。

また、所有権を変更するのではなく、ディレクトリの権限を変更することを検討することもできます。ユーザーが+xディレクトリを実行する権限を持っている場合は、そのディレクトリにアクセスできます。 Unixファイルの権限が初めての場合は、チュートリアルを読んでください。 (クイックGoogle検索で見つけました。このランダムチュートリアル)。

他のもの:

  • rootいかなる特権も失わないでください。root何でもできます。
  • .rootchown

正しいソリューション

簡単ですが、これがsudo行く方法です。 Ubuntuの開発者は自分が何をしているのかを知っています。このsudoユーティリティは、権限の昇格を簡単かつ安全にするように設計されています。これを変更する理由はまったくありません。

答え2

あなたはする必要がありますいいえルートが所有するファイルの所有権を変更します(または少なくともほとんど変更しません)。代わりにsudoアクセスルートを使用する必要があります。root所有しているかどうかにかかわらず、コンピュータ上のすべてのファイルに常にアクセスできます。ディレクトリを自分の所有権に変更すると、GNU / Linuxセキュリティモデルが破損します。

答え3

これは、すべてディレクトリに設定されている権限と、ディレクトリから権限を取得するためにls -l実行できる操作によって異なります。/var/lib//var/lib/mysql

あなたは読むことができますここLinuxの権限ビット情報。

ただし、あなたの質問に関連してディレクトリの権限ビットが正しく設定されている場合(デフォルトで設定する必要があります)、ユーザーは自分studentのディレクトリにアクセスでき、ユーザーはrootそのディレクトリへのアクセス権を失うことはありません。すべてのサブディレクトリの所有権を変更するには、sudoこのコマンドを使用して実行する必要があります。-R

関連情報