服务器怎么添加组用户,并给与相应的权限
在服务器上添加组用户(User Groups)的主要目的是管理权限、提高安全性和简化用户管理。在 Linux 服务器上,不同的用户需要访问不同的资源(文件、目录、应用程序等)。使用组可以批量管理权限,避免逐个设置用户权限的麻烦。同时,使用组可以限制某些用户的访问权限,防止未经授权的更改。
第一步:创建一个组
以Rstudioserver的包文件为例,在R端输入命令.libPaths()
即可查看R包的存放目录。其返回的结果如下:
[1] “/usr/local/lib/R/site-library” “/usr/lib/R/site-library”
[3] “/usr/lib/R/library”
总结:
/usr/local/lib/R/site-library → 本地用户安装的共享R包,优先级最高。
/usr/lib/R/site-library → 由系统管理员或包管理器安装的共享R包。
/usr/lib/R/library → R默认的核心包目录,不能修改。
在安装R包时,R通常会选择.libPaths()返回的第一个路径(通常是/usr/local/lib/R/site-library),但可以通过设置 R_LIBS_USER 环境变量来指定用户自定义的库路径,如 ~/R/x86_64-pc-linux-gnu-library/4.x(即用户目录下的R库)。
对此,我们创建一个组readers-r,这个组的成员对R包只有读和执行的权限,没有写入的权限。对应的权限是755。
权限解释(755):
7(rwx) → root 用户可以读、写、执行(完整控制)。
5(r-x) → readers-r 组只能读取和执行,不能写入。
5(r-x) → 其他用户也只能读取和执行,不能写入。
使用下面的命令创建组
sudo groupadd readers-r
将用户添加进入组用户
sudo usermod -aG readers-r username
第二步:为组成员添加权限
修改 R 包目录的组所有权,让 readers-r 组成为 R 包目录的组所有者:
sudo chown -R root:readers-r /usr/local/lib/R/site-library
sudo chown -R root:readers-r /usr/lib/R/site-library
sudo chown -R root:readers-r /usr/lib/R/library
这样,root 仍然是所有者,而 readers-r 组有组权限。
第三步:设置 readers-r 组为只读权限
修改权限,确保 readers-r 组只有读取(r)和执行(x)权限,没有写入(w)权限:
sudo chmod -R 755 /usr/local/lib/R/site-library
sudo chmod -R 755 /usr/lib/R/site-library
sudo chmod -R 755 /usr/lib/R/library
第四步:验证权限
运行以下命令,检查权限是否正确:
ls -ld /usr/local/lib/R/site-library
ls -ld /usr/lib/R/site-library
ls -ld /usr/lib/R/library
注意:想要组用户可以安装到自己的路径下需要赋予其/usr/local/lib/R/site-library这个路径的写入权限