У цьому полягає проблема з багатокористувацькими системами, особливо якщо у вас є декілька з них. ;) Немає насправді приємного способу робити те, що ти хочеш. Підходи, що спадають на думку, були б
- мати однаковий UID для свого облікового запису на всіх машинах, якими ви користуєтесь зовнішнім накопичувачем (насправді це неможливо, оскільки, швидше за все, не всі машини знаходяться під вашим контролем)
- використання файлової системи, що не знає про конект власника / групи (FAT або NTFS, які приходять на думку, але ... ааа, ні)
Найефективнішим підходом було б повернення до загальних практик. У більшості (принаймні) систем Linux існує деякі групи, які зазвичай мають загальні GID. Наприклад users, який має GID 100на більшості дистрибутивів Linux. Якщо вам вдасться мати відповідний обліковий запис користувача у цій групі, ви могли б
- створіть усі файли та каталоги на своєму диску, що належать цій групі
- якось вдається мати відповідні групові дозволи на ці файли та каталоги
- якось вдається створити нові файли, створені відповідною груповою формою власності. дозволи.
Перший і другий пункт легко виконати ( chown, chmod). Третя точка стає трохи складнішою.
Частина "групового володіння" відносно проста: ви можете встановити біт SGID у всіх каталогах на диску. Біт SGID, застосований до каталогів, вказує на те, що ядро поводиться BSDish: BSD робить кожен файл / каталог, створений під певною групою каталогів, не належить основній групі процесу створення файлу / каталогу (як це робить Linux), власником батьківського каталогу.
Біт дозволу трохи важкий. На дозвіл новостворених файлів / каталогів (серед інших) впливає umask, бітова маска, яка вказує, які біти не встановлювати, якщо явно не зазначено. Наприклад, загальне umaskзначення полягає в тому 022, що біти запису для "групи" та "інших" зазвичай не слід встановлювати. Ви можете змінити umaskна 002, сказавши, що не хочете, щоб дозволи на запис видалялися для групи, але недоліком є те, що ви не можете встановити цей каталог на основі значень і зазвичай не хочете мати дозволу на запис для ваш основний набір груп для кожного створеного файлу.
Це може бути вирішена з допомогою списків управління доступом: В ACL ви можете встановити maskі defaultнабір дозволів, який застосовується до всіх файлів і каталогів , створених усередині каталогу з цим набором ACL. Отже, одним із можливих варіантів вирішення вашої проблеми було б
- переконайтесь, що ви є членом загальної групи в усіх системах, на яких ви хочете використовувати зовнішній диск
- створіть усі файли та каталоги на вашому диску, які належать цій групі, і встановіть біт SGID у всіх каталогах
- змініть ACL всіх каталогів, щоб включити маску та дозволи за замовчуванням, які повідомляють ядру створити кожен новий файл / каталог із дозволом на запис для групи.
Дивіться setfacl(1)та acl(5)для отримання більш детальної інформації.