В системе CentOS7 я установил samba для создания общего ресурса для клиентов Windows, выполнив следующие действия:

mkdir /samba/myShare

Затем я определил /samba/myShare как свою общую папку через файл smb.conf . После этого я сделал следующие шаги:

chmod 777 /samba/myShare #(drwxrwxrwx)
mkdir /samba/myShare/myFolder
chmod 774 /samba/myShare/myFolder #(drwxrwxr--)

Теперь я подумал, что каталог myFolder будет защищен от изменения его имени или удаления с помощью пользователей Windows, просто предоставив разрешение на чтение "другим пользователям", но это не так. Сам каталог оставался доступным для записи. Затем я начал поиск в Google и пришел к выводу, что каталог остается доступным для записи, поскольку в качестве дочернего каталога он получает разрешения от своего материнского каталога, который в моем случае называется /samba/myShare . Но теперь приходит странная вещь, которая меня сильно смущает:

  • Когда я делаю chmod 773 /samba/myShare/myFolder (drwxrwx-wx), я больше не могу изменить или удалить сам каталог через Windows. Может кто-нибудь объяснить, что это такое?
  • Почему я могу удалить и изменить myfolder через клиент Windows, когда я устанавливаю разрешения для drwxrwxr-- и не могу удалить или изменить ее, когда я устанавливаю разрешения для drwxrwx-wx?

Запись в smb.conf может быть полезна:

[global]
workgroup = SAMBA
security = user
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = yes
cups options = raw
map to guest = bad user`
`[myShare]
comment = myShare
path = /samba/myShare
public = yes
writeable = yes

Ах да: я знаю, что установка 777-разрешений не очень распространена, но это было только для тестирования.

1 ответ1

0

В Unix стирание или переименование файла / каталога - это действие над его родительским каталогом. Флаги доступа применяются к индексу, указанному в имени.

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