【问题标题】:Restrict user access to a particular directory in linux/ubuntu限制用户访问 linux/ubuntu 中的特定目录
【发布时间】:2016-12-12 17:37:10
【问题描述】:

我想建立一个在线 unix 导师,任何用户(主要是学生)都可以来练习 unix 命令。

用户需要登录网页,他们将可以直接访问(从网页)到 ubuntu 服务器上的“用户”目录

例如对于“USER-1”,他的工作目录将设置为:/home/ubuntu/user-1/

对于“USER-2”,他的工作目录将设置为:/home/ubuntu/user-2/ 等等.. 直到 /home/ubuntu/user-n/

现在的问题是我希望该用户只能在他的目录中运行命令,即“/home/ubuntu/user-1/” 他不能移动到父目录或任何其他系统目录,只允许子目录具有 rw 访问权限。

我阅读了一些关于限制用户访问的文章,所有这些文章都指向创建一个具有受限访问权限的用户帐户。

但是,我想创建一个具有不同用户目录且访问受限的单个帐户。

用户登录网页后,其工作目录将设置为:/home/ubuntu/user-*/

/home/ubuntu/user-1/ : user-1 只能访问这个目录
/home/ubuntu/user-2/ : user-2 只能访问这个目录
.
.
.
/home/ubuntu/user-n/ : user-n 只能访问这个目录

我是 unix 新手,有什么想法吗?

【问题讨论】:

标签: linux unix ubuntu


【解决方案1】:

问题是您将从同一个用户帐户执行每个 Unix 命令,如果您不提供其他信息,Unix 将无法知道用户何时有权访问目录。

这是一种使用 2 个用户的方法: 您必须从另一个帐户创建用户目录,每次用户执行命令时,您都从第一个帐户执行此操作: chmod 600 /home/ubuntu/user-* && chmod 664 用户-n 并且您执行第二个用户的每个命令,因此他只能访问 user-n 目录。

但更简洁的方法是在服务器上为主目录设置一个用户。

【讨论】:

  • 我理解你指出的问题。但是我将如何动态地为主目录创建用户。即当用户在网站上注册时,他的用户访问权限应该在那个时候在服务器上创建
  • @HemanshuBelani 确实,您不能编写命令 adduser 的脚本,因为它们是交互式的,但是您可以使用命令 useradd 创建脚本,因此每次在网站上创建帐户时,只需使用 for 启动脚本以参数中的用户名为例。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-21
  • 2020-03-15
  • 1970-01-01
  • 1970-01-01
  • 2019-06-25
  • 1970-01-01
相关资源
最近更新 更多