例如,我不需要成为超级用户才能在/home/username/dir
文件夹中写入,但系统位置(如/usr/bin/folder1
或)/etc/bin/folder2
受到保护,因为它们需要超级用户权限才能写入。但是,假设我希望目录 directory/usr/bin/myCustomFolder
没有此权限,即要在此文件夹中写入,我希望用户customUser
不需要任何超级用户权限。我该如何配置此自定义?
(注意:这很有用,因为有时我们需要写入 SSD,但 SSD 已安装在/
操作系统上,因此我们必须一直使用超级用户)
答案1
将您希望执行此操作的用户添加到同一组。您可以为此任务创建一个特定组,然后将每个用户添加到该组:
groupadd newgroup
usermod -a -G newgroup $USER
创建您想要的目录/usr/local/bin/
,将您的文件放入其中并将其设置为该组,使其全部可执行:
sudo mkdir /usr/local/bin/newdirectory
sudo chgrp -R new
组目录 sudo chmod 770 /usr/local/bin/newdirecory/*
并且该组中的用户可以执行文件。如果您有新用户,请将其添加到该组中。
如果您想打包您的工具集并提供一个 tar,您也可以选择/opt/
(该目录用于安装通过 tar 文件提供的第三方软件)。
请保留 /usr/bin 原样:
/usr/bin
是操作系统提供的可执行文件的位置,这些文件由普通用户使用。即,通常不是核心操作系统所需的文件,也不是 root 用户访问的文件,但可以是。
/usr/local/bin
是您添加到系统的所有附加可执行文件的位置,可供所有用户用作通用系统文件,但不是操作系统支持的官方文件。
这文件系统层次标准是 Linux 上将文件放入目录的通用方法。