Как я настраиваю папку так, чтобы что-либо созданное в ней наследовало полномочия?

У меня есть / папка данных (на самом деле раздел) для всех данных, которые должны быть доступными всеми пользователями (в этом случае члены семьи). Все мы имеем учетные записи отдельного пользователя и часто все зарегистрированы в любое время на этом ПК.

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

21
задан 19 May 2016 в 15:45

7 ответов

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 Install 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 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 .

18
ответ дан 23 November 2019 в 02:08

Đ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.

3
ответ дан 23 November 2019 в 02:08

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.

0
ответ дан 23 November 2019 в 02:08
  1. Создать папку.

    Например:

     mkdir / mnt / family
     

    Если вам нужно смонтировать раздел к ним ... если ext4 все, что вам нужно в / etc / fstab , это

     UUID = xxx / mnt / family ext4 ** rw, exec, defaults, auto  , асинхронный 0 2 **
     
  2. Создать группу myfam.

     addgroup myfam
     
  3. Добавьте пользователей в эту группу

     adduser papa myfam
    приводящая мама myfam
     
  4. Теперь возьмите и дайте разрешение.

    Думаю, вам следует начать с изменения umask .

    Разрешения файловой системы и права доступа по умолчанию в 12.04

     chown -R you.myfam / mnt / family
    chmod -R g + rwx / mnt / семейство
     

    Теперь самое главное. Эта строка создает setgid все, что вы создаете в этой папке, имеет ваших пользователей как владельцев и группу myfam . Это позволило системе переопределить основную группу пользователя.

     chmod -R g + s / mnt / family
     
9
ответ дан 23 November 2019 в 02:08

Это звучит как работа для ACL. Giles имеет очень подробный ответ на сайте SE Unix и Linux, который помог мне решить ту же самую проблему.

2
ответ дан 23 November 2019 в 02:08

Я столкнулся с этим вопросом, когда искал ответы на свою проблему с ГРУППОВЫМ РАЗРЕШЕНИЕМ. Я прочитал вопрос и, кажется, уже реализую то, что пытается выполнить вопрос.

Поэтому я потрудился ответить на него.

Я уже настроил общий ресурс для всех пользователей в моей локальной сети с помощью 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.

0
ответ дан 23 November 2019 в 02:08

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

0
ответ дан 23 November 2019 в 02:08

Другие вопросы по тегам:

Похожие вопросы: