Включить корзины для смонтированного раздела 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
доступен для записи в мире.