Создать пользователя только для samba (CLI)

15

Точно такой же вопрос, как этот , но с использованием CLI вместо GUI.

Я хотел бы разрешить доступ для входа в общий каталог SMB, но пользователи не получают другого доступа к серверу.

Фу Бар
источник
Вопрос, на который вы ссылаетесь, касается гостевого доступа к samba, иными словами, все пользователи в сети имеют доступ к общему ресурсу без пароля. В вашем случае, если это то, что вы хотите, какой смысл создавать специального "пользователя только для samba", если у всех есть доступ в любом случае?
независимо от того, что
Как сказал другой автор, мне нужны логины и пароли для общего файлового ресурса.
Foo Bar
Не уверен, о каком другом спрашивающем ты говоришь. Смотрите мой ответ ниже, надеюсь, это поможет.
независимо от того, что
Благодарю. Я имел в виду: askubuntu.com/questions/152020/…
Foo Bar

Ответы:

32
  1. Создайте пользователя на сервере:

sudo adduser --no-create-home --disabled-password --disabled-login sambausername

  1. Добавьте этого пользователя в samba (вам будет предложено ввести пароль):

sudo smbpasswd -a sambausername

  1. Создать акцию, отредактировав /etc/samba/smb.conf. Например, вы можете добавить что-то вроде этого внизу:

    [share name]
        comment = whatever
        path = /path to share
        browsable = yes
        read only = no
        guest ok = no
    
  2. Теперь хорошая идея перезапустить самбу:

sudo service smbd force-reload

  1. Перейдите на клиентский компьютер и попробуйте получить доступ к общему ресурсу с помощью только что настроенного имени пользователя и пароля.
mikewhatever
источник
4
--no-create-home --disabled-password --disabled-loginЭто спасло мой день! Все еще полезно в 2017 году!
Стан
1
@Stan Спасибо за отзыв, рад, что это было полезно.
независимо от того, что
Как мне использовать этого пользователя в качестве "valid users = <username>". По какой-то причине это не работает? Если я использую имя пользователя с приборной панелью, это будет работать. В противном случае это не так.
Майрон
Как я могу сделать первый шаг на Centos?
Соллоса
может быть лучше: sudo adduser --no-create-home --disabled-пароль --disabled-login --gecos "" sambausername (где --gecos "" опция, чтобы пропустить интерактивную часть chfn askubuntu.com/a/94067/ 828892 и uid <1000 для скрытого аккаунта askubuntu.com/a/22010/828892 )
ajcg
5

Примечание о добавлении пользователей в Samba версии 4.x

В отличие от Samba версии 3.x и более ранних версий, Samba версии 4.x не требует локального пользователя Unix / Linux для каждого создаваемого пользователя Samba (если он подключен к другому источнику аутентификации, например Active Directory).

Команда для добавления пользователей в Samba Active Directory следующая

samba-tool user add USERNAME-HERE

Пожалуйста, обратитесь к Samba AD DC howto для получения дополнительной информации.

Ответ извлечен из Cyberciti

Чтобы проверить свою версию Samba, просто введите команду

samba -V

Пример вывода:

Version 4.3.11-Ubuntu
Андре М. Фариа
источник
Должен ли это быть новый принятый ответ?
Пичан
1
Сотрите это. В конце концов, не сработало: / Кажется, что samba-tool для Active Directory.
Пичан
3
Дальнейший поиск показывает, что вам нужно настроить Samba AD для использования этой функции.
Андре М. Фариа,
Может быть, требование AD должно быть более заметным?
Джорил
2
samba-tool предназначен только для подготовки Active Directory (AC). askubuntu.com/a/490342/828892
ajcg