Що означає \ (-perm -4000 -o -perm -2000 \)?


1

Цікаво, що \( -perm -4000 -o -perm -2000 \)робить. Я думаю, що це рівні дозволів, але у мене проблеми з пошуку команди -perm в будь-яких документах.

У повному контексті він використовувався в sudo find / -type f \( -perm -4000 -o -perm -2000 \) -print


Сама -permпо собі команда не є, це аргумент (варіант) для findкоманди, тому вам потрібно буде переглянути документацію find(наприклад, man find- подивіться у розділі TESTS).
steeldriver

Відповіді:


1

man find досить чітко про це:

   -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 matches any file (the idea here is to be  consis‐
          tent 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.

1

Це схоже на спробу знайти suid (4000: set userid) sgid (2000: set groupid) файл.

що є двійковим, що при запуску отримує новий userid або новий groupid. вони в основному використовуються для

  • системне завдання
  • база даних (наприклад, файл належить Oracle або mysql)
  • злому системи ...

- 4000 восьмеричних позначень файлу завіси ... що б символічне позначення
juggernauthk108

0

Ця команда перераховує файли, у яких встановлені біти SETUID або SETGID:

# find / -type f \( -perm -4000 -o -perm -2000 \) -print
/sbin/unix_chkpwd
/bin/su
...
# stat /bin/su
Access: (4755/-rwsr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
...
# stat /sbin/pam_extrausers_chkpwd
Access: (2755/-rwxr-sr-x)  Uid: (    0/    root)   Gid: (   42/  shadow)
...

Пов'язані:

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.