Я устал от всего, что могу придумать, и нашел в сети, что это не работает. даже эта страница

Я создаю директорию partent, добавляю имя группы в систему, присоединяю к ней двух пользователей. добавьте владение dir к этому dir. зайдите как один пользователь, создайте dir, su - другого пользователя, и пусть этот пользователь попытается отредактировать файл первого пользователя, и это мне не позволит.

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

sudo find /run/media/bob/WD3TB/ftp-test/ -type d -exec chmod g+rw '{}' -R \;

sudo chgrp -R ftptest run/media/bob/WD3TB/ftp-test

[bob@voided1 bob2dir]$ mkdir bobDir
[bob@voided1 bob2dir]$ ls -la
 total 12
 drwxr-sr-x 3 bob ftptest 4096 Dec  6 18:25 .
 drwxrws--- 4 bob ftptest 4096 Dec  6 18:18 ..
 drwxr-sr-x 2 bob ftptest 4096 Dec  6 18:25 bobDir

[bob@voided1 bob2dir]$ su userx
Password: 
userx@voided1.what/run/media/bob/WD3TB/ftp-test>> cd bob2dir
userx@voided1.what/run/media/bob/WD3TB/ftp-test/bob2dir>> touch userxFile
touch: cannot touch 'userxFile': Permission denied

userx@voided1.what/run/media/bob/WD3TB/ftp-test/bob2dir>> cat /etc/group
ftptest:x:1002:bob,userx

оба пользователя присоединены к группе ftptest, которая является владельцем группы?

Я могу запустить команду, и она работает, оба могут делать что-либо друг с другом, тогда, когда один или другой создает что-то новое, dir или файл, тогда другой не может коснуться этого. доступ запрещен.

Я даже добавил друг друга в группы друг друга

bob:x:1001:userx,bob
users:x:100:bob,userx

и это тоже не работает.

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

1 ответ1

0

Здесь нужно учесть несколько вещей:

  1. Пользователи должны иметь права на выполнение каталога, чтобы перейти в этот каталог. Когда вы -exec chmod g+rw '{}' -R \; Вы устанавливаете права на чтение ( r) и запись ( w) для каталога. Execute ( x) не установлен. Я бы изменил это на chmod g+rwx '{}'
  2. Если вы находите каждый каталог по этому пути с помощью команды sudo find /run/media/bob/WD3TB/ftp-test/ -type d то избыточно передавать аргумент --recursive ( -R) в chmod .
  3. Вы изменили разрешения для каталога с помощью команды sudo find /run/media/bob/WD3TB/ftp-test/ -type d -exec chmod g+rwx '{}' \; Это дает членам группы разрешения в каталоге для чтения, записи и выполнения (== cd или "move") в подкаталогах. Если вы также хотите, чтобы пользователи записывали файлы, вам нужно добавить вторую команду find . Что-то вроде sudo find /run/media/bob/WD3TB/ftp-test/ -type f -exec chmod g+rw '{}' \; Это дало бы права на чтение и запись для редактирования файлов.
  4. Команда id для пользователя покажет имя группы и номер группы:

    vagrant@host:~$ id 
    uid=1000(vagrant) gid=1000(vagrant),groups=1000(vagrant),4(adm),24(cdrom),27(sudo),118(sambashare)
    vagrant@host:~$
    

    Это важно, так как показывает все группы, к которым принадлежит пользователь vagrant (с UID 1000). Активная группа в настоящее время GID = 1000 (бродяга)

  5. Команда 'ls -ln' покажет номера идентификаторов групп для групп, которым принадлежит файл. Раньше я сталкивался с ситуацией, когда у групп было похожее имя, но разные номера идентификаторов групп.

  6. У вашего пользователя есть активная группа. Если разрешение на запись не работает, попробуйте id для подтверждения членства в группе (например, ftptest), затем newgrp ftptest . Команда id должна впоследствии подтвердить активное членство в группе ftptest

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .