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

Ну, это Ubuntu One, а не Debian One. :)

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

Эти дистрибутивы не поддерживаются, хотя, если вы столкнетесь с любыми проблемами, возникающими при их восстановлении, вы можете попросить о помощи в #ubuntuone IRC в сети Freenode.

3
задан 21 May 2018 в 10:36

6 ответов

Чтобы записать в существующий файл, вам понадобятся права на запись для этого файла.

Чтобы удалить файл, вам нужно разрешение на запись для папки, содержащей этот файл.

15
ответ дан 22 May 2018 в 10:34
  • 1
    В стороне: rm запрашивает сначала, когда пытается удалить защищенный от записи файл, даже если достаточно разрешений каталога. – Peter A. Schneider 21 May 2018 в 16:47

Чтобы записать в существующий файл, вам понадобятся права на запись для этого файла.

Чтобы удалить файл, вам нужно разрешение на запись для папки, содержащей этот файл.

14
ответ дан 17 July 2018 в 13:49

Чтобы записать в существующий файл, вам понадобятся права на запись для этого файла.

Чтобы удалить файл, вам нужно разрешение на запись для папки, содержащей этот файл.

14
ответ дан 20 July 2018 в 13:53

Ответ Флориана не совсем закончен в моей системе: мне нужно как записать, так и выполнить разрешение в каталоге, чтобы удалить в нем файл.

Пример сеанса:

I «Я запускаю хорошо зарекомендовавший себя Debian с файловой системой ext4. Я создаю каталог с файлом в нем, а затем изменяю права на каталог и файл, прежде чем пытаюсь удалить файл.

Файловая система ext4:

testuser@www:~$ df -T .
Filesystem     Type 1K-blocks     Used Available Use% Mounted on
/dev/sda3      ext4 152326340 44429904 100196624  31% /

Давайте создадим в ней каталог и файл:

testuser@www:~$ mkdir d
testuser@www:~$ ls -ld d
drwxr-xr-x 2 testuser testuser 4096 May 21 16:19 d
testuser@www:~$ echo kjhkjh > d/f
testuser@www:~$ ls -l d/f
-rw-r--r-- 1 testuser testuser 7 May 21 16:19 d/f

Ожидаемое: Невозможно изменить каталог файлов без разрешения на запись на нем:

testuser@www:~$ chmod 100 d && ls -ld d
d--x------ 2 testuser testuser 4096 May 21 16:19 d
testuser@www:~$ rm d/f
rm: cannot remove 'd/f': Permission denied

Неожиданно: Мне нужно как разрешение на запись, так и выполнение в каталоге, чтобы удалить в нем файл.

testuser@www:~$ chmod 200 d && ls -ld d
d-w------- 2 testuser testuser 4096 May 21 16:19 d
testuser@www:~$ rm d/f
rm: cannot remove 'd/f': Permission denied

] Мне нужно как разрешение на запись, так и выполнение:

testuser@www:~$ chmod 300 d && ls -ld d
d-wx------ 2 testuser testuser 4096 May 21 16:19 d
testuser@www:~$ rm d/f

В стороне: когда файл (но не каталог) защищен от записи, rm запрашивает разрешение перед удалением. В конце концов, удаление файла может рассматриваться как крайняя форма написания. Нет никакой разницы в потерянных данных между echo -n "" > d/f и rm d/f в общем случае, что нет другой жесткой ссылки на файл.

testuser@www:~$ !echo
echo kjhkjh > d/f
testuser@www:~$ chmod 700 d && ls -ld d
drwx------ 2 testuser testuser 4096 May 21 16:21 d
testuser@www:~$ chmod 000 d/f && ls -l d/f
---------- 1 testuser testuser 7 May 21 16:21 d/f
testuser@www:~$ rm d/f
rm: remove write-protected regular file 'd/f'? y
testuser@www:~$  ls -l d
total 0
testuser@www:~$
4
ответ дан 22 May 2018 в 10:34

Ответ Флориана не совсем закончен в моей системе: мне нужно как записать, так и выполнить разрешение в каталоге, чтобы удалить в нем файл.

Пример сеанса:

I «Я запускаю хорошо зарекомендовавший себя Debian с файловой системой ext4. Я создаю каталог с файлом в нем, а затем изменяю права на каталог и файл, прежде чем пытаюсь удалить файл.

Файловая система ext4:

testuser@www:~$ df -T . Filesystem Type 1K-blocks Used Available Use% Mounted on /dev/sda3 ext4 152326340 44429904 100196624 31% /

Давайте создадим в ней каталог и файл:

testuser@www:~$ mkdir d testuser@www:~$ ls -ld d drwxr-xr-x 2 testuser testuser 4096 May 21 16:19 d testuser@www:~$ echo kjhkjh > d/f testuser@www:~$ ls -l d/f -rw-r--r-- 1 testuser testuser 7 May 21 16:19 d/f

Ожидаемое: Невозможно изменить каталог файлов без разрешения на запись на нем:

testuser@www:~$ chmod 100 d && ls -ld d d--x------ 2 testuser testuser 4096 May 21 16:19 d testuser@www:~$ rm d/f rm: cannot remove 'd/f': Permission denied

Неожиданно: Мне нужно как разрешение на запись, так и выполнение в каталоге, чтобы удалить в нем файл.

testuser@www:~$ chmod 200 d && ls -ld d d-w------- 2 testuser testuser 4096 May 21 16:19 d testuser@www:~$ rm d/f rm: cannot remove 'd/f': Permission denied

] Мне нужно как разрешение на запись, так и выполнение:

testuser@www:~$ chmod 300 d && ls -ld d d-wx------ 2 testuser testuser 4096 May 21 16:19 d testuser@www:~$ rm d/f

В стороне: когда файл (но не каталог) защищен от записи, rm запрашивает разрешение перед удалением. В конце концов, удаление файла может рассматриваться как крайняя форма написания. Нет никакой разницы в потерянных данных между echo -n "" > d/f и rm d/f в общем случае, что нет другой жесткой ссылки на файл.

testuser@www:~$ !echo echo kjhkjh > d/f testuser@www:~$ chmod 700 d && ls -ld d drwx------ 2 testuser testuser 4096 May 21 16:21 d testuser@www:~$ chmod 000 d/f && ls -l d/f ---------- 1 testuser testuser 7 May 21 16:21 d/f testuser@www:~$ rm d/f rm: remove write-protected regular file 'd/f'? y testuser@www:~$ ls -l d total 0 testuser@www:~$
4
ответ дан 17 July 2018 в 13:49

Ответ Флориана не совсем закончен в моей системе: мне нужно как записать, так и выполнить разрешение в каталоге, чтобы удалить в нем файл.

Пример сеанса:

I «Я запускаю хорошо зарекомендовавший себя Debian с файловой системой ext4. Я создаю каталог с файлом в нем, а затем изменяю права на каталог и файл, прежде чем пытаюсь удалить файл.

Файловая система ext4:

testuser@www:~$ df -T . Filesystem Type 1K-blocks Used Available Use% Mounted on /dev/sda3 ext4 152326340 44429904 100196624 31% /

Давайте создадим в ней каталог и файл:

testuser@www:~$ mkdir d testuser@www:~$ ls -ld d drwxr-xr-x 2 testuser testuser 4096 May 21 16:19 d testuser@www:~$ echo kjhkjh > d/f testuser@www:~$ ls -l d/f -rw-r--r-- 1 testuser testuser 7 May 21 16:19 d/f

Ожидаемое: Невозможно изменить каталог файлов без разрешения на запись на нем:

testuser@www:~$ chmod 100 d && ls -ld d d--x------ 2 testuser testuser 4096 May 21 16:19 d testuser@www:~$ rm d/f rm: cannot remove 'd/f': Permission denied

Неожиданно: Мне нужно как разрешение на запись, так и выполнение в каталоге, чтобы удалить в нем файл.

testuser@www:~$ chmod 200 d && ls -ld d d-w------- 2 testuser testuser 4096 May 21 16:19 d testuser@www:~$ rm d/f rm: cannot remove 'd/f': Permission denied

] Мне нужно как разрешение на запись, так и выполнение:

testuser@www:~$ chmod 300 d && ls -ld d d-wx------ 2 testuser testuser 4096 May 21 16:19 d testuser@www:~$ rm d/f

В стороне: когда файл (но не каталог) защищен от записи, rm запрашивает разрешение перед удалением. В конце концов, удаление файла может рассматриваться как крайняя форма написания. Нет никакой разницы в потерянных данных между echo -n "" > d/f и rm d/f в общем случае, что нет другой жесткой ссылки на файл.

testuser@www:~$ !echo echo kjhkjh > d/f testuser@www:~$ chmod 700 d && ls -ld d drwx------ 2 testuser testuser 4096 May 21 16:21 d testuser@www:~$ chmod 000 d/f && ls -l d/f ---------- 1 testuser testuser 7 May 21 16:21 d/f testuser@www:~$ rm d/f rm: remove write-protected regular file 'd/f'? y testuser@www:~$ ls -l d total 0 testuser@www:~$
4
ответ дан 20 July 2018 в 13:53
  • 1
    Я думаю, человек всегда должен выполнять/разрешение обход каталога и всех его родителей ничего с его содержанием в дополнение для чтения или записи. – David Foerster 22 May 2018 в 22:19
  • 2
    @DavidFoerster Ну, это обычно не упоминается; ни в принятом ответе здесь, ни в большинстве других мест. И это было ново для меня. Бит выполнения в каталогах редко объясняется (у вас есть каноническая документация? Я не мог найти ни одного из двух минут, которые я дал). Я считаю, что это тоже логично. Это также кажется излишним: что я могу сделать с помощью только записи, но не разрешения на выполнение? – Peter A. Schneider 23 May 2018 в 03:38
  • 3
    Ничего. В некотором роде разрешение обхода (то есть флаг выполнения в каталогах) эффективно влияет на детей и внуков, а не на каталог с этим разрешением. См. [D0] askubuntu.com/q/862289/175814 и ссылки в комментариях для дальнейшего чтения. – David Foerster 23 May 2018 в 13:08

Другие вопросы по тегам:

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