RHEL服务器下限制用户向/home目录存储数据的方案咨询(含RStudio场景)
解决方案汇总
完全可以通过RStudio层面配置+服务器层面权限/配额控制组合实现需求,且无需设置共享文件夹,不会泄露各团队敏感数据。
RStudio 层面配置(优先推荐,用户感知最小)
无需逐个修改用户配置,可通过全局配置自动映射每个用户的专属存储作为默认工作路径:
- 修改RStudio Server全局配置文件
/etc/rstudio/rsession.conf,添加以下内容:
# 自动对应用户专属存储作为默认工作目录,${USER}会自动替换为当前登录用户名 session-default-working-dir=/你的专属存储根路径/${USER}/rstudio_workspace session-default-new-project-dir=/你的专属存储根路径/${USER}/rstudio_workspace/projects # 锁定工作目录,禁止用户手动修改为/home路径 allow-working-directory-change=0
- 补充R全局启动配置,避免用户通过R命令手动切换到/home目录写入:编辑
/etc/R/Rprofile.site,添加以下逻辑:
# 禁止当前会话工作目录指向/home路径 current_wd <- getwd() if (startsWith(current_wd, "/home/")) { new_wd <- paste0("/你的专属存储根路径/", Sys.info()[["user"]], "/rstudio_workspace") setwd(new_wd) message("已自动切换到您的专属工作目录:", new_wd) }
以上配置中所有用户路径自动和登录用户名绑定,各自路径权限设置为700仅本人可访问,完全不会出现跨团队数据泄露问题。
服务器层面兜底控制
如果需要彻底限制/home目录的写入,可搭配以下任意一种方案实现强制管控:
- 磁盘配额限制:RHEL默认使用XFS文件系统,可直接配置用户级配额,给每个用户的/home目录分配极小的配额(仅用于存放ssh密钥、R配置文件等基础数据,比如100M),超出配额后无法写入数据:
# 假设/home挂载点为/dev/mapper/rhel-home,先开启配额挂载参数 mount -o remount,uquota /home # 给指定用户设置配额,块软限制100M,硬限制120M xfs_quota -x -c 'limit -u bsoft=100m bhard=120m 用户名' /home
- 权限控制:将用户/home目录的默认写入权限收回,仅开放必要的配置目录写入权限:
# 取消用户对自身home目录的写入权限 chmod 555 /home/用户名 # 单独开放配置类目录的写入权限 chmod 755 /home/用户名/.config /home/用户名/.ssh /home/用户名/.local
内容的提问来源于stack exchange,提问作者ASD
相关产品推荐
相关产品推荐

