私のユーザー名を使用してUbuntuにログインしますstudent
。
root
たとえば、ユーザーだけがアクセスできるディレクトリがいくつかあります/var/lib/mysql
。 (このディレクトリにアクセスするために使用できることを知っていますが、sudo
これは私が望むものではありません。)このアカウントのこれらのディレクトリにアクセスするには、student
次のコマンドを使用できます。
chown student: PATH_TO_ROOT_USER_PRIVILEGED_DIR
では、アカウントを使ってディレクトリにアクセスできますか?私は正しいですか?
私が正しい場合、
root
ユーザーに変更すると、ユーザーはアクセス権を失いますかstudent
?私が間違っている場合は、正しい解決策を教えてください。
答え1
何らかの理由で、このディレクトリにはルートのみアクセスできます。この所有権を修正することは一般的に悪い考えであり、かなりのセキュリティリスクをもたらします。
また、所有権を変更するのではなく、ディレクトリの権限を変更することを検討することもできます。ユーザーが+x
ディレクトリを実行する権限を持っている場合は、そのディレクトリにアクセスできます。 Unixファイルの権限が初めての場合は、チュートリアルを読んでください。 (クイックGoogle検索で見つけました。このランダムチュートリアル)。
他のもの:
root
いかなる特権も失わないでください。root
何でもできます。- .
root
chown
正しいソリューション
簡単ですが、これがsudo
行く方法です。 Ubuntuの開発者は自分が何をしているのかを知っています。このsudo
ユーティリティは、権限の昇格を簡単かつ安全にするように設計されています。これを変更する理由はまったくありません。
答え2
あなたはする必要がありますいいえルートが所有するファイルの所有権を変更します(または少なくともほとんど変更しません)。代わりにsudo
アクセスルートを使用する必要があります。root
所有しているかどうかにかかわらず、コンピュータ上のすべてのファイルに常にアクセスできます。ディレクトリを自分の所有権に変更すると、GNU / Linuxセキュリティモデルが破損します。
答え3
これは、すべてディレクトリに設定されている権限と、ディレクトリから権限を取得するためにls -l
実行できる操作によって異なります。/var/lib/
/var/lib/mysql
あなたは読むことができますここLinuxの権限ビット情報。
ただし、あなたの質問に関連してディレクトリの権限ビットが正しく設定されている場合(デフォルトで設定する必要があります)、ユーザーは自分student
のディレクトリにアクセスでき、ユーザーはroot
そのディレクトリへのアクセス権を失うことはありません。すべてのサブディレクトリの所有権を変更するには、sudo
このコマンドを使用して実行する必要があります。-R