Автор Тема: samba - разграничение доступа  (Прочитано 4523 раз)

Оффлайн Badou

  • Участник
  • *
  • Сообщений: 15
нужна помощь с разграничением прав доступа в самбе
есть пользователи 8А,9А и teacher(и соответственно у каждого на каждом компе расшарена 1 папка)
1)пользователь 8А может изменять и просматривать файлы и каталоги у 8А и просматривать у teacher
2)пользователь 9А может изменять и просматривать файлы и каталоги у 9А и просматривать у teacher
3)teacher может просматривать и изменять файлы и каталоги у всех других пользователей

вот я пытался сам настроить, не получается
http://www.mediafire.com/?luluwfa382ldagc
« Последнее редактирование: 15.01.2011 08:51:13 от ruslandh »

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Re: samba - разграничение доступа
« Ответ #1 : 15.01.2011 09:13:43 »
Не надо расшаривать каталоги в /home, т.к. стандартная политика каталогов пользователя не пускает никого в домашний каталог пользователя, кроме хозяина. Обратите внимание, что кроме прав, которые прописываются/ в smb.conf существуют права, установленные в файловой системе, и которые задаются в самих свойствах файлов и каталогов (см права доступа в *nix - те, что видны через ls -l).

Характерны примеры из пакета samba-doc (это только часть примера):
file:///usr/share/doc/samba-doc-3.5.6/htmldocs/Samba3-HOWTO/FastStart.html#anon-rw

Anonymous Read-Only Server Configuration
# Global parameters
[global]
workgroup = MIDEARTH
netbios name = HOBBIT
security = share
[data]
comment = Data
path = /export
read only = Yes
guest ok = Yes

   1.

      Add user to system (with creation of the user's home directory):

      root# useradd -c "Jack Baumbach" -m -g users -p m0r3pa1n jackb

   2.

      Create directory, and set permissions and ownership:

      root# mkdir /export
      root# chmod u+rwx,g+rx,o+rx /export
      root# chown jackb.users /export
....
7. ....
.....
The information above (following # Global parameters) provides the complete contents of the /etc/samba/smb.conf file.

Anonymous Read-Write Document Server

We should view this configuration as a progression from the previous example. The difference is that shared access is now forced to the user identity of jackb and to the primary group jackb belongs to. One other refinement we can make is to add the user jackb to the smbpasswd file. To do this, execute:

root# smbpasswd -a jackb
New SMB password: m0r3pa1n
Retype new SMB password: m0r3pa1n
Added user jackb.

Addition of this user to the smbpasswd file allows all files to be displayed in the Explorer Properties boxes as belonging to jackb instead of to User Unknown.

The complete, modified smb.conf file is as shown in “Modified Anonymous Read-Write smb.conf”.

Example 2.2. Modified Anonymous Read-Write smb.conf
# Global parameters
[global]
workgroup = MIDEARTH
netbios name = HOBBIT
security = SHARE
[data]
comment = Data
path = /export
force user = jackb
force group = users
read only = No
guest ok = Yes

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Re: samba - разграничение доступа
« Ответ #2 : 15.01.2011 09:17:10 »
Обратите внимание на :
      root# mkdir /export
      root# chmod u+rwx,g+rx,o+rx /export
      root# chown jackb.users /export

PS Хотя путь лучше быбрать /var/samba, что-бы не нарушать стандартов именования каталогов в *nix.

Оффлайн Badou

  • Участник
  • *
  • Сообщений: 15
Re: samba - разграничение доступа
« Ответ #3 : 16.01.2011 09:41:00 »
сделал как написано, создал папки в /var/samba/, расшарил их соответственно в smb.conf но тут начались некоторые проблемы....если с пользователем teacher все понятно

comment = teachers doc's
path = /var/samba/teacher
write list = teacher
writable = yes

то когда для пользователя а8 или а9 я добавляю в write list = teacher,a8(a9)

comment = 8А doc's
path = /var/samba/a8
write list = teacher,a8
writable = yes

то пользователь teacher не может создавать и редактировать файлы в папке пользователя a8(a9) но при этом сам пользователь а8(а9) может редактировать и создавать.....

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Re: samba - разграничение доступа
« Ответ #4 : 16.01.2011 10:55:00 »
А взгляните на сервере на права файлов, создаваемых разными пользователями с помощью
ls -l путь_до_файла_или_каталога


Интересуют именно файлы  созданные различными пользователями (хозяин. группа. права). Я думаю - проблема в этом.


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

С пользователем teacher сложнее - он должен иметь полный доступ на чужие файлы, а к его файлам никто не должен иметь доступа.

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




Оффлайн Badou

  • Участник
  • *
  • Сообщений: 15
Re: samba - разграничение доступа
« Ответ #5 : 16.01.2011 11:33:10 »
[root@localhost samba]# ls -l /var/samba/
total 12
drwxr-xr-x 2 a8      root 4096 Jan 16 06:26 a8
drwxr-xr-x 2 a9      root 4096 Jan 16 06:23 a9
drwxr-xr-x 2 teacher root 4096 Jan 16 06:20 teacher
[root@localhost samba]# ls -l /var/samba/a8
total 8
-rwxr--r-- 1 a8 a8 40 Jan 16 06:33 qweqweqwe
-rw-r--r-- 1 a8 a8 23 Jan 16 06:26 qweqweqwe~
[root@localhost samba]# ls -l /var/samba/a9
total 8
-rw-r--r-- 1 a9 a9 26 Jan 16 06:23 Текстовый файл
-rw-r--r-- 1 a9 a9  2 Jan 16 06:23 Текстовый файл~
[root@localhost samba]# ls -l /var/samba/teacher/
total 8
-rwxr--r-- 1 teacher teacher 23 Jan 16 06:32 qwe
-rwxr--r-- 1 teacher teacher 16 Jan 16 06:14 Текстовый файл
[root@localhost samba]#   

тут получается в /var/samba/ есть 3 папки teacher с текстовыми файлами qwe и текстовый файл,a8 с qweqweqwe,a9 с текстовый файл

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Re: samba - разграничение доступа
« Ответ #6 : 16.01.2011 12:06:54 »
Ну, вы сами видите;
 /var/samba/a8 (a9, teacer) доступys на запись только хозину, на чтение - всем
То-же самое и в паках. Т.е. команд, аналогичным этим вы не делали.

chmod u+rwx,g+rx,o+rx /export
chown jackb.users /export

но вообще-то и они не помогут, т.к. пользователи не имеют основной группой группу user

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Re: samba - разграничение доступа
« Ответ #7 : 16.01.2011 12:16:18 »
Вам поможет параметр

forcegroup = users

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Re: samba - разграничение доступа
« Ответ #8 : 16.01.2011 12:17:10 »
ну и
force user = teacher
и т,п.

Всё это смотрю в документации к самбе из пакета samba-doc. Она правда на английском.
« Последнее редактирование: 16.01.2011 12:18:56 от ruslandh »

Оффлайн Badou

  • Участник
  • *
  • Сообщений: 15
Re: samba - разграничение доступа
« Ответ #9 : 16.01.2011 13:36:57 »
а что если попробывать тогда определить административные права доступа для конкретного разделяемого ресурса через admin users = %username% . Как я понял это даст пользователю в самбе те права которые были определены ему рутом к данному файлу/папке

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Re: samba - разграничение доступа
« Ответ #10 : 16.01.2011 14:08:12 »
Можно попробовать для

 admin users=teacher

Оффлайн Badou

  • Участник
  • *
  • Сообщений: 15
Re: samba - разграничение доступа
« Ответ #11 : 16.01.2011 14:54:48 »
уже ничего не понимаю.....возможно все из-за того что я на виртуалке и только 1 машине все пробую, но:
пишу для шар в smb.config всего 3 строки
comment = blablabla
path = путь до каждой
read only = no

и получаю почти то что нужно, единственное что нужно играть с правами доступа к папкам на компе....но тут почему то проблема, он не считает что юзер teacher находится в группах с a8 и a9(у каждого их них своя группа) и поэтому права на группу не действуют, хотя когда пишу id teacher то выдает что он в состоит в их группах

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Re: samba - разграничение доступа
« Ответ #12 : 16.01.2011 15:26:42 »
Параметр forcegroup как раз подменяет группу, в которой находится пользователь.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Re: samba - разграничение доступа
« Ответ #13 : 16.01.2011 15:27:33 »
Надо, что-бы у всех пользователей в самбе была одна группа - teacher.