Включить корзины для смонтированного раздела ext4

Я хотел бы смонтировать раздел ext4 с подпапками для нескольких пользователей

/data
  user1/
  user2/
  ...

как /home, Таким образом я скопировал запись fstab /home монтажа,

UUID=...   /data    ext4    defaults    0    2

созданная вручную точка монтирования

sudo mkdir /data

и создали подпапки с соответствующими правами:

sudo mkdir /data/user1 && chown user1:user1 /data/user1
sudo mkdir /data/user2 && chown user2:user2 /data/user2
...

Хотя это позволяет пользователям создавать файлы в своей подпапке, они не могут переместить их в корзину.

Я вручную создал lost+found папка без удачи.

# ls -al /data/ | grep lost
drwx------  2 root        root        4096 Okt 15 11:55 lost+found

Что мне нужно изменить, чтобы включить корзину?

1 ответ

В соответствии с этой статьей archlinux со ссылкой на спецификацию FreeDesktop Trash мы можем использовать папки для мусора для каждого пользователя, которые находятся в верхней папке

/data
  .Trash-<user1.uid>
  .Trash-<user2.uid>
  ...

и которые принадлежат соответствующему пользователю.

chown user1:user1 /data/.Trash-<user1.uid>
chown user2:user2 /data/.Trash-<user2.uid>
...

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

Обновление: Вы должны повторно войти, чтобы сделать эту работу.

Я создал сценарий под названием mktrash.sh к mkdir мусорная папка.

#!/bin/bash

if [ "$1" = "" ]; then
    echo "Parameter: <mount path> - the top directory"
    exit
fi

TRASH=$1/.Trash
UTRASH=$TRASH/$UID

echo Creating Trash Directory: $UTRASH
echo Ctrl-C to Cancel, Enter to Continue
echo You will need to enter your SUDO password for creating $TRASH
read VAR

sudo mkdir -v $TRASH
sudo chmod -v 1777 $TRASH
mkdir -v $UTRASH
chmod -v 700 $UTRASH

Было бы неплохо автоматизировать это для любых креплений.

Однажды .Trash dir существует, новые пользователи должны добавляться автоматически как Trash доступен для записи в мире.

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