将用户锁定到单个目录

将用户锁定到单个目录

我不想锁定 ssh 用户,我想锁定一般用户。如果某个进程以用户身份运行,例如,su -c "ls" user1我希望用户 1 只能看到文件夹/path/to/folder及其子文件夹/文件,而看不到其他内容。没有 ls 到其他任何地方。没有 cd。什么都没有。

我看过很多指南,但所有内容都是针对通过 ssh 进入机器的用户。我只想锁定我设置的本地用户,使其无法查看或触摸除我允许其访问的单个文件夹之外的任何内容。

我该如何做呢?

答案1

让我们尝试一下我刚刚测试过的方法,它可以防止访问任何其他文件夹,而只能访问赋予该用户所有权的文件夹。

脚步:

  1. 创建没有home目录的用户:

    sudo adduser --no-create-home koko
    
  2. 然后为用户创建文件夹koko

    sudo mkdir -p /koko/k1/k2
    
  3. 授予用户访问koko文件夹的权限k2

    sudo chown koko:koko /koko/k1/k2
    
  4. 删除others当前主文件夹的权限,以便/home无法koko访问这些文件或文件夹

    sudo chmod 750 /home/folders
    

现在 koko 切换到用户koko并尝试访问任何其他文件,您将得到一个permission denied error,但用户koko可以更改为创建的/koko/k1/k2文件夹。

相关内容