У меня есть / папка данных (на самом деле раздел) для всех данных, которые должны быть доступными всеми пользователями (в этом случае члены семьи). Все мы имеем учетные записи отдельного пользователя и часто все зарегистрированы в любое время на этом ПК.
Как я могу настроить полномочия так, чтобы все мы сохранили доступ к файлам там, неважно, кто создает их, включая новые папки? Если я создаю папку, это получает моего пользователя и группу, таким образом, никто больше не может записать в него.
Một cách tiếp cận khác là sử dụng Access Control Lists, a tập hợp các quyền đối với tệp.
Trước hết, chúng tôi phải cài đặt gói acl :
sudo apt-get install acl
Trước Ubuntu 14.04 , phân vùng phải được gắn với tùy chọn acl
để những thứ sau hoạt động. Nó có thể được thêm vào / etc / fstab
, như trong
UUID=<XXXX> /media/shared ext4 noatime,acl 0 2
hoặc cho một hệ thống tệp đã được gắn kết
sudo mount -o remount,acl /media/shared
Tiếp theo, bạn nên tạo một nhóm mới, mà tất cả người dùng được phép truy cập vào phần chia sẻ đã đọc / chế độ ghi sẽ được thêm vào. Tôi gọi nó là usershare
. Có thể sử dụng nhóm đã tồn tại.
sudo addgroup usershare
Bây giờ chúng tôi thêm người dùng enzotib
và steevc
vào nhóm đó:
sudo gpasswd -a steevc usershare
sudo gpasswd -a enzotib usershare
(có hiệu lực ở lần đăng nhập tiếp theo).
Sau đó, chúng tôi thêm ACL có quyền rwx
cho nhóm usershare
vào tất cả các tệp đã có trong / media / shared
sudo setfacl -Rm g:usershare:rwX /media/shared
Cuối cùng, chúng tôi thêm ACL mặc định với rwx
quyền đối với nhóm userhare
đối với tất cả các tệp được tạo từ bây giờ trở đi bên trong / media / shared
sudo setfacl -d -Rm g:usershare:rwX /media/shared
Giờ đây, tất cả người dùng của nhóm usershare
đã đầy quyền đối với tất cả các tệp trong / media / shared
. Quyền của mỗi người dùng trên thư mục chính của họ và của người khác không bị ảnh hưởng.
Tôi đã thử nghiệm giải pháp này và có vẻ hoạt động, nhưng chúng tôi hoan nghênh các đề xuất và sửa chữa.
Ghi chú : các tệp và thư mục mới được tạo trong thư mục được xem xét sẽ có quyền ghi cho nhóm usershare
, nhưng các tệp được sao chép hoặc di chuyển trong thư mục sẽ giữ lại quyền ban đầu của chúng. Nếu người dùng, như tôi hiểu, chỉ yêu cầu quyền ghi vào các thư mục mới được tạo, thì đây không phải là vấn đề. Nếu không, nó sẽ sửa đổi các quyền bằng tay. Xem câu trả lời này để biết cách khắc phục điều này bằng cách xác định umask của người dùng thành 002
.
Điều đơn giản nhất mà bạn nghĩ đến là thêm từng người dùng vào nhóm của tất cả những người dùng khác.
Sau đó, thay đổi umask của từng người dùng từ 022 thành 002, điều này có thể được thực hiện trong / etc / profile
.
Chỉnh sửa
Bước đầu tiên có thể được thay thế bằng bước sau: tạo tất cả người dùng thuộc về người dùng
làm nhóm chính.
Edi2
Như @James_Henstridge đã đề xuất, có thể thuận tiện để đặt bit setgid trên thư mục chính, để các tệp và thư mục mới được tạo sẽ có cùng nhóm của nó, không phụ thuộc vào người dùng. Bằng cách này, bạn có thể tránh đặt người dùng
làm nhóm chính cho người dùng.
Tôi không hiểu, tất cả đều là linux-linux, linux-windows, linux - ???, sử dụng Samba ?, SSH ?, Chim bồ câu ?;Dù sao thì bạn cũng cần đưa những người khác vào Nhóm bằng tên người dùng của bạn (Nhóm của bạn) và họ sẽ nhận được các quyền giống như bạn.
Создать папку.
Например:
mkdir / mnt / family
Если вам нужно смонтировать раздел к ним ... если ext4 все, что вам нужно в / etc / fstab
, это
UUID = xxx / mnt / family ext4 ** rw, exec, defaults, auto , асинхронный 0 2 **
Создать группу myfam.
addgroup myfam
Добавьте пользователей в эту группу
adduser papa myfam
приводящая мама myfam
Теперь возьмите и дайте разрешение.
Думаю, вам следует начать с изменения umask
.
Разрешения файловой системы и права доступа по умолчанию в 12.04
chown -R you.myfam / mnt / family
chmod -R g + rwx / mnt / семейство
Теперь самое главное. Эта строка создает setgid
все, что вы создаете в этой папке, имеет ваших пользователей как владельцев и группу myfam
. Это позволило системе переопределить основную группу пользователя.
chmod -R g + s / mnt / family
Это звучит как работа для ACL. Giles имеет очень подробный ответ на сайте SE Unix и Linux, который помог мне решить ту же самую проблему.
Я столкнулся с этим вопросом, когда искал ответы на свою проблему с ГРУППОВЫМ РАЗРЕШЕНИЕМ. Я прочитал вопрос и, кажется, уже реализую то, что пытается выполнить вопрос.
Поэтому я потрудился ответить на него.
Я уже настроил общий ресурс для всех пользователей в моей локальной сети с помощью read и выполнять только,и только моя учетная запись имеет разрешение на запись в общие папки.
У меня есть многоцелевой сервер в моей локальной сети, который использует ubuntu 12.04 LTS Desktop Edition. У меня смешанные клиентские машины с Linux и Windows.
Вот как я это настроил:
1. На моем сервере у меня есть учетные записи пользователей с именами admin
и clientone
] Учетная запись admin
- это учетная запись, созданная при установке ubuntu, а учетная запись clientone
- это учетная запись, созданная с помощью меню USER ACCOUNTS в ubuntu. У него есть только стандартное разрешение, никаких прав администратора, и он добавлен в группу пользователей
. Конечно, вы можете сделать это, используя только терминал. Добавьте дополнительные учетные записи пользователей для своих клиентских машин.
2. Общий раздел / папка автоматически монтируется в fstab с использованием только параметра по умолчанию.
3. Моя сеть находится в среде рабочей группы, и она находится на mylan
рабочая группа.
Все машины в моей локальной сети настроены на использование рабочей группы mylan
.
4. В моей общей папке с именем shared
уже есть файлы. Поэтому я рекурсивно меняю владельца и группу для него, используя команду ниже.
sudo chown -Rv admin:users /shared
5. Я также рекурсивно установил права доступа к папке и файлу для папки / shared
, используя команду
sudo chmod -Rv 750 /shared
гостевые машины в моем ] mylan
рабочая группа не имеет доступа к общему ресурсу с помощью chmod 750
, вы можете использовать
sudo chmod -Rv 755 /shared
Все будущие учетные записи пользователей в группе users
имеют только разрешение на чтение и выполнение.
6. На моей клиентской машине (Windows XP) я настраиваю учетную запись пользователя с именем clientone
. То же имя пользователя и пароль, что и на моем сервере ubuntu. Вторая учетная запись с именем clienttwo
также создается на сервере ubuntu, и это та же учетная запись пользователя, которая использовалась на моей второй машине (linuxmint 15).
7. На моей клиентской машине одна после входа в систему с использованием ] clientone
account, я запускаю команду, затем ввожу
//192.168.10.254/shared
192.168.10.254
- это IP-адрес моего сервера ubuntu, / shared
- это папка, совместно используемая на моем сервере ubuntu. клиентская машина 2 (linuxmint 15), я перехожу в Меню> Сеть и в диалоговом окне Местоположение: набираю:
smb://192.168.10.254/shared
Если вас попросят ввести пароль, введите пароль своей учетной записи. А также ваш пароль связки ключей, если KEYRING включен на ваших Linux-машинах.
Этот пароль работает для меня в моей собственной сетевой настройке. Мой сервер - это многоцелевой сервер, который служит сервером squid, сервером xbmc, mediatomb и сервером amahi.
Я все еще ищу способы улучшить разделение файлов в моей системе. Приведенная выше инструкция не является пуленепробиваемым решением, купите, вы можете попробовать. Я тестирую и пробую «ACL» вместе с автоматическим монтированием общих папок. Поскольку ваши требования к совместному использованию папок усложняются, приведенная выше инструкция не гарантирует вам успеха.
Добавлена информация:
На моем сервере установлен сервер Amahi, я также использовал его для создания учетных записей пользователей, к которым я хотел иметь доступ общие папки. Я также использовал его для создания новых общих папок.
Если вам нужны более сложные права доступа для разных пользователей, лучше всего использовать ACL.
На мое имя записаны видеофайлы, но когда я вхожу в систему с именем дочери, ее учетная запись не может видеть видеофайлы. Итак, я зашел в учетные записи пользователей, разблокировал (вверху справа), затем изменил тип ее учетной записи со «стандартного» на «администраторский» (это моя учетная запись), и теперь все видеофайлы, действительно все, отображаются при входе в систему под своей учетной записью.