手动将用户添加到员工组的影响

手动将用户添加到员工组的影响

这是 Ubuntu 16.04 上的权限问题。我无法删除安装在 中的某些 R 库/usr/local/lib/R/site-library。原来是我没有权限。该目录的所有者是root,组是staff

我通过手动将我的用户添加到组中暂时解决了权限问题staff

sudo usermod -a -G staff myusername    

# *see blockquote before using this!* 

这使我可以从 IDE 中删除库。

然而,当我尝试查找有关员工组的更多信息时,却找不到关于该主题的任何明确材料。甚至不知道该组的主要用途。我只能猜测它是用来为某些目录上的用户提供类似的“增强”访问权限。

手动将用户添加到员工组有什么后果吗?

另外,是否有命令可以了解某个组的系统范围权限?例如,组员工对哪些目录具有写权限?

谢谢。

编辑:我必须在这里补充一点,对于此操作,使用adduser而不是usermod是一个更明智的选择[请参阅下面的评论]

sudo adduser myusername staff

答案1

好的,正如@muru,我尽可能地发布了我自己问题的答案。该文件file:///usr/share/doc/base-passwd/users-and-groups.html包含有关组和权限的详细信息。此页面的镜像可在此处找到:用户和组

因此:

职员

允许用户在无需 root 权限的情况下对系统添加本地修改(/usr/local、 )。与 group 相比,后者与监控/安全更相关。/homeadm

请注意,修改权限/usr/local实际上等同于 root 访问权限(因为/usr/local有意位于 前面的搜索路径上/usr),因此您应仅将受信任的用户添加到此组。在使用 NFS 的环境中要小心,因为在这样的环境中获取另一个非 root 用户的权限通常更容易。

当然,adm 已经在我的账户中了,groups所以我可以这样做dmesg。但我不得不手动将自己添加到staff

记录员工拥有的目录列表表明,所有这些目录都属于以下之一:

sudo find / -maxdepth 8 -type d -group staff -perm -g=w >>stafflog.txt

/var/local
/usr/local/lib
/usr/local/share

难怪员工会员资格赋予我对共享编程语言库的写权限。

检查以下其中一项的权限:

ls -al /var/local

drwxrwsr-x  2 root staff 4096 Apr 11  2014 .
drwxr-xr-x 16 root root  4096 Aug  3 15:55 ..

因此,显然员工技巧是由系统通过设置目录的位(setguid)来执行的,以便无论哪个用户或进程在该目录中创建文件,该文件始终以员工组共享的权限运行。 看这里

但是我仍然怀疑我是否可以安全地留在这个组中。在我看来,这应该是相当安全的,因为这是一台笔记本电脑,最坏的情况下可以通过受信任的 LAN(通过 smb 或 ssh)进行访问。“实际上相当于 root 访问权限”这句话让我感到害怕。欢迎对此发表任何想法。

相关内容