Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Listing files and directories writable by the group in Linux

What's the easiest way to recursively list files in a given directory and its subdirectories, that are writable by the group which owns them? I'm using Debian 5.

like image 260
pako Avatar asked Mar 03 '10 17:03

pako


People also ask

What is group writable?

Therefore, if a file is group writable, a member of the group can execute commands as the user who owns the file. In other words, any user in the group could execute commands as that user.

How do you set group ownership of directories with their respective groups in Linux?

chgrp command in Linux is used to change the group ownership of a file or directory. All files in Linux belong to an owner and a group. You can set the owner by using “chown” command, and the group by the “chgrp” command.


2 Answers

Something like

find /dir/ -perm /g=w 

Or, for output like ls -l

find /dir/ -perm /g=w -exec ls -lLd {} +
like image 74
sorpigal Avatar answered Nov 13 '22 16:11

sorpigal


find /dir/ -perm /0020 is also a good solution. Check the man page for find. My version in Debian (find (GNU findutils) 4.4.0) has the argument by Sorpigal as deprecated.

 -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.
like image 25
Segfault Avatar answered Nov 13 '22 15:11

Segfault