Создание раздельного доступа к выделяемому в сеть дисковому ресурсу.

Автор: bsm Дата: 19.05.2009 18:51 Необходимо предоставить в локальную сеть дисковый ресурс сервера с разграничением прав доступа пользователей. Чтение различных источников на эту тему желаемого результата не дало.

Имею ASPLinux 11, samba установлена-

[bsm@maestro ~]$ yum list samba*
Repository base is listed more than once in the configuration
Repository updates.msiu.ru-other is listed more than once in the configuration
Repository updates-released is listed more than once in the configuration
Setting up repositories
Reading repository metadata in from local files
Installed Packages
samba.i386 3.0.24-1.110asp installed
samba-client.i386 3.0.24-1.110asp installed
samba-common.i386 3.0.24-1.110asp installed
samba-swat.i386 3.0.24-1.110asp installed

Существует группа users-

[root@maestro samba]# grep users /etc/group
users:x:100:

Организованы пользователи-

[root@maestro samba]# grep :100: /etc/passwd
serg:x:1001:100:ua,192.168.0.100,ods:/home/serg:/bin/true
..
bsm:x:1032:100:kb,192.168.0.1,kb-navig:/home/bsm:/bin/bash
..
klimenko_vn:x:1274:100:kb,192.168.0.153,snti:/home/klimenko_vn:/bin/true
..

Для пользователей bsm, klimenko_vn созданы учётные записи для samba-сервера-

/etc/samba/smbpasswd

#
# SMB password file.
#
serg:1001]:/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX]:/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:[DU ]:LCT-00000000:
..
bsm:1032]:/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:5EDAA5203C2F54F0D8F04E2DD2EFEEB1:[U ]:LCT-4A127F4E:
..
klimenko_vn:1274:639C2F50828A15F1AAD3B435B51404EE:CF1C3E14D35A090AF8418BCD8838C117:[U ]:LCT-4A129230:
..

Создана конфигурация samba-сервера (/etc/samba/smb.conf)-

# Samba config file created using SWAT
# from 127.0.0.1 (127.0.0.1)
# Date: 2009/05/19 14:26:14

[global]
dos charset = CP866
unix charset = KOI8-R
display charset = KOI8-R
workgroup = KB-NAVIG
netbios name = INTERNET_SERVER
server string = Internet/Mail Server on Samba %v %h
interfaces = eth0, lo
bind interfaces only = Yes
security = USER
client schannel = Yes
server schannel = Yes
map to guest = Bad User
passwd program = /usr/bin/passwd %u
username map = /etc/samba/usermap
log file = /var/log/samba/%m.log
max log size = 50
name resolve order = wins host lmhost bcast
time server = Yes
deadtime = 3
max open files = 128
socket options = SO_KEEPALIVE SO_BROADCAST TCP_NODELAY SO_RCVBUF=196608 SO_SNDBUF=131072
load printers = No
printcap name = /etc/printcap
os level = 255
preferred master = Yes
wins support = Yes
ldap ssl = no
lock directory = /var/lock/samba
message command = /bin/mail -s "message from %f on %m" root < %s; rm %s
remote announce = 192.168.0.1
panic action = /bin/mail -s "Samba-server %L необходима помощь!" root < %s; rm %s
guest ok = Yes
hosts allow = 127.0.0.1, 192.168.0., 192.168.3., 192.168.7.211-217/255.255.255.0, 192.168.7.230-235/255.255.255.0
preexec = echo "В %T %u подключился к %S" >>/var/log/samba/connect.log
postexec = echo "В %T %u отключился от %S" >>/var/log/samba/connect.log

[soglasovano]
#
# Вто 19 Май 2009 14:50:35
#
# Не получилось создать раздельный доступ к ресурсу
#
comment = С согласования (чтение для всех, запись для нормоконтролёра).
path = /shared/SNTI/soglasovano
valid users = +users
write list = klimenko_vn, bsm
read only = No
create mask = 0664
security mask = 0664
directory mask = 0775
directory security mask = 00

[homes]
comment = Личная папка пользователя на сервере
path = %H
read only = No
guest ok = No
browseable = Yes
locking = No

[ftp]
comment = FTP каталог на сервере (только чтение)
path = /ftp/pub

[na-soglasovanie]
comment = На согласование (полный доступ).
path = /shared/SNTI/na-soglasovanie
read only = No
create mask = 0664
security mask = 0664
directory mask = 0775
directory security mask = 00
Re: Создание раздельного доступа к выделяемому в сеть дисковому ресурсу. 19.05.2009 19:21skv- на каталог /shared/SNTI/soglasovano должны быть права на запись для группы users

А что не получилось-то ? Все вроде правильно.
testparm что выдает?

Смутно вспоминаю, что в дистрибутиве ASP11 была кривая samba. А что в ней было криво, уже не помню.
Re: Создание раздельного доступа к выделяемому в сеть дисковому ресурсу. 19.05.2009 19:26skv- Ага, разглядел.
Чтение для всех при valid users не получится.
На чтение будет пускать только пользователей из группы users
Так что, либо public=yes, либо valid users=
Re: Создание раздельного доступа к выделяемому в сеть дисковому ресурсу. 20.05.2009 09:58bsm skv- Пишет:
-------------------------------------------------------
> на каталог /shared/SNTI/soglasovano должны быть
> права на запись для группы users
>
> А что не получилось-то ? Все вроде правильно.
> testparm что выдает?
>

После внесения изменений в
[soglasovano]
piblic = yes
valid users =

имею-
[root@maestro samba]# testparm
Load smb config files from /etc/samba/smb.conf
Processing section "[homes]"
Processing section "[na-soglasovanie]"
Processing section "[soglasovano]"
Loaded services file OK.
WARNING: You have some share names that are longer than 12 characters.
These may not be accessible to some older clients.
(Eg. Windows9x, WindowsMe, and smbclient prior to Samba 3.0.)
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions

[global]
dos charset = CP866
unix charset = KOI8-R
display charset = KOI8-R
workgroup = KB-NAVIG
netbios name = INTERNET_SERVER
server string = Internet/Mail Server on Samba %v %h
interfaces = eth0, lo
bind interfaces only = Yes
client schannel = Yes
server schannel = Yes
map to guest = Bad User
passwd program = /usr/bin/passwd %u
username map = /etc/samba/usermap
log file = /var/log/samba/%m.log
max log size = 50
name resolve order = wins host lmhost bcast
time server = Yes
deadtime = 3
max open files = 128
socket options = SO_KEEPALIVE SO_BROADCAST TCP_NODELAY SO_RCVBUF=196608 SO_SNDBUF=131072
load printers = No
printcap name = /etc/printcap
os level = 255
preferred master = Yes
wins support = Yes
ldap ssl = no
lock directory = /var/lock/samba
message command = /bin/mail -s "message from %f on %m" root < %s; rm %s
remote announce = 192.168.0.1
panic action = /bin/mail -s "Samba-server %L необходима помощь!" root < %s; rm %s
guest ok = Yes
hosts allow = 127.0.0.1, 192.168.0., 192.168.3., 192.168.7.211-217/255.255.255.0, 192.168.7.230-235/255.255.255.0
preexec = echo "В %T %u подключился к %S" >>/var/log/samba/connect.log
postexec = echo "В %T %u отключился от %S" >>/var/log/samba/connect.log

[homes]
comment = Личная папка пользователя на сервере КБ
path = %H
read only = No
guest ok = No
browseable = No
locking = No
[na-soglasovanie]
comment = На согласование 1 (полный доступ).
path = /shared/SNTI/na-soglasovanie-1
read only = No
create mask = 0664
security mask = 0664
directory mask = 0775
directory security mask = 00

[soglasovano]
comment = С согласования 1 (чтение для всех, запись для нормоконтролёра).
path = /shared/SNTI/soglasovano
write list = klimenko_vn, bsm
read only = No
create mask = 0664
security mask = 0664
directory mask = 0775
directory security mask = 00
[root@maestro samba]#

Все ресурсы не доступны.
Re: Создание раздельного доступа к выделяемому в сеть дисковому ресурсу. 20.05.2009 10:00bsm BigAndy Пишет:
-------------------------------------------------------
> Разделяте при помощи NFS и FTP

Если можно, подробнее.
Re: Создание раздельного доступа к выделяемому в сеть дисковому ресурсу. 20.05.2009 11:02lkanter bsm Пишет:
-------------------------------------------------------
> BigAndy Пишет:
> --------------------------------------------------
> -----
> > Разделяте при помощи NFS и FTP
>
> Если можно, подробнее.

Не обращайте внимания. Нет никакого смысла прикручивать NFS клиент к Windows.
Re: Создание раздельного доступа к выделяемому в сеть дисковому ресурсу. 20.05.2009 11:09bsm lkanter Пишет:
-------------------------------------------------------
> bsm Пишет:
> --------------------------------------------------
> -----
> > BigAndy Пишет:
> >
> --------------------------------------------------
>
> > -----
> > > Разделяте при помощи NFS и FTP
> >
> > Если можно, подробнее.
>
> Не обращайте внимания. Нет никакого смысла
> прикручивать NFS клиент к Windows.

Как же решить проблему?
Сейчас приходится использовать два файла конфигурации, один с правами чтения, второй с правами записи, и менять их в cron-е.
Re: Создание раздельного доступа к выделяемому в сеть дисковому ресурсу. 20.05.2009 12:24skv- Для начала, обновите sambу.

Если Вам надо дать доступ всем на чтение, используйте public=yes, writable=no
Если часть пользователей хотят еще и запись, дополнительно используйте write list
Если ресурс не публичный, вместо public=yes используйте valid users
Можно наоборот, сделать writable=yes, а тем, кому только чтение - read list

Вариантов много, все зависит от целей. Не забывайте про unix-права.
Читайте логи самбы. Там иногда пишут, по какой причине идет разрыв соединения.
И обновите самбу.
Re: Создание раздельного доступа к выделяемому в сеть дисковому ресурсу. 20.05.2009 12:29BigAndy bsm Пишет:
-------------------------------------------------------
> Не понял рекомендации.

Самба - привнесенный и кривой протокол.
NFS иFTP - наиболе простое и быстрдейсвтенное решение.
Re: Создание раздельного доступа к выделяемому в сеть дисковому ресурсу. 20.05.2009 12:30smaharbA А кто запрещает сделать два ресурса с одним назначением ?
Re: Создание раздельного доступа к выделяемому в сеть дисковому ресурсу. 20.05.2009 12:50lkanter BigAndy Пишет:
-------------------------------------------------------
> bsm Пишет:
> --------------------------------------------------
> -----
> > Не понял рекомендации.
>
> Самба - привнесенный и кривой протокол.
> NFS иFTP - наиболе простое и быстрдейсвтенное
> решение.

NFS намного кривее, про FTP я вообще молчу.
Re: Создание раздельного доступа к выделяемому в сеть дисковому ресурсу. 20.05.2009 13:12bsm smaharbA Пишет:
-------------------------------------------------------
> А кто запрещает сделать два ресурса с одним
> назначением ?

Имелось ввиду создание одного ресурса с двумя назначениями?

[soglasovano1]
comment = С согласования 1 (чтение для всех)
path = /shared/SNTI/soglasovano1
force group = users
read only = Yes

[soglasovano1]
comment = С согласования 1 (запись для нормоконтролёра).
path = /shared/SNTI/soglasovano1
host allow = 192.168.0.12
force group = users
writable = Yes
create mask = 0664
security mask = 0664
directory mask = 0775
directory security mask = 00
Re: Создание раздельного доступа к выделяемому в сеть дисковому ресурсу. 20.05.2009 13:24bsm skv- Пишет:
-------------------------------------------------------
> Для начала, обновите sambу.
>
> Если Вам надо дать доступ всем на чтение,
> используйте public=yes, writable=no
> Если часть пользователей хотят еще и запись,
> дополнительно используйте write list
> Если ресурс не публичный, вместо public=yes
> используйте valid users
> Можно наоборот, сделать writable=yes, а тем, кому
> только чтение - read list
>
Попробовал так-
[global]
..
security = USER
guest ok = Yes
..
[na_soglasov2]
comment = На согласование 2 (полный доступ).
path = /shared/SNTI/na_soglasov2
force group = users
writable = Yes
create mask = 0664
security mask = 0664
directory mask = 0775
directory security mask = 00

[soglasovano1]
comment = С согласования 1 (чтение для всех, запись для нормоконтролёра).
path = /shared/SNTI/soglasovano1
force group = users
public = Yes
read only = Yes
write list = klimenko_vn, bsm
create mask = 0664
security mask = 0664
directory mask = 0775
directory security mask = 00

Ресурсы доступны лишь для чтения.

> Вариантов много, все зависит от целей. Не
> забывайте про unix-права.
> Читайте логи самбы. Там иногда пишут, по какой
> причине идет разрыв соединения.
В логах причины отказа нет, лишь фраза "Отказано в доступе"

> И обновите самбу.
Удалять .rpm-пакеты и ставить из исходников?
Re: Создание раздельного доступа к выделяемому в сеть дисковому ресурсу. 20.05.2009 13:43bsm smaharbA Пишет:
-------------------------------------------------------
> А кто запрещает сделать два ресурса с одним
> назначением ?

Сделал так-

[global]
..
security = SHARE
guest ok = Yes
..
[soglasovano1]
comment = С согласования 1 (чтение для всех, запись для нормоконтролёра).
path = /shared/SNTI/soglasovano1
force group = users
read only = Yes

[SNTI_soglas1]
comment = С согласования 1 (запись для нормоконтролёра).
path = /shared/SNTI/soglasovano1
force group = users
browseable = No
hosts allow = 192.168.0.9 192.168.0.153
writable = Yes
create mask = 0664
security mask = 0664
directory mask = 0775
directory security mask = 00

Желаемый результат достигнут.
Всем спасибо.
Тема закрыта.
Re: Создание раздельного доступа к выделяемому в сеть дисковому ресурсу. 20.05.2009 14:00BigAndy lkanter Пишет:

>
> NFS намного кривее, про FTP я вообще молчу.

А В чем кривизна nfs???
Семь лет пользуем и не подозреваем об этом...
Re: Создание раздельного доступа к выделяемому в сеть дисковому ресурсу. 20.05.2009 14:07lkanter BigAndy Пишет:
-------------------------------------------------------
> lkanter Пишет:
>
> >
> > NFS намного кривее, про FTP я вообще молчу.
>
> А В чем кривизна nfs???
> Семь лет пользуем и не подозреваем об этом...

В том, что в традиционном варианте там проверка пользователя идёт только на уровне user id, пока не настроишь какой-нибудь kerberos. То есть если кто получит права рута на одном из клиентских ящиков и создаст юзера с нужным UID, получит доступ к любым ресурсам NFS. Для борьбы с этим раньше разные приблуды типа pcnfsd для авторизации пользователей придумывали.
Re: Создание раздельного доступа к выделяемому в сеть дисковому ресурсу. 20.05.2009 14:49BigAndy lkanter Пишет:

> В том, что в традиционном варианте там проверка
> пользователя идёт только на уровне user id, пока
> не настроишь какой-нибудь kerberos. То есть если
> кто получит права рута на одном из клиентских
> ящиков и создаст юзера с нужным UID, получит
> доступ к любым ресурсам NFS. Для борьбы с этим
> раньше разные приблуды типа pcnfsd для авторизации
> пользователей придумывали.


Уф! я аж выдожнул. ПО NFS обычно локальные расурсы разделяются... На просторы тырнета никто иным спосбом кроме как ssh -C не вылазит.

ПО сравнению с smb/nmb NFS само совершенство.... Уж на что я туп в хакерсве, а, насмотревшись ролики ютьюба взломал на спор соседскую машину. У соседа сейчас линукс...
Re: Создание раздельного доступа к выделяемому в сеть дисковому ресурсу. 20.05.2009 16:40lkanter BigAndy Пишет:
-------------------------------------------------------

> Уф! я аж выдожнул. ПО NFS обычно локальные расурсы
> разделяются... На просторы тырнета никто иным
> спосбом кроме как ssh -C не вылазит.
>
Что мешает инсайдеру получить рута на своём десктопе, подделать UID и получить несанкционированный доступ к NFS? Системные блоки все опломбированы? Улыбка

> ПО сравнению с smb/nmb NFS само совершенство....
> Уж на что я туп в хакерсве, а, насмотревшись
> ролики ютьюба взломал на спор соседскую машину. У
> соседа сейчас линукс...
RSS-материал