我必须在新安装的 open-suse-operating-system 版本 12.1 中执行一些操作
我需要将用户放入具有写权限的组中
/srv/www/
原因:我的服务器驻留在那儿,并且我发现以更合适的方式更好地安装或配置它非常棘手。
我尝试过几次让它运行
~/username/public_html
- 它位于我的子目录中。
好吧 - 不管你信不信:我已经安装了我的
srv/www
我认为这些文件夹属于 root。以 root 身份工作并不明智。你可以想象我经常在命令行中遇到这些文件夹所有权的麻烦。
当我意识到我想在正确的路径上设置 Apache 2 服务器后:
但一个朋友告诉我
另一种方法是将您的用户放入在 /srv/www/ 中具有写权限的组中,而不是更改服务器所在的位置。
我喜欢这个想法——我猜它可以解决我遇到的很多文件问题。
我怎样才能做到这一点?
期待收到你的回复
更新:一些供讨论的补充想法
嗯,我认为有几种解决方案:
我们只需将 www 的所有权转让给普通用户,例如 chown billy:users /srv/www,并且根据 www 中的内容,我们可能会使用 -R 开关。这相当于(就 Linux 权限/所有权而言)将文档根目录移动到 publc_html。第二个只是(个人)首选选项(仅供参考)。
您觉得如何?期待收到您的回复……
一般而言,我们可以这样说:
好吧,这些文件夹默认属于 root 用户和 root 组。如果我们不改变这一点,我们就必须以 root 用户身份工作,这不是一个好主意,或者以 root 组身份工作,但只有读取权限,没有写入权限。
我们可以将我们的用户添加到任何组;最简单的方法是使用 YAST 用户/组编辑器。
这样我们就有读取权限了。要获得写入权限,我们必须更改那里所有文件和目录的组权限。
我们还可以更改这些文件的所有者并以该用户身份工作。也许我们可以使用 wwwrun。我个人不太喜欢超级用户,我讨厌这个...
如果我们想要访问用户发布的主页,
我们可以做一些定义工作。例如,在 /home 之外为树选择一个合适的位置,例如“/srv/www/home/”,然后为每个用户创建一个由其各自用户拥有的文件夹。默认情况下,openSUSE 使用 /home/user/public_html/,但我们不能使用它,因为我们不授予对家庭用户根目录的访问权限。
你怎么说?
好吧,我很想听听您的意见——最简单的方法是什么——解决问题的最佳方法是什么。
答案1
gpasswd
可以将用户添加到组:
# gpasswd -a USERNAME GROUP
欲了解更多信息,期待gpasswd --help
或man gpasswd
要获取组/srv/www/
,请使用stat /srv/www | grep Gid
或ls
检查当前用户加入的组,执行groups
命令(不带sudo
)。