Temat: Uprawnienia dla użytkownika ksmbd

Witam wszystkich.
Dawno temu na OpenWrt 19.07 miałem udział wystawiony dla konkretnego użytkownika w ksmbd.
Aktualnie przesiadłem się na OpenWrt 21.02 r16577.
Niestety nie pamiętam jak to wtedy było skonfigurowane

Konfiguracja udziału

config share
    option guest_ok 'no'
    option path '/mnt/sdb1/bkp'
    option name 'bkp'
    option create_mask '0760'
    option inherit_owner 'yes'
    option read_only 'no'
    option users 'veeam'
    option dir_mask '0760

Tu oczywiście wszystko działa windows pyta się o hasło i wpuszcza.
Niestety problem jest z podkatalogami które dawno temu były utworzone przez starego użytkownika veeam.
Uprawnienia są zwracane jako:
Tu system zwraca błąd o braku uprawnień.

drwxrw----    2 1000     nogroup       4096 Jun 14 20:07 Backup Job HTPC

Chciałbym aby do zasobu miał dostęp tylko użytkownik veeam oraz aby nowe pliki i katalogi tworzone były jako użytkownik veeam.
Aktualnie nowe pliki i katalogi powstają jako właściciel:

drwxrw----    2 9999     9999          4096 Jun 19 12:13 test
| C2600 @ OpenWrt 21.02 / LuCi -> sieć gościnna, WINS serwer, VLAN, DLNA, multiwan
| WDR4300 @ OpenWrt 21.02 / LuCI -> extroot, sieć gościnna, WINS serwer
| MR3020 @ MiFi 17.01 -> E3372 HiLink
| WR842ND v2 @ Gargoyle PL 1.13.0 -> testy

2

Odp: Uprawnienia dla użytkownika ksmbd

A masz w /etc/passwd, shadow, group użytkownika veeam? On nie jest potrzebny tam do działania ksmbd, ale system nie zobaczy go jeżeli go nie zna.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: Uprawnienia dla użytkownika ksmbd

Faktycznie w starym konfigu mam wpisy w:
passwd

veeam:*:1000:65534:veeam:/tmp:/bin/false

shadow

veeam:*:0:0:99999:7:::

w group nie mam żadnych wpisów

Jak przenieść ten konfig czy wystarczy przenieść zawartość i restart routera bo polecenie useradd nie działa.
Czy można normalnie z ssh dodać nowego usera ?

| C2600 @ OpenWrt 21.02 / LuCi -> sieć gościnna, WINS serwer, VLAN, DLNA, multiwan
| WDR4300 @ OpenWrt 21.02 / LuCI -> extroot, sieć gościnna, WINS serwer
| MR3020 @ MiFi 17.01 -> E3372 HiLink
| WR842ND v2 @ Gargoyle PL 1.13.0 -> testy

4

Odp: Uprawnienia dla użytkownika ksmbd

group nie masz użytkownik veeam należy do grupy nobody.

Możesz dodać z palca, możesz skopiować, możesz zainstalować odpowiednie pakiety żeby useradd było i działało. Jak chcesz i jak wolisz.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5

Odp: Uprawnienia dla użytkownika ksmbd

Dodałem usera teraz wszystko działa poprawnie ale nie do końca.
Gdy z poziomu windowsa wchodzę na udział:
\\nazwa_dns_rutera\udzial - windows pyta się o hasło i wpuszcza
\\nazwa_dns_rutera.domena.lokalna\udzial - windows pyta o hasło i wyświetla komunikat o braku dostępu
\\ip_rutera\udzial - windows pyta o hasło i wyświetla komunikat o braku dostępu

Za każdym razem łączę się do tego samego urządzenia z tym samym IP a dysk do którego chcę się dostać podpięty jest po USB do rutera.

Dla mnie to zaskakujące zachowanie.
Dodam że do udziału gdzie wjazd ma gość beze autoryzacji wpuszcza bez problemu czy podaję IP czy nazwę DNS rutera

| C2600 @ OpenWrt 21.02 / LuCi -> sieć gościnna, WINS serwer, VLAN, DLNA, multiwan
| WDR4300 @ OpenWrt 21.02 / LuCI -> extroot, sieć gościnna, WINS serwer
| MR3020 @ MiFi 17.01 -> E3372 HiLink
| WR842ND v2 @ Gargoyle PL 1.13.0 -> testy

6

Odp: Uprawnienia dla użytkownika ksmbd

Strzelam ze w windows masz zcachowane hasła i dlatego tak się zachowuje. Wyczyść cache haseł w windowsie net use * /del /yes czy jakoś tak było, poszukaj.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

7

Odp: Uprawnienia dla użytkownika ksmbd

Tak oczywiście usuwałem zapisane udziały net use.
Zastanawiam się czy oby aktualna wersja ksmbd działa poprawnie.

Zrobiłem testowy zasób nadałem uprawnienia 777 utworzyłem testowego usera nadałem hasło (i tu dziwne po wykonaniu polecenia ksmbd.adduser -a user nie wyświetla się monit o hasło a jedynie konsola wisi sobie).
Po podaniu hasła dopiero pokazuje się komunikat o wprowadzeniu hasła.
Tak czy inaczej testowym użytkownikiem do testowego zasobu nie jestem w stanie się dostać (brak uprawnień).

[global]
    netbios name = |NAME|
    server string = |DESCRIPTION|
    workgroup = |WORKGROUP|
    interfaces = |INTERFACES|
    bind interfaces only = yes
    ipc timeout = 20
    deadtime = 15
    map to guest = Bad User
    smb2 max read = 64K
    smb2 max write = 64K
    smb2 max trans = 64K
    cache read buffers = no
    cache trans buffers = no
    domain master = yes
    local master = yes
    name resolve order = wins lmhosts hosts bcast
    os level = 99
    preferred master = yes
    wins support = yes
config globals
    option workgroup 'WORKGROUP'
    option description 'Ksmbd on OpenWrt'
    option interface 'lan'


config share
    option name 'test'
    option path '/mnt/sdb1/test'
    option read_only 'no'
    option users 'testuser'
    option guest_ok 'no'
    option create_mask '0700'
    option dir_mask '0700'
| C2600 @ OpenWrt 21.02 / LuCi -> sieć gościnna, WINS serwer, VLAN, DLNA, multiwan
| WDR4300 @ OpenWrt 21.02 / LuCI -> extroot, sieć gościnna, WINS serwer
| MR3020 @ MiFi 17.01 -> E3372 HiLink
| WR842ND v2 @ Gargoyle PL 1.13.0 -> testy

8

Odp: Uprawnienia dla użytkownika ksmbd

Mi się wyświetla (na 22.03):

root@OpenWrt:/# ksmbd.adduser -a test1
New password:
Retype new password:
[smbuseradd/5391]: INFO: User 'test1' added
root@OpenWrt:/tmp/dysk# cat /etc/config/ksmbd 

config globals
    option workgroup 'WORKGROUP'
    option description 'Ksmbd on OpenWrt'

config share
    option name 'dysk'
    option path '/tmp/dysk'
    option read_only 'no'
    option users 'test1'
    option guest_ok 'no'
    option create_mask '0666'
    option dir_mask '0777'

I pyta się o hasło, wpuszcza na niego. Tyle że na linuksie, ja windowsa w domu nie używam

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

9

Odp: Uprawnienia dla użytkownika ksmbd

Teraz to ja powoli się gubię.
Jak miałem w windowsie zmapowany dysk do zasobu z uprawnieniami dla gości to windows stawiał opór jak chciałem zmapować inny udział z tego samego serwera ale z użytkownikiem i hasłem.

root@C2600:~# ksmbd.adduser -a testusr
najpierw wpisuję hasło później pojawia się komunikat "New password:"
najpierw wpisuję hasło później pojawia się komunikat  "Retype new password:"
[ksmbd.adduser/16742]: INFO: User 'testusr' added

udział

root@C2600:/mnt/sdb1# cat /etc/config/ksmbd

config globals
        option workgroup 'WORKGROUP'
        option description 'Ksmbd on OpenWrt'
        option interface 'lan'

config share
        option name 'tst'
        option path '/mnt/sdb1/test'
        option read_only 'no'
        option users 'testusr'
        option guest_ok 'no'
        option create_mask '0666'
        option dir_mask '0777'

i teraz najciekawsze wszystkie polecenia zostały wykonane jedno po drugim i za każdym razem był inny komunikat
Dodam że wcześniej net use nie zwracał zmapowanego zasobu z żadnego serwera w sieci.

net use X: \\c2600\tst testpass /user:testusr 


C:\Users\user>net use X: \\c2600.local.domain\tst testpass /user:testusr
Wystąpił błąd systemu 1219.

Wielokrotne połączenia z serwerem lub udostępnionym zasobem przez tego samego użytkownika przy użyciu więcej niż jednej nazwy użytkownika są niedozwolone. Rozłącz wszystkie poprzednie połączenia z serwerem lub udostępnionym zasobem i spróbuj ponownie.


C:\Users\user>
C:\Users\user>net use X: \\c2600\tst testpass /user:testusr
Wystąpił błąd systemu 67.

Nie można odnaleźć nazwy sieciowej.


C:\Users\user>net use X: \\c2600\tst testpass /user:testusr
Polecenie zostało wykonane pomyślnie.

Tak naprawdę windowsa mogę olać bo nie on jest tu głównym celem .
Na telefonie z androidem 11 mam apkę o nazwie Autosync która robiła kopię danych po wifi na udział na ruterze.
O dziwo ilość zajętego miejsca na zasobie pokazuje poprawnie.
Po przejściu na OpenWrt21.02 apka zwraca błąd o będzie autoryzacji.

Oczywiście zasób jest (lub mnie się wydaje) wystawiony z takim samym użytkownikiem, hasłem, uprawnieniami jak na 19.07
Windows w moim wypadku to tylko narzędzie do testów.

| C2600 @ OpenWrt 21.02 / LuCi -> sieć gościnna, WINS serwer, VLAN, DLNA, multiwan
| WDR4300 @ OpenWrt 21.02 / LuCI -> extroot, sieć gościnna, WINS serwer
| MR3020 @ MiFi 17.01 -> E3372 HiLink
| WR842ND v2 @ Gargoyle PL 1.13.0 -> testy

10

Odp: Uprawnienia dla użytkownika ksmbd

A czasami apka nie korzysta z smb1 a tu masz smb2/3?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

11

Odp: Uprawnienia dla użytkownika ksmbd

Poprzednio miałem OpenWrt 19.07 r11430 i tam też był już pakiet ksmbd.
Wątpię żeby to była wina SMB1
W logach mam taki komunikat tylko

Mon Jun 20 20:14:41 2022 daemon.err odhcp6c[2251]: Failed to send SOLICIT message to ff02::1:2 (Permission denied)
| C2600 @ OpenWrt 21.02 / LuCi -> sieć gościnna, WINS serwer, VLAN, DLNA, multiwan
| WDR4300 @ OpenWrt 21.02 / LuCI -> extroot, sieć gościnna, WINS serwer
| MR3020 @ MiFi 17.01 -> E3372 HiLink
| WR842ND v2 @ Gargoyle PL 1.13.0 -> testy

12

Odp: Uprawnienia dla użytkownika ksmbd

A to jest od klienta ipv6, nic wspólnego.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

13

Odp: Uprawnienia dla użytkownika ksmbd

Próbowałem na innym ruterze również z testowym użytkownikiem i też z poziomu windowsa nie działa (tak samo z apki Autosync).
Drugi ruter tym razem WDR4300 z extrootem + pendrive i share z pendriva.
Tak samo OpenWrt 21.02 od Cezarego r16577
Windows to Win10 21h1

Tym razem mapuję udział po IP i system zwraca błąd że udział nie istnieje.
Po którejś z kolei prób wreszcie udaje się zmapować.

Czy ktoś z forum mógłby zweryfikować poprawność działania samby i mapowania zasobu poprzez użytkownika/hasło z poziomu windowsa ?

| C2600 @ OpenWrt 21.02 / LuCi -> sieć gościnna, WINS serwer, VLAN, DLNA, multiwan
| WDR4300 @ OpenWrt 21.02 / LuCI -> extroot, sieć gościnna, WINS serwer
| MR3020 @ MiFi 17.01 -> E3372 HiLink
| WR842ND v2 @ Gargoyle PL 1.13.0 -> testy

14

Odp: Uprawnienia dla użytkownika ksmbd

Mam dwie sprawy.

1) Idzie jakoś zmienić hasło dla już istniejącego loginu w ksmbd lub poleceniem usunąć tego użytkownika?

Polecenie do dodania nowego użytkownika jest ksmbd.adduser -a test1.
Czy istnieje jakieś polecenie aby zmienić hasło dla tego użytkownika test1 lub go usunąć?

2) Nie znając odpowiedzi na powyższe pytanie postanowiłem, że odszukam w /etc/passwd, shadow, group użytkownika test1 i go skasuję i założę takiego samego użytkownika z nowym hasłem.
Ale nigdzie takiego użytkownika nie mam hmm A przecież loguję się normalnie na tego użytkownika i muszę wpisać login i hasło.

Jak wpiszę ksmbd.adduser -a test1 to mam taką odpowiedź
[ksmbd.adduser/7222]: ERROR: Account `test1' already exists

15

Odp: Uprawnienia dla użytkownika ksmbd

Pod latarnią najciemniej, zrób ksmbd.adduser --help

ksmbd.adduser -a test1 <-dodaje
ksmbd.adduser -d test1 <-usuwa
ksmbd.adduser -u test1 -p ala2 <-zmienia

Userzy są w /etc/ksmbd/ksmbdpwd.db

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

16

Odp: Uprawnienia dla użytkownika ksmbd

Powyższe komendy działają, dzięki.

Mam jeszcze coś. Od dłuższego czasu korzystam z KSMBD, mam login i hasło, wyłączony dostęp dla anonimowych.
Mam np DyskA, DyskB, DyskC, DyskD i trzeba wpisać login i hasło aby się tam dostać ale anonimowy widzi że takie nazwy istnieją.
Idzie anonimowemu zabronić aby nie widział tych nazw z option name 'DyskA' itd.?

17

Odp: Uprawnienia dla użytkownika ksmbd

Nie. Każdy widzi nazwę zasobu.

Umieść to na innym serwerze do którego anonimowi nie widzą/nie wiedzą o nim.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

18

Odp: Uprawnienia dla użytkownika ksmbd

W aplikacji File Manager + wystarczy zaznaczyć Local Network i w try miga widzi adresy IP gdzie coś jest do zobaczenia smile
Wystarczy kliknąć dany adres IP, później opcja anonymous i już widać nazwy udziałów smile

To tylko tak na marginesie że anonimowy nie wie gdzie co jest.

19

Odp: Uprawnienia dla użytkownika ksmbd

Jest jeszcze flaga browseable, możesz ją sprawdzić.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

20

Odp: Uprawnienia dla użytkownika ksmbd

Na jednym z routerów nie mogę dodać usera.
Po wydaniu ksmbd.adduser -a xxx lub ksmbd.adduser -u xxx jest brak odpowiedzi.
Odpowiada tylko na ksmbd.adduser -d xxx o ile najpierw umieszczę go w ksmbdpwd.db z konfigu innego routera.

Nawet jak wezmę ten login i hasło z innego routera to to kompletnie nic nie daje, bo nie idzie się zalogować.
Sprawdzam rzecz jasna na zresetowanym routerze do ustawień początkowych, więc nic tam jeszcze nie jest ustawione.

21

Odp: Uprawnienia dla użytkownika ksmbd

Może nie masz możliwości zapisu w filesystemie (uprawnienia?)

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

22 (edytowany przez Focus 2023-04-03 11:53:37)

Odp: Uprawnienia dla użytkownika ksmbd

Sam konfig z /etc/config/ksmbd wyklumacz, bo to nie ma nic wspólnego z dodaniem usera.
Patrzę w logi co by zawierało filesystem to mam

Mon Apr  3 09:25:45 2023 kern.info kernel: [   30.446726] EXT4-fs (sda5): mounting ext2 file system using the ext4 subsystem
Mon Apr  3 09:25:45 2023 kern.warn kernel: [   30.463940] EXT4-fs (sda5): warning: mounting unchecked fs, running e2fsck is recommended
Mon Apr  3 09:25:45 2023 kern.info kernel: [   30.474826] EXT4-fs (sda5): mounted filesystem without journal. Opts:
Mon Apr  3 09:25:45 2023 kern.warn kernel: [   30.481660] ext2 filesystem being mounted at /mnt/sda5 supports timestamps until 2038 (0x7fffffff)

ale to dotyczy zamontowanego urządzenia do usb, a nie userów.

Jest jeszcze to

Mon Apr  3 09:25:45 2023 kern.info kernel: [    2.087322] VFS: Mounted root (squashfs filesystem) readonly on device 31:8.

EDIT:
Już rozkminiłem o co tu chodzi.
Po prostu przy wpisaniu np. ksmbd.adduser -a xxx trzeba drugi raz nacisnąć [enter] aby pojawiła się opcja New password: