Можно ли отключить права доступа к файлам в файловой системе ext3 или ext4?

10

Можно ли отключить права доступа к файлам в файловой системе ext3 / 4?

Просто интересно, возможно ли полностью отключить или игнорировать права доступа к файлам в файловой системе ext3 или ext4. Возможно вариант монтажа?

Меня не волнуют последствия для безопасности, так как я буду делать это для тестирования и со съемными носителями.

Corey
источник
2
Почему вы хотите удалить права доступа к файлам из файловой системы ext3 или ext4? Они были созданы с учетом прав доступа к файлам POSIX. Если вы хотите использовать файловую систему с ограниченными разрешениями, возможно, что-то вроде FAT32 или exFAT будет лучше?
Роб Гибсон
Мне любопытно, есть ли нативный вариант Linux
Кори
2
Это стандартная опция Linux для использования FAT32, так как это поддерживаемая файловая система. Вам просто нужно использовать файловую систему, которая не предназначена для систем POSIX, как те, которые поддерживают права доступа к файлам.
Роб Гибсон
1
не $ sudo chmod -R 777 /your/filesystemсделал бы трюк?
Красный Крикет
1
@RedCricket, который будет обходным путем, если ответ окажется отрицательным
Кори

Ответы:

5

Это не единственное, что вы можете сделать.

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

Это означает, что ls --color(по умолчанию) всегда будет отображаться o:rwXна фоне блока, который отвратителен и предназначен только для предупреждения пользователей о неправильных разрешениях (когда они вам подходят).

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

setfacl -d -m g:sudo:rwX .
setfacl -m g:sudo:rwX .

даст права rwX всем людям в группе sudo. Поскольку в большинстве ваших систем у вас будет пользователь в группе sudo, особенно для съемных носителей (и, следовательно, локальных систем), у вас всегда будет доступ где угодно для всех в этой группе (это вы). Вы также можете распространить его на пользователей, если вы находитесь в другой системе, которая использует эту группу:

setfacl -d -m g:users:rwX .
setfacl -m g:users:rwX .

Флаг -d означает, что разрешения будут распространяться на все вновь созданные файлы (по умолчанию). Единственным недостатком является то, что вы не можете обычно видеть эти разрешения, что означает, что вы бы предпочли полностью отключить их (следовательно, какая польза от носителя для удаления, если вы устанавливаете разрешения, которые каждый может обойти в любом случае, верно?). Это все равно что сказать: вы можете получить доступ к этим файлам, если называете себя Джоном. Хорошо, я называю себя Джоном. Хорошо, у вас есть доступ сейчас.

(Каждый может иметь права root в каждой системе, которой он владеет, и, следовательно, разрешения файловой системы ничего не значат).

ExtFS просто не предназначена для сменных носителей. Там нет файловых систем Linux, которые действительно полезны на съемных носителях, но FAT и NTFS имеют обратную сторону не действительно поддерживающие симлинок и выполнять флаги, которые трудно GIT репозиториев, например. Просто мое мнение здесь.

Вы можете увидеть свой ACL-файл, выполнив:

getfacl <file>

И когда вы ls -l вы увидите:

drwxr-xr-x+ 4 user user 4096 aug 31 03:40 .

Знак + указывает, что в файле (или каталоге) активен ACL.

Вывод getfacl будет (например):

# file: .
# owner: user
# group: user
user::rwx
group::rwx                      #effective:r-x
group:sudo:rwx                  #effective:r-x
mask::r-x
other::r-x
default:user::rwx
default:group::r-x
default:group:sudo:rwx
default:mask::rwx
default:other::r-x

Я не знаю всех деталей, но это должно сработать. Пока вы находитесь в судо, вы можете делать все что угодно.

Xennex81
источник
4

Нет, вы не можете отказаться от прав доступа к файлам для файловых систем ext {2,3,4}.

Единственное, что вы можете сделать, это установить для всех файлов разрешение 777 .

Просто беги:

 chmod a+rwX -R <mountpoint>
Х.-Дирк Шмитт
источник
4
Лучше сделать так, chmod a+rwX -R <mountpoint>чтобы не давать ложных разрешений на выполнение.
vonbrand
@ Vonbrand справа
Х.-Дирк Шмитт
но Xin chmod a+rwXделает все файлы исполняемыми, верно? Это хорошая вещь??
Бекко
3
@becko Вы упустили смысл двух предыдущих комментариев. Верхний регистр Xделает каталоги только исполняемыми (вводимыми), но не делает файлы исполняемыми; тогда как строчные буквы xделают все файлы и каталоги исполняемыми.
XA21X
0

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

Однажды я сделал это для cifs.ko, модуля 'Samba' (клиента) для ядра, потому что есть некоторые ошибки в samba, к которым у вас должен быть локальный доступ, и у вас есть удаленный доступ, но доступ по-прежнему не предоставляется.

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

Конечно, extfs не совсем модуль в ядре, но добавить новый флаг было бы тривиально.

Xennex81
источник
Я не уверен, отвечаете ли вы на вопрос или нет. Вы говорите, что это возможно, если это был модуль, то вы говорите, что это не модуль.
Джефф Шаллер
Это было бы возможно, если бы солнце танцевало прямо на небе. Если бы вы знали что-либо о ядре, вы бы знали, что для того, чтобы не быть модулем, потребуется перекомпилировать все ядро, что немного запрещено для обычных людей, а компиляция модуля относительно бесплатна. Я просто озвучиваю тот факт, что в Linux нет ничего, что могло бы помешать появлению такой опции, потому что это ограничение меня тоже сильно беспокоило.
Xennex81