linux - 在每个用户的主目录中创建一个私有(private)文件夹

标签 linux security ubuntu

我正在尝试为一个类创建 100 个用户,这样就可以通过 ssh 编写编译和运行他们的项目。

我正在为所有用户分配默认密码“123”(他们可以稍后自行更改) 我对磁盘使用设置了软硬限制(8mb 和 16mb)

现在,我正在考虑在他们的主文件夹中创建一个其他人无法读取的私有(private)文件夹 原来,这个脚本给了“我”而不是用户,读写和执行所有私有(private)文件夹

这是脚本的样子。

 for i in {1..100}
 do
    useradd -m -g student $i
    mkdir /home/$i/private               //Creating a private folder
    chmod -R 700 /home/$i/private        //

    echo "$i:123" | sudo chpasswd
    setquota -u $i 9 18 0 0  /
done

无论如何我可以做到这一点吗?

最佳答案

一切都很好,你只需要更改新目录的所有者:

 for i in {1..100}
 do
    useradd -m -g student $i
    mkdir /home/$i/private               //Creating a private folder
    chmod -R 700 /home/$i/private        //
    chown $i:student /home/$i/private            <------------------ new line

    echo "$i:123" | sudo chpasswd
    setquota -u $i 9 18 0 0  /
 done

请注意,由于您是执行 mkdir 的用户,因此新目录属于您。

另请注意,我使用了 chown $i:student,因此所有者将是用户,组将是 student,这恰好是您所在的组将这些用户添加到。

关于linux - 在每个用户的主目录中创建一个私有(private)文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18251538/

相关文章:

linux - 无法从 USB 安装 openSUSE 13.2 - linuxrc 启动

security - 安全环境中的 CF 和 PDF

database - 限制 PouchDB 中的数据

git - git pull 故障排除

c - 使用 stat (st_uid) 的段错误(核心转储)

c - 如何在程序中包含内核头文件

linux - Socket服务器ip/端口问题

c - 类型 'apr_pool_t' 无法解析 Eclipse C/C++

linux - 在 C shell 中计算数字的总和

html - 如何在 HTML 文档中创建一个不可覆盖的容器?