Статья предназначена для начинающих сисадминов, которые молодцы и переходят с Windows server на Ubuntu server.
Вы установили терминальный сервер с помощью статьи Установка терминального сервера на базе Ubuntu Server 12.04 LTS 64-bit для работы c платформой 1C 8.3. и у Вас возникают проблемы с запуском 1С. Или не пускает второго и последующего пользователя.
Самая главная проблема, из-за которой возникает данная ошибка, это неправильно выставленная маска umask
Я не буду долго описывать эту команду, скажу только, что она устанавливает права доступа на вновь создаваемые файлы.
Запустите терминал под обычным пользователем и наберите
umask
Если результат 0022, то, скорее всего, проблема именно в этом. Необходимо поменять значение umask для системы.
Под администратором нужно отредактировать два файла
/etc/pam.d/common-session
/etc/pam.d/common-session-noninteractive
и отредактировать строку session optional pam_umask.so
к виду
session optional pam_umask.so umask=
0002
Перегрузите сервер и снова проверьте umask под обычным пользователем. Результат должен быть 0002
Далее нужно просто установить права доступа на программу и базы.
Предполагаем, что программа установлена в каталог /opt/1C
Базы находятся в в каталоге /usr/local/1c_bases
Тогда устанавливаем пользователя и группу на каталог и подкаталоги программы
sudo chown -R usr1cv8:grp1cv8 /opt/1C
устанавливаем права доступа и владельцев на каталоги и подкаталоги баз данных
sudo chown -R usr1cv8:grp1cv8 /usr/local/1c_bases
sudo chmod -R g+sw /usr/local/1c_bases
Ну, и конечно, все пользователи, которые работают с 1С, должны принадлежать группе grp1cv8.
Все, можно работать. А как настроить печать, я написал в этой статье.
Спасибо, позновательно. Наверное в скором времени решусь поставить 1с на Linux.
(1) baracuda, Ставьте обязательно. Только сначала тестируйте. Там не все функции работают так как в винде.Есть определенные проблемы. Но разработчики программу дорабатывают. Так что пробовать нужно. Возможно, скоро все будем работать на чем-то вроде Linux.
(1) baracuda, сейчас в линуксе намного проще через веб-сервер и тонкий клиент работать.
(3) Fragster, А файловый режим при этом поддерживается?
(4) viptextil, да
Я не далее как три дня назад ставил файловый вариант Бух.8.3 (x64) на Ubuntu Server 16.04.
Да, действительно, с правами на Linux всё жестко. Особенно, после входа через web клиента, файлам блокировки присваивался владелец www-data.
Я папке базы 1с присвоил права:
Чтение: Владелец и группа
Запись: Владелец и группа.
При этом, база закачивалась под первым созданным пользователем Ubuntu — user. К нему в группу я добавил, всех других создаваемых пользователей и www-data.
А в группу www-data — этих же пользователей и user.
www-data создаёт 1с при публикации веб сервера.
Пользователя grp1cv8 и его группу при администрировании я никак не задействовал.
Уточняю свой пост выше.
Сейчас получил лицензию на одного пользователя, к сожалению, при регистрации 1С в Ubuntu не было кнопки регистрации сетевой лицензии (5комп.) сразу на комп, надо регистрировать отдельно на каждого пользователя.
И так, пользователя www-data создает апач и если заходить через web браузер на 1с, то файлы блокировки создаются от его имени. Первую лицензию я получил для пользователя term1, поэтому web доступ не работал. Я изменил в /etc/apache2/envvars
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
на своего term1
и вставил строку в этот файл, чтоб апач создавал файлы с правами 666 на файлы и 777 на папки:
umask 000
web доступ к 1с заработал.
Дополнение.
web доступ заработал, только если пользователь term1 не был в терминальной сессии.
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
www-data в файле etc/apache2/envvars я вернул назад, umask 000 оставил.
зарегистрировал вторую лицензию на пользователя, лицензии складываются в пользовательский профиль:
/home/Пользователь/.1cv8/1C/1cv8/conf (включите показ скрытых файлов)
я их перенёс, в папку /var/1C/licenses
!!НЕ Копировать!!, (для сохранности можно за архивировать) если 1С при запуске найдёт на компе две одинаковые лицензии, будет ругаться.
Теперь одновременно может работать один терминальный + один web.
Более лицензии активировать не стану, пусть бухи потренируются.
Спасибо, viptextil, наставил меня командой umask на путь истинный. 🙂
(8) jeromi, Я не использую web доступ к базе, но все же, может стоило попробовать
export APACHE_RUN_USER=usr1cv8
export APACHE_RUN_GROUP=grp1cv8
(9) viptextil, может быть, если бы мне удалось активировать лицензию (5комп) «На этот компьютер», но 1С дала только «Для текущего пользователя».
Но думаю, что не получится, так как при web доступе, апач создаёт файл блокировки 1Cv8.1CL c правами на
чтение: Владелец и группа , а вот запись: только Владелец. , а надо бы Владелец и группа.
То есть, на запись и изменения были бы права только у usr1cv8 и для остальных база была бы залочена.
Так, что я поправил etc/apache2/envvars, внеся umask 000 и апач стал создавать файлы блокировок доступные на запись: Владельца + группа
1с базу я загружал на Ubuntu под именем user, он Владелец базы 1С, его группа выглядит так (/etc/group):
user:x:1000:term1,term2,term3,user,www-data
Сейчас заходим и с web браузера (2подключения) + терминально, всё гуд.
ещё раз, Спасибо за статью.
(10) jeromi, владельца и группу файла всегда поменять можно. sudo chown Так что не важно, под каким пользователем загружалась база.
Спасибо за статью!
Некоторые поправки (мое ИМХО):
Ссылка на эту документацию.
1. Не уверен, что нужно менять владельцев на папку с самой платформой. Как они изменятся после ее обновления? Да и нужно ли это? Не уверен.
2. Очень важно устанавливать umask именно в /etc/pam.d, т.к. установка в ~/.bashrc, как я делал раньше, не помогает, файлы блокировок все равно создаются с неверными правами.
3. При этом, мне хватило установки umask=0007, как рекомендуется в документации Wine@ETERSOFT (да, у меня на терминале еще и 7-ка работает :)).
4. В той же документации от Этерсофта говорится, что нежелательно устанавливать sticky bit на файлы, но только на папки, поэтому я применил к папке с базами данных 8.3 скрипт setwineshare от Этерсофта, который устанавливает права на каталоги с базами в 2770 (rwxrws—).
(12) makus, Да, правы Вы. Но только отсутствие прав доступа для всех периодически создает проблемы при расшаривании ресурсов через samba. А так, да, Вы правы.