Т.е. если в качестве клиента linux - то создается с верхними, а если win - то с нижними (правильными) ? А по-моему верхний пример - это прямо на самой linux-системе, выступающей в роли сервера, вы данные создаете. Конечно там будет все не так как в самбе указано.
Т.е. если в качестве клиента linux - то создается с верхними, а если win - то с нижними (правильными) ? А по-моему верхний пример - это прямо на самой linux-системе, выступающей в роли сервера, вы данные создаете. Конечно там будет все не так как в самбе указано.
Как решить проблему с созданием каталогов и файлов на самбе при использованиии в качестве клиента linux?
я не уверен, но предполагаю, что, при создании файлов линукс-клиентом ему ставятся права, соответственно тому, какой у вас mask на клиенте.
мне кажется, что, более глобальным решением было бы включить наследуемые права с помощью acl.
короче включить поддержку acl, смонтировать то место, где у вас самба с acl и поставить там дефолтные права на каталог.
примерно так:
(или какие вы хотите.)
п.с. при правильно настроенной самбе можно будет acl-ные права менять прямо из винды по "правая кнопка -> св-ва -> безопастность".
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Нет особого желания связываться с acl. Меня то по большей части устраивают стандартные пермишены. Но мне не понятно почему из винды все работает как положено, а из линукса нет.
Кстати в линуксе при монтировании можно указывать опции file_mode и dir_mode. Но хоть указывай, хоть не указывай положительного результата нет.
п.с. при правильно настроенной самбе можно будет acl-ные права менять прямо из винды по "правая кнопка -> св-ва -> безопастность".
Это мало кому интересно. Т. к. на подавляющем большинстве клиентов стоит linux и вряд ли пользователи будут что то менять, а мне без разницы оперировать пермишенами линукса или винды.
p.s. вида стоит на терминальном сервере для 1с и нескольких клиентах.
Но мне не понятно почему из винды все работает как положено, а из линукса нет.
я вот боюсь утверждать наверняка, но я не уверен. что так положено :-)
мысли такие:
1. ваш пользователь имеет права сменить права на файл.
2. у вас на линуксовой машине есть некоторый mask, не связаный с тем, который на самбе.
3. вы создаете файл и ваш линуксовый клиент меняет права (п.1) в соответствии с (п.2).
я не готов под этим расписываться жирной подписью, но, проверьте, поменяйте mask на линуксовом клиенте - посмотрите что будет.
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Все чудно получилось и казалось бы можно отмечать успех. Однако не тут то было.
Решил проверить через файловый менеджер. У меня на данный момент это Nautilus 2.28.4
Создаем каталог и файл и в консоли смотрим пермишены
при задании umask работает через консоль и не работает через графику.
не совсем так.
при задании umask это работает в той консоли, в которой вы его задавали. в других консолях, либо в приложениях, запущенных из других консолей или из графики это работать не будет, там umask не менялся.
если вас устроит, что umask поменяется для всей системы - можете отредактировать её, например в /etc/profile.
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
А можно не для всей системы, а лишь для того юзера который залогинен на данный момент?
Например, я нашел в домашнем каталоге юзера файл .profile. Он по содержимому напоминает /etc/profile. В файле .profile есть следующие строки
# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022
Не совсем понятно то ли это что мне нужно?
С другой стороны мне необходимы такие маски лишь на примонтированных шарах самбы. Монтирование происходит скриптом при логине юзера. Может быть команду umask прописать в этом скрипте? Однако, судя по вашему комментарию выше вряд ли такой вариант окажется рабочим.
Изначально конкретно в моем профиле не было файла .profile. Пришлось скопировать с другой рабочей станции. Выставил в этом файле umask 000. Теперь файлы создаются с такими масками какие мне необходимы. Спасибо за помощь.
Содержимое .profile
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.
# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022
umask 000
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ]; then
PATH="$HOME/bin:$PATH"
fi