середа, 27 лютого 2013 р.

Операція перевірки фалів Bash-Scripting

Операції перевірки файлів

Повертає true якщо ...
-E - файл існує
-F - звичайний файл (не каталог і не файл пристрою)
-S - ненульовий розмір файлу
-D - файл є каталогом
-B - файл є блоковим пристроєм (floppy, cdrom і т.п.)
-C - файл є символьним пристроєм (клавіатура, модем, звукова карта і т.п.)
-P - файл є каналом
-H - файл є символічним посиланням
-L - файл є символічним посиланням
-S - файл є сокетом
-T - файл (дескриптор) пов'язаний з термінальним пристроєм
        Цей ключ може використовуватися для перевірки - чи є файл стандартним пристроєм                 введення stdin ([-t 0]) або стандартним пристроєм виводу stdout ([-t 1]).
-R - файл доступний для читання (користувачеві, що запустила сценарій)
-W - файл доступний для запису (користувачеві, що запустила сценарій)
-X - файл доступний для виконання (користувачеві, що запустила сценарій)
-G - set-group-id (sgid) прапор для файлу або каталогу встановлений
       Якщо для каталогу встановлений прапор sgid, то файли, створювані в такому каталозі,                  успадковують ідентифікатор групи каталогу, який може не збігатися з ідентифікатором                  групи, до якої належить користувач, який створив файл. Це може бути корисно для                      каталогів, в яких зберігаються файли, загальнодоступні для групи користувачів.
-U set-user-id (suid) прапор для файлу встановлений
      Встановлений прапор suid призводить до зміни привілеїв запущеного процесу на привілеї           власника виконуваного файлу. Виконувані файли, власником яких є root, з встановленим             прапором set-user-id запускаються з привілеями root, навіть якщо їх запускає звичайний               користувач. [16] Це може виявитися корисним для деяких програм (таких як pppd і cdrecord),       які здійснюють доступ до апаратної частини комп'ютера. У разі відсутності прапора suid,             програми не зможуть бути запущені рядовим користувачем, що не володіє привілеями root.
-Rwsr-xr-t 1 root 178236 Oct лютого 2000 / usr / sbin / pppd

Файл із встановленим прапором suid відображається з включеним прапором s в полі прав доступу.

-K

прапор sticky bit (біт фіксації) встановлений

Загальновідомо, що прапор "sticky bit" - це спеціальний тип прав доступу до файлів. Програми з встановленим прапором "sticky bit" залишаються в системному кеші після свого завершення, забезпечуючи тим самим більш швидкий запуск програми. [17] Якщо прапорець встановлений для каталогу, то це призводить до обмеження прав на запис. Встановлений прапор "sticky bit" відображається у вигляді символу t в поле прав доступу.
drwxrwxrwt 7 root 1024 May 19 21:26 tmp /

Якщо користувач не є власником каталогу, з встановленим "sticky bit", але має право на запис у каталог, то він може видаляти тільки ті файли в каталозі, власником яких він є. Це запобігає видалення і перезапис "чужих" файлів в загальнодоступних каталогах, таких як / tmp.

-O

ви є власником файлу
-G

ви належите до тієї ж групи, що і файл
-N

файл був модифікований з моменту останнього читання
f1-nt f2

файл f1 більш новий, чим f2
f1-ot f2

файл f1 більш старий, ніж f2
f1-ef f2

файли f1 і f2 є "жорсткими" посиланнями на один і той же файл
!

"НЕ" - логічне заперечення (інверсія) результатів усіх вищенаведених перевірок (повертається true якщо умова відсутня).



к

Немає коментарів:

Дописати коментар