Здравейте
'>
Дистро Федора 4, 2 сървъра:
Server1 --> PDC1
Server2 --> PDC2
PDC2 е trusting на PDC1, съответно PDC2 e trusted на PDC2.
Join WinXP в PDC2, restart, login screen - виждат се и двата домейна
Логвам се в PDC2 без проблем, но в PDC1 не мога да се логна, понеже в /etc/passwd на PDC2 няма такъв юзер.
За целта редактирам smb.con на PDC2, добавям:
add user script = /usr/sbin/useradd %u -g users -s /bin/false -d /dev/null
Опитвам се отново да се логна в PDC1 (примерно с юзер ivan) и отново не се получава, в лога на PDC2 /var/log/samba/winxp.log пише следното:
useradd: unable to lock password file
useradd ....gave 1
Когато се опитам да access-вам някакъв share от PDC2 с юзер от PDC1 (примерно ivan), useradd се изпълнява и в /etc/passwd на PDC2 се добавя ред с юзера ivan
Установявам, че при login процес "add user script = /usr/sbin/useradd %u ......" се опитвa да се изпълнява с юзера nobody, той разбира се няма права да изпълнява командата useradd, не се създава юзер (примерно ivan), и естествено няма как да се логна в PDC1
И сега вече правя следния тест:
редактирам в PDC2: visudo -f sudoers, като добавям реда:
%nobody ALL=/usr/sbin/useradd
редактирам и smb.conf на PDC2
add user script = sudo -u root /usr/sbin/useradd %u ......
....xexe сега нещата вървят, но защо трябва да е така, хммм?
Въпроса ми е - бъг ли това или не? , защо при "map network drive", "add user script =.." се изпълнява като root, както си му е реда и както си пише в man "smb.conf",
а при логин процес "add user script = /usr/sbin/useradd..." се опитва да се изпълнява от името на юзера nobody, които разбира се няма permissions за това ?
Ако греша някъде поправете ме, дайте ми някаква идея или друга алтернатива!
Благодаря ви предварително
'>