У меня проблемы с конфигурацией Samba. Я использую Samba уже около 12 или 13 лет, и никогда не видел этого раньше. Было время, когда я был довольно хорошо осведомлен о доменах Windows, но мир Windows прошел мимо меня, и различные аспекты Samba, которые выросли вместе с Active Directory, сбивают меня с толку.
Моя настройка очень проста. У меня есть только один сервер с некоторым дисковым пространством и принтер, который я хочу предоставить для совместного использования 4 другими компьютерами. Все эти годы я использовал простой домен с одним PDC. В последнее время что-то изменилось. Я не могу понять, перешло ли это на Lucid или это было определенное обновление Samba, но что-то постоянно ломается в моей базе данных.
Время от времени пароль моей учетной записи становится «неправильным». Я смогу войти в систему — используя кэшированные учетные данные, я полагаю — но я не смогу монтировать диски или печатать на принтере. Я думаю, это происходит примерно каждые 30 дней. Может быть, каждые 45. Я справлялся с этим, просто сбрасывая пароль на сервере, но это стало действительно раздражать. Кроме того, я замечаю по журналам, что пароли машин также становятся запутанными.
Я наконец догадался, что моя база данных, которую я переносил и обновлял уже около дюжины лет, просто слишком устарела, поэтому я удалил ее и начал с нуля на новом домене. Теперь это происходит снова, так что проблема явно была не в этом.
Я думал, что это касается только моего компьютера с Windows 7, но теперь то же самое происходит и с моими компьютерами с XP.
Я бы не подумал, что это связано с политикой истечения срока действия пароля. Если бы это было так, я бы получил сообщение о том, что пора сменить пароль, верно? Когда я пытаюсь разобраться в этом, я теряюсь во всех этих различных перестановках команд net
и pdbedit
и wbinfo
. Я привык, что они мне вообще не нужны. Кажется, я добавил свою учетную запись в группу «Администраторы домена» с одним из них в какой-то момент, но я не помню, как это делается.
Я особенно запутался в документации относительно того, должен ли я вообще запускать winbind в моей конфигурации. Я не думаю, что должен, но очевидно, что запуск wbinfo
для диагностики требует этого, и я полагаю, что я ничему не повредил, запустив его. Он запускается по умолчанию в Ubuntu, поэтому я хотел оставить его и работать с ним, если это возможно. Winbind НЕ упоминается в моем /etc/nsswitch.conf.
Я получаю много интересных сообщений об ошибках в своих журналах, но Google не приводит меня к пониманию ни одного из них. Вот одно из них в smb.conf, сообщающее мне, что одна из моих рабочих станций подключена неправильно:
[2011/08/27 19:02:04, 0] rpc_server/srv_netlog_nt.c:603(_netr_ServerAuthenticate3)
_netr_ServerAuthenticate3: netlogon_creds_server_check failed. Rejecting auth request from client PROXIMA machine account PROXIMA$
Много этого из log.winbindd-idmap в Google, без четкого указания на то, что может быть не так или нужно ли это вообще исправлять. (И, да, мне нужен idmapd для NFSv4.) Кажется, это особенность Ubuntu. Я понятия не имею, что может быть "неполным" в моей "конфигурации".
[2011/08/27 19:02:04, 0] winbindd/idmap_tdb.c:287(idmap_tdb_open_db)
Upgrade of IDMAP_VERSION from -1 to 2 is not possible with incomplete configuration
[2011/08/27 19:02:04, 1] winbindd/idmap.c:321(idmap_init_domain)
idmap initialization returned NT_STATUS_UNSUCCESSFUL
ядуматьэтот из log.winbindd безвреден, так как winbindd просто выясняет, является ли мой сервер PDC или чем-то еще:
[2011/08/27 17:55:46, 0] libsmb/namequery.c:75(saf_store)
saf_store: refusing to store 0 length domain or servername!
[2011/08/27 17:55:46, 1] rpc_client/cli_pipe.c:949(cli_pipe_validate_current_pdu)
cli_pipe_validate_current_pdu: RPC fault code DCERPC_FAULT_OP_RNG_ERROR received from host EXCELSIOR!
Наконец, вот мой smb.conf:
[global]
workgroup = STARFLEET
map to guest = Bad User
obey pam restrictions = yes
smb passwd file = /var/lib/samba/passdb.tdb
private dir = /var/lib/samba
pam password change = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
unix password sync = yes
log level = 2
load printers = yes
printcap name = cups
add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u
add group script = /usr/sbin/addgroup --force-badname %g
add machine script = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u
logon script = %U.bat
logon path =
logon drive = Z:
logon home =
domain logons = yes
os level = 65
preferred master = yes
domain master = yes
wins support = yes
usershare allow guests = yes
use sendfile = yes
[homes]
comment = Home Directories
path = /data/Users/%U
valid users = %S
read only = no
create mask = 0700
directory mask = 0700
[netlogon]
comment = Network Logon Service
path = /var/lib/samba/netlogon
guest ok = yes
browseable = no
browsable = no
share modes = no
[printers]
comment = All Printers
path = /var/spool/samba
create mask = 0700
printable = yes
browseable = yes
browsable = yes
[data]
path = /data
read only = no
guest ok = yes
[temp]
path = /data/Temp
read only = no
guest ok = yes
[homes]
comment = Home Directories
path = /data/Users/%U
valid users = %S
read only = no
create mask = 0700
directory mask = 0700
Итак... Что происходит и как это исправить?