Файл может быть отредактирован с разрешением 'записи' на нем, но не на его родительском каталоге?

Вы подразумеваете, что хотите удалить noexec ограничение на каталог в / размещает, не удаляя его на всем разделе? Если так, свяжите монтирование каталога и перемонтирование, что это с опциями по умолчанию могло бы работать. Но проведите свои собственные тесты. Ниже грязный взлом, который, казалось, работал с помощью EXT4, но это, вероятно, будет более чисто/более безопасно/лучше, если Вы могли бы связать, монтируют каталог веб-приложения где-нибудь, кроме того, сверху себя. Это должно было бы работать в сценарии оболочки, после того, как монтируется от fstab, завершены:

mount --bind /home/user/webapp /home/user/webapp
mount /home/user/webapp -oremount,defaults
6
26.03.2015, 00:59
3 ответа

Да, файл можно редактировать.

Насколько касается каталога, файл не может быть отредактирован, если вы удалите разрешение на выполнение в каталоге для цели (владельца / группы / другие).

Редактировать: Если вы хотите, чтобы владельца не сможет редактировать файл, изменив разрешение каталога (при условии, что тот же пользователь владеет каталогом и файлом), то вы можете просто удалить разрешение на выполнение каталог для владельца. Например, вы можете сделать разрешение для владельца как RW- I. 6 .

5
27.01.2020, 20:26

Если все входные строки начинаются с stderr: или stdout: , вы можете сделать:

perl -ne 's/^std(...):\s*//; $1 eq "err" ? print STDERR : print' output

Или, с последними версиями bash

while read -r out line; do
    [[ $out =~ ^stderr ]] && echo "$line" >&2 || echo "$line"
done < output 
-121--155762-

Вы можете попробовать:

#yum list installed | grep tmux
tmux.x86_64                      1.9a-5.fc21        @updates                    

или:

#yum list installed tmux
Loaded plugins: langpacks
Installed Packages
tmux.x86_64                                                               1.9a-5.fc21                                                               @updates

Без grep вы получите некоторые дополнительные строки, но оба

-121--54088-

Вам не нужно иметь разрешения на запись в каталог, но необходимо набор исполняемый файл x бит.

Рассмотрим каталог foo с файлом bar . Если разрешения настроены, например, как

 drwx--x--x   foo
 -rw-rw-rw-   foo/bar

, доступ на запись доступен любому пользователю, если задан бит x . Не требуется даже доступ для чтения r к каталогу.

0
27.01.2020, 20:26

Как указано другие ответы: Да, файл может быть отредактирован / изменен. И, На риск расщепления волос позволяют мне отметить, что вопрос говорит

... он имеет [разрешение на запись] в файле под [каталог].

и сделать полуочевидный комментарий, который, редактировать файл в традиционном значении слова, Пользователь также должен иметь чтение разрешения на файл, Для того, чтобы получить его текущее содержание. Без разрешения на чтение, Пользователь может перезаписать существующие данные и / или добавлять (добавлять) данные в конце, Но он не может сделать полезные изменения, такие как фиксирующие опечатки или вставляющие текст.

И я говорю «модифицированный», чтобы подчеркнуть, что мы говорим о ряде сценариев, Чтобы включить те, которые я упомянул выше (перезаписать или добавьте), а также

  • копирование данных файла (например, в файл в другом каталоге), Манипулируя это как-то, а затем копировать его обратно (перезаписать файл) или
  • , используя традиционный текстовый редактор , например VI , (или даже Hex Editor , если применимо),

и VI , в частности, не имеет проблем с редактированием файла в этой ситуации. Я не проверил много других редакторов. Я ожидаю, что большинство из них (например, , , , PICO , ...) Было бы в порядке.

Но

sed  -i  sed_command(s)  filename

не будет работать, потому что SED -I работает на

  • создание временного файла в том же каталоге,
  • копирование текста из исходного файла на новый ( временный) файл, Выполнение указанного SED_Command (S) на нем в процессе
  • Удаление исходного файла, а затем
  • Переименование временного файла к исходному имени (и CHMOD , чтобы соответствовать исходному режиму исходного файла).

И эти операции не удаются, когда каталог защищен от записи. (Я верю / подозреваю, что несколько других редакторов могут вести себя так же, Но я не могу привести какие-либо примеры.)

Итак, SED -I требует доступа записи к каталогу. И, конечно же, это также требует разрешения на чтение на файл. Но двойной сюрприз сюрприз: Это не требует доступа записи к файлу . В конце концов, вам не нужно доступ к записи в файл, чтобы удалить его; Просто напишите доступ к каталогу.

3
27.01.2020, 20:26

Теги

Похожие вопросы