- Adding users with samba tool
- Contents
- Creating a Windows user
- Creating a Windows and Unix user
- Further options available
- Adding Unix attributes to a Windows user
- 🛠️ Как добавить пользователя Samba на Linux
- Добавление пользователя
- Добавление существующего локального пользователя в samba
- Пункт о добавлении пользователей в Samba версии 4.x
- Удаление пользователя samba
- Заключение
Adding users with samba tool
There are a couple of ways you can create AD users with samba-tool:
- You can create users that are only Windows users.
- You can creates users that are Windows and Unix users.
Contents
Creating a Windows user
To create an Windows user, use the following command:
/usr/local/samba/bin/samba-tool user create user1
You can, if you so wish, add further options:
Option | Explanation |
---|---|
—given-name | User’s given name. |
—surname | User’s surname. |
—initials | User’s initials. |
—userou | DN of alternative location (without domainDN counterpart) to default CN=Users in which new user object will be created. E. g. ‘OU=. |
—profile-path | User’s profile path. |
—script-path | User’s logon script path. |
—home-drive | User’s home drive letter. |
—home-directory | User’s home directory path. |
Creating a Windows and Unix user
All Active Directory users are primarily Windows users, you need to extend them with further attributes, to make them Unix users as well. |
To create a Unix user, you use the same command used to create a Windows, but you must add these options:
Option | Explanation |
---|---|
—nis-domain | User’s Unix/RFC2307 NIS domain. |
—uid-number | User’s Unix/RFC2307 numeric UID. |
—login-shell | User’s Unix/RFC2307 login shell. |
—unix-home | User’s Unix/RFC2307 home directory. |
—gid-number | User’s Unix/RFC2307 primary GID number. |
There are two other options available, if you do not supply these, they will be set for you:
Option | Explanation |
---|---|
—uid | User’s Unix/RFC2307 username. |
—gecos | User’s Unix/RFC2307 GECOS field. |
Further options available
There are several other options available, these are applicable whether you are creating a Windows or a Unix user:
Option | Explanation |
---|---|
—must-change-at-next-login | Force password to be changed on next login. |
—use-username-as-cn | Force use of username as user’s CN. |
—smartcard-required | Require a smartcard for interactive logons. |
—job-title | User’s job title. |
—department | User’s department. |
—company | User’s company. |
—description | User’s description. |
—mail-address | User’s email address. |
—internet-address | User’s home page. |
—telephone-number | User’s phone number. |
—physical-delivery-office | User’s office location. |
Adding Unix attributes to a Windows user
If you create a Windows user and then need to make it a Unix user as well, you can do it this way:
Find the SID allocated to the user by using the following command on a Samba DC:
$ /usr/local/samba/bin/wbinfo --name-to-sid user1
It should display something like this:
S-1-5-21-4036476082-4153129556-3089177936-1005 SID_USER (1)
Now use this SID to find the users ‘xidNumber’ :
$ /usr/local/samba/bin/wbinfo --sid-to-uid S-1-5-21-4036476082-4153129556-3089177936-1005
Again, the command should return something like this:
This user is mapped to the ID ‘3000011’, this is only valid on a DC. If your user will only connect to files stored the DC, you can stop here.
If your user will connect to a Unix domain member and you will be using the winbind ‘ad’ backend, you must add ‘uidNumber’ and ‘gidNumber’ attributes to the users object in /usr/local/samba/private/sam.ldb
One way of doing this, is with the Samba tool ‘ldbedit:
$ ldbedit -e emacs -H /usr/local/samba/private/sam.ldb objectsid=S-1-5-21-4036476082-4153129556-3089177936-1005
You can replace emacs with your editor of choice. |
Find the record for ‘user1’, it will start like this:
dn: CN=user1,CN=Users,DC=samdom,DC=example,DC=com objectClass: top objectClass: person objectClass: organizationalPerson objectClass: user cn: user1
If you add attributes similar to these:
uidNumber: 10000 gidNumber: 10000
Then save and exit, Samba will then use ID ‘10000’ for the users Unix ID and the group ID ‘10000’. Before Samba 4.6.0, you will also have to give ‘Domain Users’ the ‘gidNumber’ ‘10000’, but from 4.6.0, you can use the ‘gidNumber’ for any Unix group you have created in AD and this wil become the users primary Unix group.
🛠️ Как добавить пользователя Samba на Linux
Samba – это бесплатная сетевая служба с открытым исходным кодом, работающая по модели клиент-сервер.
Она позволяет обмениваться файлами в операционных системах Windows и Linux/Unix и использует протоколы SMB (Server Messaging Block) и CIFS (Common Internet File system) для беспрепятственного совместного использования ресурсов в сети. Совместное использование Samba считается одним из наиболее эффективных и экономичных способов совместного использования ресурсов в локальной сети – LAN.
Файловый ресурс в Samba называется общим ресурсом samba.
Общий ресурс samba может быть любым – файлом, каталогом или даже принтером.
В сетевой конфигурации клиент посылает серверу Samba запрос на файл, каталог или общий принтер.
В свою очередь, сервер Samba отвечает на эти запросы, отказывая или предоставляя клиенту доступ к запрашиваемым общим ресурсам.
Чтобы получить доступ к общему ресурсу , в Linux необходимо добавить нового пользователя в качестве пользователя samba.
Затем пользователь samba может подключиться к серверу Samba, используя пароль samba, и получить доступ к общим ресурсам.
В этом руководстве мы расскажем вам о процедуре добавления пользователя samba.
Добавление пользователя
Теперь давайте сосредоточимся на том, как добавить нового пользователя в Samba.
Сначала создайте новую учетную запись пользователя, как это делается в любой системе Linux.
В этом примере мы создадим новую учетную запись для пользователя по имени ‘joe’.
Затем добавьте пользователя samba, назначив новому пользователю пароль samba с помощью команды ‘smbpasswd’, как показано на далее:
Вам будет предложено ввести новый пароль samba, а затем подтвердить его, как показано ниже
New SMB password: Retype new SMB password: added user joe.
После создания пользователя samba необходимо добавить его в общий ресурс samba путем редактирования файла samba smb.conf, который является конфигурационным файлом Samba.
Прокрутите и найдите общий ресурс samba, в данном случае ‘documents’, и добавьте пользователя в список допустимых пользователей, как показано в 4-й строке конфигурационного блока ниже.
[documents] comment = Departmental documents share path = /srv/documents valid users = joe public = no writable = yes browsable = yes
Теперь сохраните изменения и выйдите из файла конфигурации.
Чтобы изменения сохранились, перезапустите демон Samba, как показано далее:
sudo systemctl restart smb
Добавление существующего локального пользователя в samba
Если в вашей системе уже есть существующий пользователь, то добавить его в samba довольно просто.
Просто используйте команду ‘smbpasswd’, как показано ниже:
sudo smbpasswd -a existing_user
Затем измените конфигурационный файл и добавьте существующего пользователя в список допустимых пользователей samba, как было показано ранее.
valid users = existing_user
Пункт о добавлении пользователей в Samba версии 4.x
Начиная с Samba версии 4.x и выше, Samba имеет возможность работать в качестве контроллера домена AD.
Вам не нужно иметь стандартного пользователя Linux или Unix в Linux для каждого создаваемого пользователя Samba.
Чтобы добавить пользователей в Samba Active directory, используйте показанную команду:
samba-tool user add username
Удаление пользователя samba
Если вы хотите удалить пользователя Samba из вашей системы, используйте команду ‘smbpasswd’ с опцией -x, за которой следует имя пользователя.
Если вы хотите, вы можете полностью удалить пользователя вместе с домашним каталогом с помощью команды userdel, как показано далее:
Заключение
Мы рассмотрели, как можно добавить и удалить пользователя Samba в системе Linux.
Как было сказано ранее, Samba версии 4.x теперь поддерживает аутентификацию через Active directory, в отличие от предыдущих версий Samba.