【问题标题】:Listing files and directories writable by the group in Linux列出组在 Linux 中可写的文件和目录
【发布时间】:2011-01-23 07:59:29
【问题描述】:

递归列出给定目录及其子目录中的文件的最简单方法是什么,这些文件可由拥有它们的组写入?我正在使用 Debian 5。

【问题讨论】:

    标签: linux bash debian console-application


    【解决方案1】:

    类似

    find /dir/ -perm /g=w 
    

    或者,对于像 ls -l 这样的输出

    find /dir/ -perm /g=w -exec ls -lLd {} +
    

    【讨论】:

    • 我永远无法让 GNU 和 FreeBSD 找到正确的方向。 /g=w 对 GNU 查找是正确的,+g=w 对 BSD 查找是正确的。由于这是 Debian,我已将其更改为 GNU 版本。
    【解决方案2】:

    find /dir/ -perm /0020 也是一个不错的解决方案。检查手册页以查找。我在 Debian 中的版本(find (GNU findutils) 4.4.0)已弃用 Sorpigal 的论点。

     -perm mode
              File's  permission  bits  are  exactly mode (octal or symbolic).
              Since an exact match is required, if you want to use  this  form
              for  symbolic  modes,  you  may have to specify a rather complex
              mode string.  For example -perm g=w will only match files  which
              have  mode  0020 (that is, ones for which group write permission
              is the only permission set).  It is more likely  that  you  will
              want  to use the `/' or `-' forms, for example -perm -g=w, which
              matches any file with group write permission.  See the  EXAMPLES
              section for some illustrative examples.
    
       -perm -mode
              All  of the permission bits mode are set for the file.  Symbolic
              modes are accepted in this form, and this is usually the way  in
              which  would want to use them.  You must specify `u', `g' or `o'
              if you use a symbolic mode.   See the EXAMPLES section for  some
              illustrative examples.
    
       -perm /mode
              Any  of the permission bits mode are set for the file.  Symbolic
              modes are accepted in this form.  You must specify `u',  `g'  or
              `o'  if  you  use a symbolic mode.  See the EXAMPLES section for
              some illustrative examples.  If no permission bits in  mode  are
              set,  this  test  currently  matches no files.  However, it will
              soon be changed to match any file (the idea is to be  more  con-
              sistent with the behaviour of -perm -000).
    
       -perm +mode
              Deprecated,  old way of searching for files with any of the per-
              mission bits in mode set.  You should use -perm  /mode  instead.
              Trying to use the `+' syntax with symbolic modes will yield sur-
              prising results.  For example, `+u+x' is a valid  symbolic  mode
              (equivalent to +u,+x, i.e. 0111) and will therefore not be eval-
              uated as -perm +mode but instead as  the  exact  mode  specifier
              -perm  mode  and so it matches files with exact permissions 0111
              instead of files with any execute bit set.  If  you  found  this
              paragraph  confusing,  you're  not alone - just use -perm /mode.
              This form of the -perm test  is  deprecated  because  the  POSIX
              specification  requires  the  interpretation of a leading `+' as
              being part of a symbolic mode, and so we switched to  using  `/'
              instead.
    

    【讨论】:

      猜你喜欢
      • 2011-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-18
      • 1970-01-01
      • 2012-12-09
      • 2015-05-26
      相关资源
      最近更新 更多