Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Как запретить samba-юзеру изменение директории, если на родительскую права 777?  (Прочитано 782 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн vkapas

  • Автор темы
  • Любитель
  • *
  • Сообщений: 93
    • Просмотр профиля
Есть задача: запретить пользователю samba переименовывать/удалять одну из дочерних директорий при условии, что на родительскую директорию у него полные права (через ACL). Такое возможно?

Почти удалось добиться желаемое с помощью sticky bit на родительскую директорию (владелец шары — отдельный системный юзер), но в этом случае пользователь samba лишается прав на изменение всех её дочерних директорий.

Слишком многого хочу?

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
[user]
path=/home/user/samba/
valid users= user1 user2 user3
guest ok=yes
read only=no
create mask=700
directory mask=700

777 в /home/user/samba/
user1 user2 user3 - тди пользователи.
трёх смотрели в папки не может.
как ls /root пишет отказано.


Wars ~.o

Оффлайн vkapas

  • Автор темы
  • Любитель
  • *
  • Сообщений: 93
    • Просмотр профиля
трёх смотрели в папки не может.
как ls /root пишет отказано.
Честно говоря, не понял, о чём речь.

И разве valid users влияет на доступ к определённым вложенным директориям шары?

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
2:L~$
2:L~$ ls ~/samba
2:L~$
2:L~$ smbclient -N //127.0.0.1/user/ -c "mkdir user2" -U user2%1
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.3.11-Ubuntu]
2:L~$
2:L~$ ls ~/samba
user2
2:L~$ ls ~/samba/user2
ls: невозможно открыть каталог /home/victor00000/samba/user2: Отказано в доступе
2:L~$
2:L~$ smbclient -N //127.0.0.1/user/ -c "cd user2;ls" -U user1%1
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.3.11-Ubuntu]
NT_STATUS_ACCESS_DENIED listing \user2\*
2:L~$
2:L~$ smbclient -N //127.0.0.1/user/ -c "cd user2;ls" -U user2%1
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.3.11-Ubuntu]
  .                                   D        0  Wed Mar  1 11:40:20 2017
  ..                                  D        0  Wed Mar  1 11:40:20 2017

961301000 blocks of size 1024. 96784388 blocks available
2:L~$
user2 клиент создать папка user2. а user1 клиенту в открыть папка user2 не может.

откуда userX?
нужно начало создать пользоватль.
sudo useradd user1 -s /bin/false
и пароля.
sudo smbpasswd -a user1
« Последнее редактирование: 01 Марта 2017, 13:05:18 от victor00000 »
Wars ~.o

Оффлайн vkapas

  • Автор темы
  • Любитель
  • *
  • Сообщений: 93
    • Просмотр профиля
victor00000, спасибо за ответ, но, по-моему, вы меня неправильно поняли.

Запрещать чтение директории не нужно, требуется запретить переименовывать и удалять директорию. При полных правах на диреторию-родителя.

Да, я знаю, как разграничивать права разным пользователями samba, и именно так сейчас у меня это работает. У директории, изменение/удаление которой нужно запретить (допустим, share/xyz), владелец уже другой; у группы пользователя Самбы (допустим, sambauser, группа — sambashare) права r-x; и при этом он может делать с директорией всё, что угодно.

(Нажмите, чтобы показать/скрыть)

(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 01 Марта 2017, 16:56:58 от vkapas »

 

Страница сгенерирована за 0.056 секунд. Запросов: 25.