ALT Linux Sisyphus discussions
 help / color / mirror / Atom feed
* [sisyphus] smbfs vs cifs
@ 2009-10-23  7:30 Eugene Prokopiev
  2009-10-23  8:06 ` REAL
  2009-10-24 16:32 ` Eugene Prokopiev
  0 siblings, 2 replies; 8+ messages in thread
From: Eugene Prokopiev @ 2009-10-23  7:30 UTC (permalink / raw)
  To: Sisyphus

Здравствуйте!

Наблюдаю странное поведение cifs по сравнению с smbfs:

# mount.smbfs //server/folder /shared/folder -o
file_mode=0666,dir_mode=0777,password=''
$ touch /shared/folder/XXX
touch: невозможно выполнить touch для `/shared/folder/XXX': Отказано в доступе
$ ls -l /shared/folder/XXX
-rw-r--r-- 1 nobody nobody 0 Окт 23 11:26 /shared/folder/XXX

# mount.smbfs //server/folder /shared/folder -o
fmask=0666,dmask=0777,password=''
$ touch /shared/folder/XXX
$ ls -l /shared/folder/XXX
-rw-rw-rw- 1 root root 0 Окт 23 11:28 /shared/folder/XXX

Это баг или я что-то делаю неправильно?

-- 
С уважением,
Прокопьев Евгений

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [sisyphus] smbfs vs cifs
  2009-10-23  7:30 [sisyphus] smbfs vs cifs Eugene Prokopiev
@ 2009-10-23  8:06 ` REAL
  2009-10-24 16:32 ` Eugene Prokopiev
  1 sibling, 0 replies; 8+ messages in thread
From: REAL @ 2009-10-23  8:06 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussions

Eugene Prokopiev пишет:
> Наблюдаю странное поведение cifs по сравнению с smbfs:

А где тут cifs?

> # mount.smbfs //server/folder /shared/folder -o
> file_mode=0666,dir_mode=0777,password=''
[...]
 > # mount.smbfs //server/folder /shared/folder -o
> fmask=0666,dmask=0777,password=''

> Это баг или я что-то делаю неправильно?

В набор опций попробуйте noperm добавить.

  mount.smbfs //server/folder /shared/folder -o user=логин,noperm

-- 

REAL aka Евгений Ростовцев, программист ЦНИТ КемГУ


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [sisyphus] smbfs vs cifs
  2009-10-23  7:30 [sisyphus] smbfs vs cifs Eugene Prokopiev
  2009-10-23  8:06 ` REAL
@ 2009-10-24 16:32 ` Eugene Prokopiev
  2009-10-25  6:20   ` Alexander Bokovoy
  1 sibling, 1 reply; 8+ messages in thread
From: Eugene Prokopiev @ 2009-10-24 16:32 UTC (permalink / raw)
  To: Sisyphus

> # mount.smbfs //server/folder /shared/folder -o

опечатка, тут должно быть mount.cifs

повесил #22054 - посмотрим, что скажет мейнтейнер

-- 
С уважением,
Прокопьев Евгений

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [sisyphus] smbfs vs cifs
  2009-10-24 16:32 ` Eugene Prokopiev
@ 2009-10-25  6:20   ` Alexander Bokovoy
  2009-10-26  2:53     ` REAL
  2009-10-26  5:32     ` Eugene Prokopiev
  0 siblings, 2 replies; 8+ messages in thread
From: Alexander Bokovoy @ 2009-10-25  6:20 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussions

2009/10/24 Eugene Prokopiev <enp@altlinux.org>:
>> # mount.smbfs //server/folder /shared/folder -o
>
> опечатка, тут должно быть mount.cifs
>
> повесил #22054 - посмотрим, что скажет мейнтейнер
На стороне сервера что?

Если на стороне сервера Samba и у нее разрешены CIFS Unix Extensions,
и uid/gid на клиенте отличаются от сервера, то использовать нужно
именно noperm -- эта опция говорит "не надо локально проверять
uid/gid, они все равно не совпадают с серверными". При этом проверка
прав записи идет на сервере, под той учетной записью, под которой
авторизовались при монтировании и все данные пишутся на сервер под
этой учетной записью.

Если требуется обеспечить возможность чтения/записи всем пользователям
в системе, то необходимо различать два случая:
1. Записываемые файлы получают одного владельца.
2. Записываемые файлы должны иметь своего владельца.

Первый случай возможен -- как раз с комбинацией noperm,uid=,gid=.
Второй случай требует мультиплексирования авторизации и это пока не
работает внятно в случае, если uid/gid не общие на обеих машинах.

У меня работает без проблем монтирование даже без указания noperm и uid=,gid=
# mount -t cifs //192.168.100.31/share /mnt/floppy/ -o user=nmt
$ ls -l /mnt/floppy/Podcast/
итого 0
drwxrwxrwx 1 root root 0 Янв  1  2000 media
$ touch /mnt/floppy/Podcast/file.txt
$ ls -l /mnt/floppy/Podcast/
итого 0
-rwxrwSrwx 1 root root 0 Окт 25 08:17 file.txt
drwxrwxrwx 1 root root 0 Окт 25 08:16 media

$ cat /proc/fs/cifs/DebugData
Display Internal CIFS Data Structures for Debugging
---------------------------------------------------
CIFS Version 1.58
Active VFS Requests: 0
Servers:
1) Name: 192.168.100.31  Domain: BOIDS Uses: 1 OS: Unix
        NOS: Samba 3.0.32       Capability: 0xf3fd
        SMB session status: 1   TCP status: 1
        Local Users To Server: 1 SecMode: 0x3 Req On Wire: 0
        Shares:
        1) \\192.168.100.31\share Mounts: 1 Type: NTFS DevInfo: 0x0
Attributes: 0xf
PathComponentMax: 255 Status: 0x1 type: 0

        MIDs:
-----------------------------------------------------
-- 
/ Alexander Bokovoy

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [sisyphus] smbfs vs cifs
  2009-10-25  6:20   ` Alexander Bokovoy
@ 2009-10-26  2:53     ` REAL
  2009-10-26  7:18       ` Alexander Bokovoy
  2009-10-26  5:32     ` Eugene Prokopiev
  1 sibling, 1 reply; 8+ messages in thread
From: REAL @ 2009-10-26  2:53 UTC (permalink / raw)
  To: ab, ALT Linux Sisyphus discussions

Alexander Bokovoy пишет:
> Если требуется обеспечить возможность чтения/записи всем пользователям
> в системе, то необходимо различать два случая:
> 1. Записываемые файлы получают одного владельца.
> 2. Записываемые файлы должны иметь своего владельца.
> 
> Первый случай возможен -- как раз с комбинацией noperm,uid=,gid=.
> Второй случай требует мультиплексирования авторизации и это пока не
> работает внятно в случае, если uid/gid не общие на обеих машинах.

Насколько я понимаю, второй случай - это явно что-то сомнительное 
весьма: из-под одной учётной записи создавать файлы с разными 
владельцами - это надо su применять, зная пароли этих владельцев. Не 
знаю, чем случай с cifs будет чище, по-моему, такой же грязный подход.

Как я понимаю, нужно подключить к одной машине ресурс при её 
включении, куда бы могли безнапряжно писать все пользователи этой 
машины сразу после авторизации? Ну, устроительство файлопомойки - это 
не та тема, над которой хочется ломать голову :)

-- 

REAL aka Евгений Ростовцев, программист ЦНИТ КемГУ


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [sisyphus] smbfs vs cifs
  2009-10-25  6:20   ` Alexander Bokovoy
  2009-10-26  2:53     ` REAL
@ 2009-10-26  5:32     ` Eugene Prokopiev
  2009-10-26  5:56       ` REAL
  1 sibling, 1 reply; 8+ messages in thread
From: Eugene Prokopiev @ 2009-10-26  5:32 UTC (permalink / raw)
  To: ab, ALT Linux Sisyphus discussions

25 октября 2009 г. 9:20 пользователь Alexander Bokovoy
<ab@altlinux.org> написал:
> 2009/10/24 Eugene Prokopiev <enp@altlinux.org>:
>>> # mount.smbfs //server/folder /shared/folder -o
>>
>> опечатка, тут должно быть mount.cifs
>>
>> повесил #22054 - посмотрим, что скажет мейнтейнер
> На стороне сервера что?

Клиент и сервер сейчас - одна и та же машина:

$ rpm -qa | grep samba
samba-3.0.37-alt1
samba-client-control-1.2-alt2
samba-common-3.0.37-alt1
samba-client-3.0.37-alt1

$ cat /etc/samba/smb.conf
[global]
netbios name = myserver
workgroup = mygroup
server string = My Server
log file = /var/log/samba/log.%m
max log size = 50
security = share
socket options = TCP_NODELAY
dns proxy = no
dos charset = CP866
unix charset = UTF-8
display charset = UTF-8
os level = 100
domain master = yes
preferred master = yes
bind interfaces only = yes
interfaces = lan ats stc lo
load printers = no
printcap name = /etc/printcap
[public]
path = /home/smb/public
comment = Public Access Directory
read only = no
guest ok = yes
create mode = 0666
directory mode = 0777

$ cat /proc/fs/cifs/DebugData
Display Internal CIFS Data Structures for Debugging
---------------------------------------------------
CIFS Version 1.58
Active VFS Requests: 1
Servers:
1) Name: 127.0.0.1  Domain: MYGROUP Uses: 1 OS: Unix
        NOS: Samba 3.0.37       Capability: 0x80f3fd
        SMB session status: 1   TCP status: 1
        Local Users To Server: 1 SecMode: 0x2 Req On Wire: 0
        Shares:
        1) \\localhost\public Mounts: 1 Type: NTFS DevInfo: 0x0 Attributes: 0x2f
PathComponentMax: 255 Status: 0x1 type: 0

        MIDs:

> Если на стороне сервера Samba и у нее разрешены CIFS Unix Extensions,
> и uid/gid на клиенте отличаются от сервера, то использовать нужно
> именно noperm -- эта опция говорит "не надо локально проверять
> uid/gid, они все равно не совпадают с серверными". При этом проверка
> прав записи идет на сервере, под той учетной записью, под которой
> авторизовались при монтировании и все данные пишутся на сервер под
> этой учетной записью.

CIFS Unix Extensions, как я понимаю, разрешены всегда. Мне вполне
достаточно одинаковых uid/gid на клиенте и сервере (независимо от
того, на одной они машине, или на разных), а вот noperm как раз
нежелателен, т.к. файл с видимыми атрибутами 644 оказывается доступным
на запись - и это сбивает пользователей с толку.

> Если требуется обеспечить возможность чтения/записи всем пользователям
> в системе, то необходимо различать два случая:
> 1. Записываемые файлы получают одного владельца.
> 2. Записываемые файлы должны иметь своего владельца.
>
> Первый случай возможен -- как раз с комбинацией noperm,uid=,gid=.
> Второй случай требует мультиплексирования авторизации и это пока не
> работает внятно в случае, если uid/gid не общие на обеих машинах.

Интересен именно первый случай, но без noperm - почему, я описал выше.
Собственно, smbfs работала именно так, как мне надо.

> У меня работает без проблем монтирование даже без указания noperm и uid=,gid=
> # mount -t cifs //192.168.100.31/share /mnt/floppy/ -o user=nmt
> $ ls -l /mnt/floppy/Podcast/
> итого 0
> drwxrwxrwx 1 root root 0 Янв  1  2000 media
> $ touch /mnt/floppy/Podcast/file.txt
> $ ls -l /mnt/floppy/Podcast/
> итого 0
> -rwxrwSrwx 1 root root 0 Окт 25 08:17 file.txt
> drwxrwxrwx 1 root root 0 Окт 25 08:16 media

Не работает никак:

# mount -t cifs //localhost/public /home/smb-mounted/public/
$ touch /home/smb-mounted/public/0
touch: невозможно выполнить touch для `/home/smb-mounted/public/0':
Отказано в доступе
$ ls -l /home/smb-mounted/public
итого 0
-rw-r--r-- 1 nobody nobody 0 Окт 26 08:22 0

Любопытно еще и то, что под рутом запись работает:

# touch /home/smb-mounted/public/1
# echo 2 > /home/smb-mounted/public/2

Но заметьте, что работает оно хитро, файл создается с аттрибутами 644
(и именно это не дает простому пользователю ничего потом с ним
сделать), а потом при необходимости записи аттрибуты меняются (если
пишет именно root):

$ ls -l /home/smb-mounted/public
итого 4
-rw-r--r-- 1 nobody nobody 0 Окт 26 08:22 0
-rw-r--r-- 1 nobody nobody 0 Окт 26 08:24 1
-rw-rw-rw- 1 nobody nobody 2 Окт 26 08:24 2

> $ cat /proc/fs/cifs/DebugData

это я выше показал

-- 
С уважением,
Прокопьев Евгений

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [sisyphus] smbfs vs cifs
  2009-10-26  5:32     ` Eugene Prokopiev
@ 2009-10-26  5:56       ` REAL
  0 siblings, 0 replies; 8+ messages in thread
From: REAL @ 2009-10-26  5:56 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussions

Eugene Prokopiev пишет:
> достаточно одинаковых uid/gid на клиенте и сервере (независимо от
> того, на одной они машине, или на разных), а вот noperm как раз
> нежелателен, т.к. файл с видимыми атрибутами 644 оказывается доступным
> на запись - и это сбивает пользователей с толку.

Это как такого удалось добиться?

-- 

REAL aka Евгений Ростовцев, программист ЦНИТ КемГУ


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [sisyphus] smbfs vs cifs
  2009-10-26  2:53     ` REAL
@ 2009-10-26  7:18       ` Alexander Bokovoy
  0 siblings, 0 replies; 8+ messages in thread
From: Alexander Bokovoy @ 2009-10-26  7:18 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussions

2009/10/26 REAL <root@mmedia2.kemsu.ru>:
> Alexander Bokovoy пишет:
>>
>> Если требуется обеспечить возможность чтения/записи всем пользователям
>> в системе, то необходимо различать два случая:
>> 1. Записываемые файлы получают одного владельца.
>> 2. Записываемые файлы должны иметь своего владельца.
>>
>> Первый случай возможен -- как раз с комбинацией noperm,uid=,gid=.
>> Второй случай требует мультиплексирования авторизации и это пока не
>> работает внятно в случае, если uid/gid не общие на обеих машинах.
>
> Насколько я понимаю, второй случай - это явно что-то сомнительное весьма:
> из-под одной учётной записи создавать файлы с разными владельцами - это надо
> su применять, зная пароли этих владельцев. Не знаю, чем случай с cifs будет
> чище, по-моему, такой же грязный подход.
Нет, второй случай -- это иметь одну точку монтирования и позволять
пользователям при входе в систему добавлять свои credentials в список
используемых, а в cifsfs применять мультиплексирование запросов в
рамках одного соединения с разными credentials. Это все поддерживается
протоколом, но не до конца реализовано в cifsfs.

> Как я понимаю, нужно подключить к одной машине ресурс при её включении, куда
> бы могли безнапряжно писать все пользователи этой машины сразу после
> авторизации? Ну, устроительство файлопомойки - это не та тема, над которой
> хочется ломать голову :)
У меня это работает в штатном режиме, без всяких дополнительных
настроек. Если интересно, я доберусь до монтируемого сервера и
посмотрю настройки на нем (это Popcorn Hour A 110).

-- 
/ Alexander Bokovoy

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2009-10-26  7:18 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-10-23  7:30 [sisyphus] smbfs vs cifs Eugene Prokopiev
2009-10-23  8:06 ` REAL
2009-10-24 16:32 ` Eugene Prokopiev
2009-10-25  6:20   ` Alexander Bokovoy
2009-10-26  2:53     ` REAL
2009-10-26  7:18       ` Alexander Bokovoy
2009-10-26  5:32     ` Eugene Prokopiev
2009-10-26  5:56       ` REAL

ALT Linux Sisyphus discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
		sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
	public-inbox-index sisyphus

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sisyphus


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git