Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

我也有一个用户权限问题...

[复制链接]
baalchina 发表于 2005-4-11 15:43:26 | 显示全部楼层 |阅读模式
比如我的discuz安装在/data/bbs目录下面。安装的时候几个文件夹需要设置权限为777。这个都没问题。

我一般使用ssh进行管理,ftp不大会配置也懒得配置。传文件也用F-Secure的ssh文件传输工具。都是用root管理的.
现在问题来了.有时候我想给别人也开一个linux用户权限让他们也能传输文件上服务器。我就先添加了一个用户user01,然后给user01对/data/bbs的权限为 777.

现在出问题了,这个用户可以添加修改删除文件了,但是Discuz出问题了。它会提示需要把一些必要的文件设置为777。

怎么办呢....说了这么多其实很简单,就是要在不影响discuz运行的情况下让其他用户也能完全访问文件夹。

赫赫初级问题了....请高手指教....
xlink 发表于 2005-4-11 18:26:49 | 显示全部楼层
一个是文件夹属性的概念,一个是文件属性的概念,是两回事。
bbs文件夹的属性是777,但是bbs下的文件夹或文件的属性不一定是777
另外,还有一个文件主的概念,你可能混在一起了。

简单地说,user01在bbs下创建的文件或文件夹,别人不一定有写权和执行权。
怎么办呢....说了这么多其实很简单,就是要在不影响discuz运行的情况下让其他用户也能完全访问文件夹

要解决这问题,有两个办法:
一、通过改变掩码来实现,root执行
umask 777
把掩码改变为777,这时任何新建的文件或文件夹属性都是777,这是很危险的。
二、每次user01添加完文件,都执行一次
chmod 777 文件名(或者给足discuz运行的权限)。

但愿老天保佑你,其实我并没有遇上过这类问题,我说得很粗糙,也许没人能明白。
我给出的方法也是极不安全的。
其实,系统自带的ftp功能很弱,不管是win还是linux,最好是使用第三方软件。
回复

使用道具 举报

 楼主| baalchina 发表于 2005-4-11 19:00:12 | 显示全部楼层
还是谢谢楼上的兄弟~我试试看:)_
回复

使用道具 举报

xlink 发表于 2005-4-13 22:15:14 | 显示全部楼层
有一个错误,解释一下:
    当最初登录到系统中时,u m a s k命令确定了你创建文件的缺省模式。这一命令实际上和
c h m o d命令正好相反。你的系统管理员必须要为你设置一个合理的u m a s k值,以确保你创建的
文件具有所希望的缺省权限,防止其他非同组用户对你的文件具有写权限。
     在已经登录之后,可以按照个人的偏好使用u m a s k命令来改变文件创建的缺省权限。相应
的改变直到退出该s h e l l或使用另外的u m a s k命令之前一直有效。
     一般来说,u m a s k命令是在/ e t c / p r o f i l e文件中设置的,每个用户在登录时都会引用这个文
件,所以如果希望改变所有用户的u m a s k ,可以在该文件中加入相应的条目。如果希望永久性
地设置自己的u m a s k值,那么就把它放在自己$ H O M E 目录下的. p r o f i l e或. b a s h _ p r o f i l e文件中。

1.8.1   如何计算umask值

     u m a s k命令允许你设定文件创建时的缺省模式,对应每一类用户 (文件属主、同组用户、
其他用户)存在一个相应的u m a s k值中的数字。对于文件来说,这一数字的最大值分别是6。系
统不允许你在创建一个文本文件时就赋予它执行权限,必须在创建后用 c h m o d命令增加这一
权限。目录则允许设置执行权限,这样针对目录来说,u m a s k 中各个数字最大可以到7。
     该命令的一般形式为:

     umask nnn

     其中n n n为u m a s k置0 0 0 - 7 7 7 。
     让我们来看一些例子。
     计算出你的u m a s k值:
     可以有几种计算u m a s k值的方法,通过设置u m a s k值,可以为新创建的文件和目录设置缺
省权限。表1 - 8列出了与权限位相对应的u m a s k值。
     在计算u m a s k值时,可以针对各类用户分别在这张表中按照所需要的文件 / 目录创建缺省
权限查找对应的u m a s k值。
     例如,u m a s k值002 所对应的文件和目录创建缺省权限分别为6 6 4和7 7 5。
     还有另外一种计算u m a s k值的方法。我们只要记住u m a s k是从权限中“拿走”相应的位即
可。
                                              表1-8    umask值与权限

                         u m a s k                        文  件                          目  录

                           0                                  6                             7

                           1                                  6                             6

                           2                                  4                             5

                           3                                  4                             4

                           4                                  2                             3

                           5                                  2                             2

                           6                                  0                              1

                           7                                  0                             0

      例如,对于u m a s k值0 0 2,相应的文件和目录缺省创建权限是什么呢?
      第一步,我们首先写下具有全部权限的模式,即7 7 7 (所有用户都具有读、写和执行权限)。
      第二步,在下面一行按照u m a s k值写下相应的位,在本例中是0 0 2 。
      第三步,在接下来的一行中记下上面两行中没有匹配的位。这就是目录的缺省创建权限。
稍加练习就能够记住这种方法。
      第四步,对于文件来说,在创建时不能具有文件权限,只要拿掉相应的执行权限比特即
可。
      这就是上面的例子,其中u m a s k值为0 0 2:
      1) 文件的最大权限                     rwx rwx rwx (777)
      2) umask值为0 0 2                     - - - - - - -w-
      3)  目录权限                          rwx rwx r-x (775)                 这就是目录创建缺省权限
      4) 文件权限                           rw- rw- r-- (664)                 这就是文件创建缺省权限
      下面是另外一个例子,假设这次u m a s k值为0 2 2:
      1) 文件的最大权限                     rwx rwx rwx (777)
      2 ) u m a s k值为0 2 2                - - - -w- -w-
      3)  目录权限                          rwx r-x r-x (755)                 这就是目录创建缺省权限
      4) 文件权限                           rw- r-- r-- (644)                 这就是文件创建缺省权限

1.8.2    常用的umask值

      表1 - 9列出了一些u m a s k值及它们所对应的目录和文件权限。

                                表1-9    常用的u m a s k值及对应的文件和目录权限

                       u m a s k值                         目  录                         文  件

                       0 2 2                                7 5 5                          6 4 4
                       0 2 7                                7 5 0                          6 4 0
                       0 0 2                                7 7 5                          6 6 4
                       0 0 6                                7 7 1                          6 6 0
                       0 0 7                                7 7 0                          6 6 0

      如果想知道当前的umask 值,可以使用u m a s k命令:
     如果想要改变u m a s k值,只要使用u m a s k命令设置一个新的值即可:

     $ umask 002

     确认一下系统是否已经接受了新的u m a s k值:

     在使用u m a s k命令之前一定要弄清楚到底希望具有什么样的文件 / 目录创建缺省权限。否
则可能会得到一些非常奇怪的结果;例如,如果将u m a s k值设置为6 0 0,那么所创建的文件/ 目
录的缺省权限就是0 6 6 !


[ Last edited by xlink on 2005-4-13 at 22:17 ]
回复

使用道具 举报

ezcbxapl 发表于 2005-7-2 22:32:23 | 显示全部楼层

在WINDOWS2000里,Discuz! 目录权限设置的问题。

在WINDOWS2000里,Discuz! 目录权限非得设置成“写入”吗?
回复

使用道具 举报

Temoc 发表于 2005-7-3 08:28:16 | 显示全部楼层
discuz目录不需要,但是下面的一些需要写入的文件夹是需要设置成写入的。
回复

使用道具 举报

ezcbxapl 发表于 2005-7-7 09:05:27 | 显示全部楼层
如cache
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-12-23 20:26 , Processed in 0.031220 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表