更改文件权限时 setgid 位始终未设置

更改文件权限时 setgid 位始终未设置

晚上好,亲爱的服务器朋友们!

我是新手,所以不要忍耐!我运行一个由我的朋友管理的 Linux 服务器。他准备了 chown 和 permissins - 将 git-bit 设置为 on。

嗯,问题是我迷路设置gitbit每次当我触摸权限时使用 FileZilla。这是个可怕的问题! 笔记- 目前我无法使用 WinSCP 访问服务器 - winscp 可以设置 Setgit。Filezilla 根本做不到这一点!

在 openSuse Linux 服务器上我的设置:本地计算机上的 OpenSuse 11.4!Linux- 服务器

FileZilla Client
----------------
Version:          3.3.4.1
Build information:
  Compiled for:   i686-pc-linux-gnu
  Compiled on:    i686-pc-linux-gnu
  Build date:     2011-02-23
  Compiled with:  gcc (SUSE Linux) 4.5.1 20101208 [gcc-4_5-branch revision 167585]
  Compiler flags: -fomit-frame-pointer -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector 
- funwind-tables -fasynchronous-unwind-tables -g -fstack-protector -Wall -g -fexceptions

Linked against:
  wxWidgets:      2.8.11
  GnuTLS:         2.8.6

Operating system:
  Name:           Linux 2.6.37.6-0.7-default i686
  Version:        2.6

好吧伙计们,我疯了——当然了:

我运行一个由我的朋友管理的 linux-root-server。我控制 SFTP 会话 - 使用 filezilla(参见我上面提到的所有内容)以便安装和维护一些 drupal 安装(以及一些 joomla 站点)注意:将来我想安装 Drush - 以便摆脱所有恼人的错误。

我正在使用目录设置gid位设置。我想更改新创建的目录的权限,以向组授予写权限(默认情况下它们没有)。为此,我右键单击目录并从“属性”对话框中更改权限。当我以这种方式更改目录的权限时,setgid 位会被删除。事实上,没有办法设置 setgid 位,无论对权限执行什么操作,它总是被关闭。我听说一个朋友找到了一种解决方法,即创建自定义命令执行 chmod -R g+w "!"并应用于目录。这很好用。他说。那我该怎么办!?

好吧,我几乎疯了,把电脑扔出了窗外(当然不是 - 14 楼),这肯定不是个好主意,但我需要一个解决方案。我该怎么办。

注意:档案您无法(!!!!!)再次设置 SETGID 位 - 这里没有办法 - 没有机会。但是使用 winscp(参见下面的链接)。您可以想象使用 Drush 也可以做到这一点!我该怎么办 - 您能给我一些建议吗!顺便说一句:看看 winscp 控制 SETGID 位的能力,它比 FileZilla 更能做到!那么是什么原因导致了这个问题 - 它的根源在哪里。为什么我每次都会丢失 SETGID 位!

我们的 SFTP 服务器可能不支持 setgit 位并默默忽略设置它的请求。

问题是什么 - 可以是 SFTP.-SERVER 吗?

由于我是个新手,我可能无法为您提供所需的所有信息!?您需要更多信息或更多输入吗??我是否应该对问题和环境进行更多调查。请告诉我 - 我会尽一切努力摆脱麻烦!

期待收到你的回复

问候零

更新:嗨 Zoredache 和 malcompdx 谢谢你的回答。好吧 Malcompdx - 你是否意识到服务器子系统中存在错误!?你发现问题的根源在于此吗?好吧,问题是我迷路设置gitbit每次当我触摸权限时!这真是个糟糕的问题!如果我理解正确的话 - 那么解决方案就在你的答案 Malcompdx 中 - 非常感谢。也感谢你 ZoreDache

顺便说一下,请参阅描述相同问题的帖子 - 这也发生在 winscp 中 http://winscp.net/forum/viewtopic.php?t=8306

答案1

它实际上不是 filezilla,而是 sftp 使用的 umask。

改变

Subsystem sftp /usr/libexec/openssh/sftp-server

Subsystem sftp /bin/sh -c 'umask 0002; /usr/libexec/openssh/sftp-server'

在服务器的 sshd_config 文件中,然后重新启动 sshd,然后您应该发现如果父目录已设置 sgid 位,则该位会被保留。

答案2

应用程序几乎肯定会以八进制的形式将权限更改发送到服务器,例如0775

简单地选中/取消选中复选框并不能达到您想要的效果。如果您想设置权限,请以八进制形式提供选项。

要将目录的权限设置为drwxrwsr-x,您应该发送2775数值盒子。

filezilla 权限

相关内容