创建新用户时在linux中拒绝权限

时间:2016-05-19 08:19:48

标签: linux permissions directory denied

我是linux的新手,我试图在终端中执行一些命令。我的问题是,当我对另一个用户执行su时,我想在那里创建一个目录时,它会向我显示权限被拒绝。请帮助我理解为什么会发生这种情况,我该怎么做才能解决它。

user@user_VB:~$ sudo su
root@user_VB:~$ useradd user1 
root@user_VB:~$ groupadd students
root@user_VB:~$ usermod -g people user1
root@user_VB:~$ su user1 
user1@user_VB:~$ mkdir exams

现在显示:

  

许可被拒绝。

但如果我输入:

user1@user_VB:~$ sudo mkdir exams 

它显示:

  

user1不在子文件中。

1 个答案:

答案 0 :(得分:1)

所以你在这里有两个问题。

首先,您创建的新用户无法创建新目录。这是因为,即使您正在更改用户(用户 - > root - > user1),您仍然位于user的主目录中,user1可以&# 39;写到。您需要做的是在创建用户时指定用户目录,(useradd -d /home/user1 user1),如@fedorqui所提到的,或者,如果您已经创建user1,请使用{{ 1}}命令将主目录添加到usermod,如下所示:

user1

如果usermod -d /home/user1 user1 不存在,您需要按/home/user1执行以下操作:

root

这样做首先是创建目录,然后将其所有权分配给新创建的用户。现在,当你mkdir /home/user1 chown -R user1 /home/user1 时,你最终会进入su - user1。您现在应该能够创建目录和文件。

您的第二个问题/home/user1是sudo如何管理允许哪些用户使用它的结果。控制此操作的规则位于"user1 is not in suboers file.",您使用/etc/sudoers进行编辑。如果您想允许visudo使用sudo运行他们想要的任何内容,您可以添加如下所示的行:

user1

其中说用户user1 ALL=(ALL) ALL 可以以root身份在系统上运行任何命令。如果您现在尝试使用sudo作为user1运行命令,它将提示您输入user1的密码,然后运行该命令。