Я хотел бы инструкции для создания доли Samba, к которой может только получить доступ определенный пользователь Windows 10 без требуемого пароля.
Я прочитал некоторые учебные руководства и, в то время как я могу легко создать долю, к которой любой может получить доступ, я не смог создать тот, к которому только может получить доступ определенный пользователь. Я вижу рассматриваемый каталог, но если я пытаюсь открыть его, я получаю ошибку Доступа запрещен, и Windows File Explorer просит имя пользователя и пароль.
Я действительно создавал пользователя Linux с тем, чему я верю, чтобы быть именем пользователя в Windows PC и том же пароле как пользователь Windows. Если я ввожу учетные данные этого пользователя Linux, я создал в упомянутую выше подсказку, я - предоставленный доступ. Все, о чем я могу думать в этой точке, - то, что имя пользователя учетной записи Linux не является тем же как соответствующей учетной записью Windows.
Вот то, что я имею в smb.conf
encrypt passwords = yes
security = user
[Email Backup]
comment = email backup folder
path = /home/samba/emailbackup
guest ok = yes
read only = no
browseable = yes
valid users = xavie emailer +emailbackup
xavie
название учетной записи Linux, которая, как предполагается, соответствует учетной записи Windows, emailer
другая учетная запись Linux, для которой нужен доступ к каталогу и emailbackup
группа, две учетных записи являются оба членами. Учетная запись Windows является учетной записью Microsoft (т.е. не локальная учетная запись; связанный с адресом электронной почты @Outlook.com), если это изменяет что-нибудь.
Если эта проблема вызывается неверным именем пользователя, кто-либо может консультировать меня по вопросам того, как я могу найти имя пользователя, которое должно быть присвоено учетной записи Linux (например, есть ли файл журнала, на который я могу посмотреть видеть, какой пользователь пытался получить доступ к доле Samba)? Иначе есть ли что-либо еще, что я могу проверить, что это могло бы быть причиной этой проблемы?
Править: Я сделал некоторый поиск в Интернете и сделал некоторые успехи. После исследования файлов журнала Samba я нашел, что был корректен в вере, что имя пользователя было неправильным. Согласно файлам журнала, Windows 10, когда пользователь использует учетную запись Microsoft, идентифицирует пользователя к Samba с адресом электронной почты, используемым той учетной записью, а не именем пользователя. Вот журнал (уровень 2), который я видел:
[2016/08/20 14:15:36.349641, 2] ../source3/param/loadparm.c:2700(lp_do_section)
Processing section "[All Users]"
[2016/08/20 14:15:36.349966, 2] ../source3/param/loadparm.c:2700(lp_do_section)
Processing section "[Email Backup]"
[2016/08/20 14:15:36.350850, 2] ../source3/auth/auth.c:315(auth_check_ntlm_password)
check_ntlm_password: Authentication for user [<snip email address>] -> [<snip email address>] FAILED with error NT_STATUS_NO_SUCH_USER
Я добавил адрес электронной почты к smbuser файлу, связывающему его с учетной записью Linux, которую я создал. Это работало, и журнал теперь говорит, что я успешно прохожу проверку подлинности, но у меня теперь есть новая проблема.
Новая проблема состоит в том, что Samba, совместно использующий, не работает вообще для моего ПК при входе в учетную запись я отметил выше. В основном у меня есть две доли на моем сервере Ubuntu; общедоступная доля, к которой любой может получить доступ и другая доля, которую я хочу доступный только для пользователя Windows 10. Тот пользователь Windows 10, после того, как я внес вышеупомянутые изменения, больше не может теперь видеть или долей или даже получать доступ к серверу Ubuntu. OTOH, ноутбук моего родительского элемента, который не имеет учетной записи на Samba, может получить доступ к серверу и видеть обе доли (но не может получить доступ к непубличной доле без аутентификации). Вот новый журнал, созданный с изменениями в smbusers:
[2016/08/20 14:36:44.523779, 2] ../source3/param/loadparm.c:2700(lp_do_section)
Processing section "[All Users]"
[2016/08/20 14:36:44.524358, 2] ../source3/param/loadparm.c:2700(lp_do_section)
Processing section "[Email Backup]"
[2016/08/20 14:36:44.552274, 2] ../source3/auth/auth.c:305(auth_check_ntlm_password)
check_ntlm_password: authentication for user [<snip email address>] -> [xavie] -> [xavie] succeeded
[2016/08/20 14:36:44.553509, 1] ../source3/param/loadparm.c:2389(lp_idmap_range)
idmap range not specified for domain '*'
[2016/08/20 14:36:44.553782, 1] ../source3/auth/token_util.c:430(add_local_groups)
SID S-1-5-21-1934213540-918117097-1557597498-1000 -> getpwuid(1002) failed
[2016/08/20 14:36:44.554723, 1] ../source3/param/loadparm.c:2389(lp_idmap_range)
idmap range not specified for domain '*'
[2016/08/20 14:36:44.554938, 1] ../source3/auth/token_util.c:430(add_local_groups)
SID S-1-5-21-1934213540-918117097-1557597498-1000 -> getpwuid(1002) failed
Вот текущее содержание smb.conf, если он помогает кому-либо. Я только включаю то, что я изменил хотя; что-либо не упомянутое в значении по умолчанию:
[global]
log level = 2
username map = /etc/samba/smbusers
encrypt passwords = yes
security = user
[All Users]
comment = Directory accessible to all users
path = /home/samba/allusers
guest ok = yes
read only = no
browseable = yes
create mask = 0777
directory mask = 0777
[Email Backup]
comment = email backup folder
path = /home/samba/emailbackup
guest ok = yes
read only = no
browseable = yes
valid users = xavie emailer +emailbackup
Кто-либо может видеть, какова новая проблема, которую я имею?
Справка будет значительно цениться, Наилучшие пожелания
Мне удалось выяснить, как сделать то, что я запросил работу и отправлю инструкции.
log level = 2
кому: smb.conf
. Затем запустите и включите сервис Samba. Затем соединитесь с сервером Samba с помощью Файлового менеджера в Windows PC, в то время как вошли соответствующая учетная запись (Вы не должны открывать общие каталоги). Затем откройте файл журнала, найденный в /var/log/samba/log.<ip address of Windows PC>
и необходимое имя пользователя будет отмечено там. Можно теперь установить уровень журнала на 0, если Вы хотите.useradd
команда (или использование существующее, если Вы предпочитаете). Вы не должны волноваться о паролях с этой учетной записью, но если Вы создаете новую учетную запись, можно хотеть заблокировать вход в систему на ней. Имя пользователя этой учетной записи не должно совпадать с именем, отмеченным выше, но было бы легче, если бы это было. Цель этой учетной записи в целях полномочий файла и чтобы Linux определил, к каким файлам и каталогам пользователю Windows разрешают получить доступ.smbpasswd
команда. Удостоверьтесь, что пароль, присвоенный этой учетной записи, совпадает с той, используемой для учетной записи Windows.!<Samba user> = <Windows user>
кому: smb.conf
или добавьте <Samba user> = <Windows user>
кому: smbusers
и username map = /etc/samba/smbusers
кому: smb.conf
.valid users =
опция на любых долях Вы хотите доступный только Вашей учетной записью Windows.