Хочу переставить ftp … пишет:
# cl-setup ftp
# * WARNING: FTP server is configured.
Как граматно переснести службы которые были установленны с помощью cl-setup ?
Хочу переставить ftp … пишет:
# cl-setup ftp
# * WARNING: FTP server is configured.
Как граматно переснести службы которые были установленны с помощью cl-setup ?
Для переустановки всех сервисов нужно выполнить команду
cl-setup -f ldap
Затем установить остальные нужные сервисы.
Для переустановки только сервиса FTP, необходимо в файле /etc/calculate/calculate.env закоментировать или удалить строку
sr_ftp_set = on
например так
# sr_ftp_set = on
Затем переустановить сервис.
cl_setup ftp
При этом созданные пользователи сервиса FTP останутся в сервисе UNIX.
Для их удаление используйте команду
cl-userdel имя_пользователя_ftp unix
Большое спасибо!Завтра проверю! Хорошобы пунктик удаление и переустановка описать в мануалах, вещь, согласитесь, очень полезная!
Лучше бы дописать утили по удалению сервисов и их последствий пребывания. Было бы время сам бы изучил перл и написал патч для утили calcalate-server
Такая возможность была и отключена осознанно, чтобы не привести к конфликту систему репликации между серверами. В будущем мы такую поддержку планируем вернуть.
P.S. Calcalate-server написан на питоне.
Не могу выдать нормально права группе, косяк какой-то! Группа ftp_writer_1c не может ни писать ни читать папку 1с!
Как правильно раздавать права?
# pwd
/var/calculate/server-data/ftp
# ls -l
total 0
drwxrwx--- 2 root ftp_writer_1c 48 2010-01-19 06:37 1c
drwxrwxr-x 2 root ftp_writer_all 48 2010-01-18 18:25 pub
drwxrwxr-x 2 root ftp_writer_all 48 2010-01-18 18:25 tmp
# cl-info -u --full ftp
All users in LDAP for service FTP
+------+-----------+----------------+---------------+--------------------------------+----------+
| ID | Login | Name | Primary group | Home directory | Password |
+------+-----------+----------------+---------------+--------------------------------+----------+
| 1001 | 1c | Calculate user | ftp_writer_1c | /var/calculate/server-data/ftp | Yes |
+------+-----------+----------------+---------------+--------------------------------+----------+
# cl-info -u unix
All users in LDAP for service Unix
+------+--------+----------------+---------------+----------------+
| ID | Login | Name | Primary group | Home directory |
+------+--------+----------------+---------------+----------------+
| 1001 | 1c | Calculate user | ftp_writer_1c | /home/1c |
+------+--------+----------------+---------------+----------------+
# id 1c
uid=1001(1c) gid=1001(ftp_writer_1c) groups=1003(ftp_writer_1c)
Протестировал на тестовом сервере. Группа работает.
Для того чтобы пользователь получил группу надо подключится к серверу используя логин
Пример адреса ftp://ftp_user
ftp.server.ru@
Для работы с ftp в firefox можно использовать плагин FireFTP (для записи), чтение возможно без плагина.
Пользователь у меня заходит нормально, вот только почему-то доступ к папке он не имеет, если 777 даю права все нормально и папки создаются и файлики видемы! может в конфиге что-то надо припасть.
Если не сложно может кто-нить выложить:
Я думаю в конфиге дело (у меня стандартный) … он заточен под анонимный доступ, думаю еще деректив надо прописать и путь для анонимауса поправить (создать ему папочку отдельную)
P.S. Calcalate-server написан на питоне.
Упс! Точно… :)))
Немного ошибся … на ftp у меня почему-то группа не сменилась … Подскажите как ее поменять!
# cl-info -u --full ftp
All users in LDAP for service FTP
+------+-----------+----------------+---------------+--------------------------------+----------+
| ID | Login | Name | Primary group | Home directory | Password |
+------+-----------+----------------+---------------+--------------------------------+----------+
| 1001 | 1c | Calculate user | ftpdomain | /var/calculate/server-data/ftp | Yes |
+------+-----------+----------------+---------------+--------------------------------+----------+
А на unix “Primary group” нормально сменилась (как в табличке в предыдущем посте)!
Изменение группы пользователя FTP
1. Вариант (нужный пользователь с нужной первичной группой есть в unix сервисе)
удалить пользователя FTP
cl-userdel 1c ftp
cоздать пользователя FTP
cl-useradd -p 1c ftp
2. Вариант (пользователя в unix сервисе нет)
добавить пользователя с нужной группой
cl-useradd -p -g ftp_writer_1c 1c ftp
Спс, помогло! Т.е. получается одной командой сменить группу у пользователя ftp нельзя (только пересоздавать) … печально конечно.
Честно говоря почему-то не верится в любой базе данных можно изменить или заменить конкретное значение в базе указав параметры, неужеле нельзя одной командочкой и тут обойтись вместо удаления и создания заново пользователя, у него ведь может id сменить и т.д. и потянуть за собой еще какие-нить изменения. У меня к примеру при удалении пользователя по такой схеме удалилась и группа, может из-за того, что он у меня один был в этой группе, но это потянуло за собой удаление группы у папок, на которых стояла эта группа! А еслибы у меня была не одна папка а 100 папок к примеру, тогда как быть?
P.S. это ни в коем разе не критика, я просто хочу выяснить все нюансы, чтоб потом пошагово все описать в статейке!
И надеюсь последний вопрос по поводу уже имеющихся в системе пользователей!
Допустим у меня в системе есть пользователь alektronik
# id alektronik
uid=1000(alektronik) gid=1000(alektronik) groups=1000(alektronik),7(lp),10(wheel),18(audio),19(cdrom),27(video),80(cdrw),85(usb),440(plugdev)
Пытаюсь добавить этому пользователю группу “ftp_writer_1c”:
# gpasswd -a alektronik ftp_writer_1c
unknown group: ftp_writer_1c
Группа в системе существует (по имени пользователя выводит его группы):
# groups 1с
ftp_writer_1с
Не понятно правда каким макаром идет одновременный опрос и фалика /etc/group и LDAP базы, но это мелочи, т.к. в файле /etc/group
нет группы ftp_writer_1с, но при всем при этом команда chgrp (смена группы у файлика) видит мою группу ftp_writer_1с (она хранится только в базе LDAP)
Какже мне добавить пользователю, который изначально в системе, группу, которая была создана вот так:
Добавление группы осуществляется командой cl-groupadd:
# добавить группу pubwriter
cl-groupadd pubwriter unix
???
Заранее спасибо!
cl-groupmod -a ftp_writer_1c alektronik unix
или
cl-usermod -a ftp_writer_1c alektronik unix
у всех команд есть опция --help
–help перечитана мной ни по одному разу …
Не может найти группу
# cl-groupmod -a ftp_writer_1c alektronik unix
* group name not found in Unix service
Но в LDAP она есть (ее нет только в файле /etc/group)
# cl-info -g unix | grep ftp_writer_1с
| ftp_writer_1с | Calculate group | 1005 |
Не может найти пользователя.
# cl-usermod -a ftp_writer_1c alektronik unix
* User alektronik is not found in Unix service
Пользователь есть только в /etc/passwd
# cl-info -U alektronik unix
Information about user alektronik for service Unix
+-------+-------+
| Field | Value |
+-------+-------+
+-------+-------+
(0 rows)
Т.е. в итоге группы нет в самой системе (/etc/group), но она есть в LDAP базе. Поэтому ни cl-groupmod, ни gpasswd не прокатывает.
А пользователь есть в /etc/passwd, но его нет в LDAP unix (в LDAP ftp - он есть).
Вот поэтому и интересуюсь какже выбраться из этой ситуевины!
Сорь за бунт
Порядок “группа-пользователь” немного не тот мне подсказали … хелпнул еще раз
Удалил пользователя на всякий из ftp и с помощью команды:
cl-groupmod -a alektronik ftp_writer_1c unix
Прокатило!
А вот:
cl-usermod -a ftp_writer_1c alektronik unix
НЕ прокатило.
Видимо так как “cl-”-команды изначально обрабатывают только свое (т.е. LDAP), то получается “cl-groupmod” может найти в ЛДАП базе изначально созданную в ней группу, а cl-usermod нет и соответственно понимает что добавлять нечего.
Эта проблемка в далльнейшем будет как-то решена? Может как-то синхронизацию групп и пользователей самой системы с LDAP unix?
А если допустим ситуация такая, что и пользователь и нужная группа изначально созданы в самой системе и в LDAP базах нету информации ни о группе ни о пользователе … ВСЕ НАКРОЕТСЯ МЕДНЫМ ТАЗОМ … :(((
Вариант решения
1. Удалить пользователя alektronik из /etc/passwd
userdel alektronik
2. Добавить его с нужной первичной группой в unix сервис
cl-useradd -g ftp_writer_1c alektronik unix
Плохо … значит вывод один - лучше для ftp не создавать пользователей с уже существующими в системе именами!!! Удаление из passwd не катит, т.к. я под ним сижу, если потом мне захочется удалить сервисы кулькулейта …
И последний вопросик:
Пользователь у меня находится в нескольких группах unix, но его главная группа в ftp прописана как его родная в системе и он не может писать в директории тех дополнительных групп. Т.е. получается что права начинают действовать если главной группой ему присвоена такая же как на папке группа. Получается если в LDAP ftp нет доп. групп (а они там не предусмотрены на сколько я понял), то LDAP unix ему не указ со своими прописанными доп группами. Это так или я что-то напутал?
Пример ниже:
# cl-info -u --full unix
All users in LDAP for service Unix
+------+--------+----------------+------+---------+-------------------+----------------+-----------+----------+----------------------+-----------+------+
| ID | Login | Name | Lock | Visible | Primary group | Home directory | Shell | Password | Last change password | Jabber ID | Mail |
+------+--------+----------------+------+---------+-------------------+----------------+-----------+----------+----------------------+-----------+------+
| 1001 | 1с | Calculate user | No | No | ftp_writer_1с | /home/1с | /bin/bash | No | 20.01.2010 | No | No |
+------+--------+----------------+------+---------+-------------------+----------------+-----------+----------+----------------------+-----------+------+
(1 rows)
web ftp # cl-info -g --full unix
All groups in LDAP for service Unix
+-------------------+-------------------+------+------------------+
| Group | Name | GID | Member UID |
+-------------------+-------------------+------+------------------+
| ftpdomain | Default FTP Users | 1001 | No |
| ftp_writer_all | Calculate group | 1004 | 1с |
| ftp_writer_1с | Calculate group | 1005 | 1с |
+-------------------+-------------------+------+------------------+
(3 rows)
ls -l
total 0
drwxr-xr-x 2 root root 48 2010-01-22 06:57 anonymous
drwxrwx--- 4 root ftp_writer_1с 184 2010-01-22 07:17 1с
drwxrwx--- 2 root ftp_writer_all 48 2010-01-18 18:25 pub
drwxrwxr-x 2 root ftp_writer_all 48 2010-01-18 18:25 tmp
Это так.
Могу предложить переустановить proftpd добавив ключ acl при установке.
(acl был отключен для устранения проблем доступа к публичной директории пользователя аnonymous)
USE="acl" emerge proftpd
Затем используйте ACL в файловой системе и проблема будет решена.
Небольшое замечание: если пакет calculate-server будет обновлен или переустановлен он потребует отключить ключ acl у пакета proftpd. В вашем случае нужно еще раз переустановить proftpd добавив ключ acl при установке.
Alexey Samoukin wrote:
(acl был отключен для устранения проблем доступа к публичной директории пользователя аnonymous)
А если анонимусу выделить отдельную хоум папку … в корень тогда поидее при всем желании не пролезет … поидее!
Как думаете??? Есть в планах как-нибудь доточить работу ФТП-сервера?