2016-05-19 20 views
0

私はLinuxで新しく、ターミナルでいくつかのコマンドを実行しようとしていました。私の問題は、私が別のユーザーにsuをしてそこにディレクトリを作成したいときに、そのアクセス許可が拒否されたことを示すことです。どうしてこのようなことが起こったのか、それを解決するために何ができるのかを理解してください。新しいユーザを作成するときにlinuxで許可が拒否されました

[email protected]_VB:~$ sudo su 
[email protected]_VB:~$ useradd user1 
[email protected]_VB:~$ groupadd students 
[email protected]_VB:~$ usermod -g people user1 
[email protected]_VB:~$ su user1 
[email protected]_VB:~$ mkdir exams 

は、今では示しています

許可が拒否されました。

しかし、私はこれを入力した場合:

[email protected]_VB:~$ sudo mkdir exams 

それは示しています

user1はsuboersファイルではありません。

+0

あなたは 'mkdir exam'と言うとどこにいますか?つまり、 'pwd'の出力は何ですか? – fedorqui

+0

pwdは/ home/user – Sara

+0

です。あなたは別のユーザーの家でdirを作ることはできません。あなたが '/ home/user1'に行ったら、そうすることができるはずです。ここでの問題は 'su user1'と言っているので、' root'と同じディレクトリにいます。代わりに 'su - user1'と言うと、' user1'のホームに行きます。 – fedorqui

答えて

0

ここでは2つの問題があります。

最初に作成した新しいユーザーが新しいディレクトリを作成できないということです。これは、ユーザを変更しても(user - > root - > user1)、あなたはまだuserというホームディレクトリにあり、user1に書き込むことができないからです。あなたがする必要があるのは、ユーザーを作成するときにユーザーディレクトリを指定するか(useradd -d /home/user1 user1)、@ fedorquiが記述されているか、user1をすでに作成している場合は、usermodコマンドを使用して、user1にホームディレクトリを追加します:

usermod -d /home/user1 user1 

/home/user1が存在しない場合、あなたは、rootとして、次の手順を実行する必要があります

mkdir /home/user1 
chown -R user1 /home/user1 

これが何をやっていることは最初のディレクトリを作成し、それの所有権を割り当てています新たに作成されたユーザーに送信します。だから、su - user1を実行すると、/home/user1になります。これで、ディレクトリとファイルを作成できるはずです。

2番目の問題"user1 is not in suboers file."は、sudoがどのユーザーがそれを使用できるかを管理する方法の結果です。これを制御するルールは/etc/sudoersにあります。で編集する必要があります。visudoで編集してください。ユーザーuser1がrootとしてシステム上で任意のコマンドを実行することができると述べている

user1 ALL=(ALL) ALL 

:あなたはuser1は、sudoで、彼らが望むものは何でも実行できるようにしたい場合は、このような行を追加することができます。 sudoでuser1というコマンドを実行しようとすると、user1のパスワードを入力するように求められ、コマンドを実行します。

+0

ありがとう..これは私の問題を解決しました – Sara

関連する問題