Сьогодні я повертаюся з черговою підказкою, якою я особисто користуюсь: мати можливість мати спільний каталог між кількома користувачами Linux. Я ставлю їх у ситуацію, коли з дружиною вдома ми обоє використовуємо один і той же ПК Arch Linux але кожен зі своїм користувачем. Отже, ми помітили проблему з тими папками, якими ми ділимось, як музика або фотографії, оскільки кожна з них мала свої файли, що дублювали речі.
Саме тоді ми подумали зробити спільну папку, але існує проблема дозволів. Якщо папка моя, вона її не бачить, якщо файл, який я створюю, вона її не видаляє тощо. На початку виправлення полягало в тому, що ми давали 777 дозволів цим файлам кожного разу, коли редагували щось для доступу іншого, поки не знайшли рішення, Групові дозволи!
Що таке групові дозволи?
Це найкраще, призначити цей спільний каталог та весь його вміст спеціальній групі з дозволами на читання та запис, за допомогою якого всі члени групи матимуть доступ до зазначеного каталогу. Потім це дозволяє, просто додавши наших користувачів до зазначеної групи, ми вже можемо взаємодіяти в цій директорії.
І як мені це налаштувати?
Це найкраща частина, і я продовжую розповідати вам, як я це зробив зі своєю дружиною. Перше, що потрібно, це створити той каталог, який для прикладу я буду називати «спільний".
sudo mkdir /home/compartido
Я створюю його всередині / вдома та поза нашими акаунтами, щоб уникнути того, щоб верхні каталоги турбувались своїми дозволами. Тепер ми повинні створити групу, яку ми поставимо «поділився»
sudo groupadd compartidos
І ми призначаємо цю групу до каталогу, який ми створили раніше, а також змінюємо дозволи, так що все, що ми створюємо всередині, будь то каталоги чи файли, також належить до цієї групи.
sudo chgrp -R compartidos /home/compartido
sudo chmod g+s dirname
Крім того, ми повинні додати до нього своїх користувачів. Тоді нам доведеться повторити цю команду для кожного:
sudo usermod -G compartido sebastian
sudo usermod -G compartido mimujer
Поки що у нас є каталог «/ додому / спільно»Який належить до групи«поділився«, З тим, до чого зможуть отримати доступ усі користувачі-члени одного і того ж, що все створене в каталозі, буде належати до групи з тим, що будь-хто з нас зможе їх бачити.
Тепер нам потрібен лише останній крок, який може бути необов’язковим, але це зміна umask користувачів, щоб гарантувати, що кожен новий файл, який ми створюємо, може бути змінений іншими членами групи. Це позначається на всьому користувачі, а не тільки на каталозі, тому вони повинні перевірити, працює він для них чи ні. У моєму випадку, оскільки тільки ми з дружиною використовуємо систему, це нас не турбує, і ми призначаємо umask 002, що означає, що кожен створений файл починається з 775 дозволів.
Редагування umask
Щоб редагувати umask, кожен користувач повинен відредагувати файл .profile або .bashrc, який знаходиться всередині будинку користувача, та змінити значення umask на потрібне число. Якщо опції немає, ми повинні її додати.
Отже, в консолі ми помістили:
sebastian@multivacs ~> vim .profile
І ми побачимо приблизно таке:
Отже, ми переходимо до рядка, де написано umask, натискаємо лист i щоб мати можливість редагувати, а ми видаляємо #, щоб видалити коментар. Ми змінюємо номер на 002. Якщо рядок не з’являється, вони повинні його додати.
Після закінчення ми натискаємо клавішу Esc щоб вийти з режиму редагування, а потім ми пишемо :+q+w. Що змушує нас зберігати зміни та виходити з Vi.
Це буде виглядати так:
І все! Якщо вони закриють свій сеанс користувача і знову його відкриють, будуть внесені зміни, з якими спільний каталог вже буде працювати.
Чудова порада.
Геніальний.
Кілька років тому я побачив необхідність зробити це сам, чого я не знав, це umask ... Натомість я поставив завдання в crontab 🙂
Дякую за підказку
Так, кронтаб теж хороший. Що ви поставили, щоб призначити вмісту 775 дозволів?
Чудова порада .. ..збережена при необхідності;) ..
Гаразд, ви створюєте папку / home / shared і присвоюєте їй групу "спільного доступу", але
До якого користувача належить ця папка? Іншими словами, хто є власником? Я, інша особа або користувач root, чий обліковий запис вимкнено, оскільки я використовую sudo?
З іншого боку, я виявляю таку проблему: файли, які я створюю, не можуть бути видалені іншою особою, а файли, які створює інша людина, я не можу видалити.
Що я зробив неправильно?
Створюючи папку з sudo, вам слід залишити root як власника. Ви також можете змінити це за допомогою команди chown, щоб призначити іншого користувача.
З іншого боку, переконайтеся, що створені вами файли роблять це з дозволами 775 (що дає umask 002). Якщо вони не мають цих дозволів, можливо, неправильна конфігурація.
Так само варто пояснити, що umask впливає на кожен новий файл, створений у каталозі, але якщо вони переміщують або копіюють вміст з іншого місця, зберігаються оригінальні дозволи, а не ті, які ми встановили для каталогу.
Гей! Ти маєш рацію.
Я шукав, і проблема викликана останнім, що ви скажете: при переміщенні файлу з іншого місця до спільної папки зберігаються вихідні дозволи.
Чи є це рішення?
Я міг би використовувати перли.
У такому випадку найкращим було б поставити crontab, як сказав KZKG ^ Гаара, в якому ви могли б кожного разу X ставити команду для присвоєння групи та дозволів вмісту папки.
Тобто сказати щось подібне в crontab:
sudo chgrp -R compartidos /home/compartido/*
chmod -R 775 /home/compartido/*
Щоб отримати все нове, перейдіть до спільної групи з дозволами 775.
Ігноруйте * у кінці кожного рядка, я думав про щось інше, коли ставлю 😛
Дякую, друже.
Дуже хороший пост, але я волію мати окремий розділ, в який я можу помістити все, чим хочу поділитися. У мене є щедрий 500 Гб диск, на якому я використовую 100 Гб з Linux і 400 Гб розділу (ntfs), в якому є вся музика, фотографії тощо ... На моєму ПК ми двоє користувачів, і кожен може отримати доступ до розділу ntfs і покласти і видалити те, що ми хочемо, коли ми хочемо. Якщо я не хочу нічим ділитися, у мене є кілька речей на моє ім’я користувача. 🙂
Так, це інший спосіб зробити це, але проблема полягає не в тому, куди зберігати файли, а в тому, щоб налаштувати дозволи та контролювати доступ різних користувачів.
Ви можете мати його на розділі NTFS, правильно, але у вас також є фрагментація, повільніша, ніж EXT4, і менший рівень безпеки, хоча, якщо вам добре мати його таким чином, він однаково дійсний.
Добре! Хороша порада, але я все одно додав би завдання змінити дозволи на 775 нових файлів при кожному вході, і це вирішило б проблему файлів, переміщених з іншої папки.
Крім того, велике спасибі за обмін!
Цікаво, дякую!
Я піднімаю щось стосовно основної групи спільного використання деяких дистрибутивів gnu / linux. Деякі дистрибутиви створюють користувача з користувачами основної групи, а не використовують первинну групу, рівну імені користувача.
Різниця полягає в тому, що за допомогою основних користувачів групи за замовчуванням все ділиться з користувачами групи, до яких належатимуть усі користувачі, створені в цьому дистрибутиві, якщо замість цього вони створені з тією ж групою, що і ім’я користувача, за замовчуванням нічого не буде бути спільним.
Приклад:
$ ls -l /home/user/*.txt
-rw-r - r– 1 carlos carlos 126 25 березня 2012 р. notes.txt
$ ls -l /home/user/*.txt
-rw-r - r– 1 користувачі carlos 126 25 березня 2012 р. notes.txt
Я не рекомендую використовувати основну групу користувачів, краще створювати власну первинну групу при створенні користувача.
#groupadd Карлос
# useradd -g carlos -G lp, колесо, uucp, аудіо, cdrom, cdrw, usb, lpadmin, plugdev -m -s / bin / bash carlos
-G carlos вказує на використання батьківської групи carlos.
Ви можете змінити основну групу користувача за допомогою # usermod -g, але це не змінить первинну групу всіх файлів і папок, які вже є в / home / carlos, вам доведеться змінити їх усі.
Приклад: змінити користувачів первинної групи з користувача carlos на основну групу carlos, а потім змінити
усі дозволи на файли та папки користувача carlos, щоб вони залишалися carlos carlos.
#groupadd Карлос
# usermod -g користувачів Carlos
# cd / home
# chown -R carlos: карлос карлос
Щодо спільного доступу, ви можете створити користувача, якого називають спільним із вашою спільною основною групою, і, щоб при копіюванні не виникало проблем із дозволом, спочатку ви змінюєте користувача
з "$ su - shared", тоді те, що ви хочете скопіювати в / home / shared, при цьому і дозволи на те, що скопійовано, стануть спільним користувачем.
Якщо вже є файли для копіювання, що належать іншим користувачам та основним групам, вам доведеться змінити їх усі.
# cd / home
# chown -R спільний: спільний спільний
У підвішеному стані залишилось лише те, що я не знаю, як графічно скопіювати як спільний користувач, тобто без необхідності робити $ su - shared
Дуже безглуздо було копіювати графічно, хе-хе, я використовую pcmanfm тут у openbox, але ти можеш використовувати файловий менеджер, який ти маєш або хочеш, він виконується лише як спільний користувач, а не як користувач root.
$ su - ділиться
$pcmanfm
$ дельфін
$ мк
і так далі і тому подібне
Я якраз збирався відповісти на це. Якщо ні, інший - це crontab, який кожного x разу змінює власника файлів на
chown -R compartido:compartido compartido
Мені здається, що команда "usermod -G thenewgroup elusuario" в основному змінює групу користувачів на "thenewgroup". Щоб додати існуючого користувача до нової групи, я вважаю правильним буде "usermod -aG elnuevogrupo elusuario"
Інша справа, що я бачу тут, що кілька людей рекомендують робити "chmod -R 775", але це впливає не тільки на каталоги, але й на всі файли (роблячи їх виконуваними), що створює непотрібний ризик. Краще зробити щось на зразок «find / home / shared -type d -print0 | xargs -0 chmod 755 ", і при необхідності з файлами ви можете зробити щось подібне, але за допомогою" -типу f "та надання дозволу 664.
Нарешті, один із способів зробити так, щоб кілька облікових записів мали доступ до файлу або папки, незалежно від того, хто є власником або групою, - це використання команди "setfacl", яка знаходиться в пакеті acl (якщо я правильно пам'ятаю). Його використання добре пояснено на сторінці посібника.
У мене така проблема. Я створив 4 користувачів (web1, web2, web3, web4), і я хочу створити папку групи доступу для користувачів веб-групи. Коли я створюю файл .htaccess, я знаю, що я повинен поставити require valid-user, але, якщо я поставлю вимагати valid-user web1 web2 web3 web4, щоб вони могли отримати доступ до папки зі своїм паролем, коли я намагаюся отримати доступ до папки він запитує у мене користувача та пароль кожного з них. Як отримати запитання лише про ім’я користувача та пароль того, хто хоче ввести? оскільки передбачається, що один не знає пароль іншого.
Здравствуйте.
Четвертий термінал повинен мати "спільний" множину:
sudo usermod -G поділився себастьяном
sudo usermod -G поділився моєю жінкою
Привіт.
Густаво
Вітаємо:
Ми переходимо з Windows Server на CentOs 6 і все ще перебуваємо в процесі адаптації. Мій запит: чи є в CentOs графічний інтерфейс для обміну папками та надання користувачам доступу для модифікації, редагування та / або видалення файлів ?, Або мені слід виконати всю вищезазначену процедуру.
Дякую за допомогу.
Я також встановлюю centos 6, і я хочу використовувати його з самбою, яка дозволяє мені ділитися файлами з Linux та Windows, я знаю трохи, я мало використовую Linux, але на роботі мене запитали, як я можу це зробити для спільного використання папок, але в графічному режимі ??.
Привіт. Будь ласка, допоможіть мені! ... Виявляється, роблячи це у мого користувача на увазі Linux, тепер я втратив привілеї. Я не можу запускати нічого подібного до судо. Я отримую таке повідомлення "Вибачте, користувач" ім'я користувача "не має права виконувати" command_to_run "як корінь в" ім'я користувача ""
Я думаю, що коли я змінив свого користувача на спільну групу, я забрав привілеї, і як тепер їх відновити ???
Привіт, друже, чи є спосіб зробити те саме, але поділитися файлами з іншими людьми в Інтернет-мережі
Для цього ви повинні використовувати SAMBA як файловий сервер. з повагою
Привіт. Коли я дійшов до команди sudo chmod g + s dirname, вона повідомляє мені, що файл або каталог не існує. Чи знаєте ви, в чому проблема?
Як створити групу в іншій групі?
Лінія:
sudo usermod -G поділився себастьяном
має бути:
sudo usermod -a -G поділився Себастьян
перший спосіб видаляє решту груп користувачів.
а якщо ви спітнілі, ви втрачаєте свої привілеї