LINUX.ORG.RU

Dolphin + acl

 ,


0

2

доброго дня. Подскажите как сделать так что бы Dolphin отображал имена пользователей во вкладке дополнительные права.

Ситуация: комп(kubuntu 12.04) в домене samba, сетевые диски подрублены на автоматическое монтирование

//dserver/zakazi        /media/dserver/zakazi   cifs    rw,workgroup=*******,user=********,password=*********,iocharset=utf8,uid=10000002,gid=10000001 0       0
но вместо имён отражаются uid и gid пользователей. Есть ли возможность сделать так, что бы отображались имена? http://itmages.ru/image/view/778224/575100b0



Последнее исправление: cetjs2 (всего исправлений: 1)

uid=10000002,gid=10000001

Ого!
Слушай, а в /etc/passwd и /etc/group такие id вообще присутствуют? Могу поспорить что нет. Потому как именно через эти файлы идет мапинг id и пользователей/групп.

Kroz ★★★★★
()
Ответ на: комментарий от Kroz
id adminroot 
uid=10000002(adminroot) gid=10000001(domain admins) группы=10000001(domain admins),10000000(domain users),10000002(BUILTIN\administrators),10000003(BUILTIN\users)

это доменный пользователь, как я понял их uid и gid не должны пересекаться с локальными

rudra
() автор топика
Ответ на: комментарий от rudra

это доменный пользователь, как я понял их uid и gid не должны пересекаться с локальными

Думаю, что Dolphin смотри именно в /etc/passwd и /etc/group . Попробуй добавь - скорее всего сработает.

Kroz ★★★★★
()
Ответ на: комментарий от drBatty

не даёт создать, говорит есть уже пользователи такие, он их из домена взял и uid присвоил 10000000 и выше, как ему самба велела, на самом серваке uid-ы идут от 3000, наверно надо было в домен входить, прописать так же uid от 3000 ? хотя я где-то читал что не рекомендуется пересечение uid, в целом хз пока чё делать

[global]
        security = domain
        netbios name = ADMINROOT
        password server = SERVER.XXX
        workgroup = XXX
        idmap uid = 10000000-19999999
        idmap gid = 10000000-19999999
        winbind use default domain = yes
        winbind enum users = no
        winbind enum groups = no
        winbind use default domain = yes
        template shell = /bin/bash
        template homedir = /home/%D/%U
        domain master = no
        winbind enum users = yes
        winbind enum groups = yes
        add machine script = /usr/sbin/useradd -d /var/lib/nobody -g 100 -s /bin/false -M %u

rudra
() автор топика
Ответ на: комментарий от Kroz

но uid он с сервака берёт, в /etc/passwd и /etc/group нет таких uid-ов все они с SERVER.XXX идут, да и если uid берёт от туда, почему не вытаскивает и имя?

блин уже часть юзеров по uid-ам запомнил

rudra
() автор топика
Ответ на: комментарий от rudra

usermod тоже к слову не вариант, он из /etc/passwd и /etc/group берёт данные, а там юзеров таких нет. id user сейчас похоже для доменных пользователей работает через самбу и спрашивает конечно у SERVER.XXX, а потом самба преобразует uid в связи со своими настройками. хз где она их хранит, эти uidы.

rudra
() автор топика
Ответ на: комментарий от rudra

так настрой pam с nss чтобы брали пользователей с сервера.

Atlant ★★★★★
()
Ответ на: комментарий от rudra

не даёт создать, говорит есть уже пользователи такие, он их из домена взял и uid присвоил 10000000 и выше, как ему самба велела, на самом серваке uid-ы идут от 3000, наверно надо было в домен входить, прописать так же uid от 3000 ? хотя я где-то читал что не рекомендуется пересечение uid, в целом хз пока чё делать

ССЗБ. надо было делать юзеров с одинаковым UID (как на сервере, так и на клиенте). Ты зачем-то сделал с UID > 10000000, вот теперь и получай отсутствие конфликтов, и отсутствие совпадений UID. Но тебе похоже нужно нечто иное? (совет: удали юзеров с большим uid и создай новых, с тем uid, как нужен)

PS: Пересечение uid не рекомендуется. Это так. Вот только у тебя не пересечение: юзер xyz _везде_ должен быть xyz. Это НЕ пересечение, это просто такой ОДИН юзер. Ты же этого хочешь? Плохо, когда два РАЗНЫХ юзера имеют одинаковый UID. Это и есть - пересечение.

PPS: и да, username это всего лишь метка, которая ни на что не влияет. ВСЕ операции проводятся по uid.

drBatty ★★
()
Ответ на: комментарий от rudra

а потом самба преобразует uid в связи со своими настройками. хз где она их хранит, эти uidы.

в /etc/passwd на сервере. Передаёт только uid. Впрочем, возможно самба умеет и преобразовывать uid'ы, например если на клиенте есть user5 с uid==666, а на сервере user5 с uid=123, то самба может(?) преобразовать uid 123->666, и файл будет иметь правильное имя user5. rsync так умеет, про самбу не в курсе, ибо не юзаю.

drBatty ★★
()
Ответ на: комментарий от rudra

но uid он с сервака берёт

Нет, из файловой системы

да и если uid берёт от туда, почему не вытаскивает и имя?

Потому что на любой файловой системе в свойствах файла есть только uid/gid, Буквенные имена сделаны только для удобства пользователей.

Это как в сети: система оперирует IP адресами, имена - для удобства пользователей. Да, там есть сетевая централизованная служба для резолвинга IP<->имя, но там для этого есть веские основания, ты ж не хочешь такие же службы городить для фс.

В общем, понимай принципы, и делай соответственно.

P. S. Мне казалось, что samba позволяет задать конкретный ID конкреному пользователю, разве нет? Вот здесь говорится, что за это отвечают такие службы как NIS, AD, LDAP, PAM. А вот здесь есть конкретное решение. И вообще, гугли по теме idmap.

Kroz ★★★★★
()
Ответ на: комментарий от drBatty

совет: удали юзеров с большим uid и создай новых, с тем uid, как нужен

этих юзеров нет локально, как я их удалю? юзеры доменные, живут на сервере в ldap, samba просто берёт их от туда, и меняет uid, без строчек idmap uid доменный юзер зайти не может

rudra
() автор топика
Ответ на: комментарий от Kroz

таки и берёт ведь из ldap больше не откуда доменных пользовательй взять,

А вот здесь есть конкретное решение

это не то, в статье описывается случай если вдруг я выду из домена и зайду обратно, то могу получить другие uidы и потеряю права на хомяков, в принципе функция полезная, я не знал о ней, но решению конкретной проблемы с отображением имен не поможет, кароче плюнул я на это дело буду правами рулить с консоли, смотреть и ставить

rudra
() автор топика
Ответ на: комментарий от rudra

этих юзеров нет локально, как я их удалю? юзеры доменные, живут на сервере в ldap, samba просто берёт их от туда, и меняет uid, без строчек idmap uid доменный юзер зайти не может

судя по скрину:

http://itmages.ru/image/view/778224/575100b0

у тебя владелец файла 3006.

drBatty ★★
()
Ответ на: комментарий от drBatty

у тебя владелец файла 3006

это acl права, владелец к слову вполне по человечески отображается на основной вкладке, но возможно это из за явного указания имени в fstab.

//server/zakazi	/media/server/zakazi	cifs	rw,workgroup=XXX,user=adminroot,password=********,iocharset=utf8,uid=10000002,gid=10000001 0       0
3006 это uid с сервака

rudra
() автор топика
Ответ на: комментарий от rudra

3006 это uid с сервака

ну вот и создай юзера с таким uid, и он будет отображаться по-человечески. В чём проблема-то?

drBatty ★★
()
Ответ на: комментарий от drBatty

проблема в том, что допустим v.pupkin на сервере 3006 а локально 1000000050000 и я не могу создать его ещё раз, поскольку я в домене, и такой пользователь уже есть, на что и ругается useradd и uid на своей машине я ему поменять не могу, поскольку usermod ищет в /etc/passwd, где пупкина нет и не было никогда. Да и вообще мне кажется это тупо баг. Я поглядел, не отображаются только acl, настоящие права вполне по нормальному отображаются. И когда я назначаю права acl через долфин, я назначаю пользователям по имени, а после закрытия и заново открытия вкладки с доп правами acl, вместо имени остаётся uid с сервака.

rudra
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.