Posiadam TP-Link 1043ND + Gargoyle.

Chcę mieć dostęp do routera z zew. za pomocą sftp. Zainstalowałem openssh-sftp-server i mogę się logować.
Chciałbym ponadto, aby zalogowany user nie miał prawa do biegania po całym fs. Co prawda loguje się do katalogu wskazanym w /etc/passwd, ale może swobodnie wejść do dowolnego katalogu.

Chcę to ograniczyć, podobnie jak chrootem ograniczało się usera w vsftpd.
Pytanie, czy się da. Jeżeli tak, to proszę o wskazówkę.

2

(90 odpowiedzi, napisanych Oprogramowanie / Software)

Dzięki za odpowiedź.
W takim razie zwracam HAMA i przestrzegam innych przed nim:
http://hamashopping.sk/image/cache/data … 50x250.jpg

3

(90 odpowiedzi, napisanych Oprogramowanie / Software)

Cezary,
prośba o pochylenie się nad moim przypadkiem. Zakupiłem HUBa aktywnego HAMA  - jakkolwiek by to nie zabrzmiało ;-)
Podłączyłem pod niego HDD, pena z ExtRootem (ext4), oraz dźwięk. Zapodałem mpd (mp3 odczytywane z ExtRoot). Po kilku godzinach dostałem:

dmesg

hub 1-1:1.0: Cannot enable port 3.  Maybe the USB cable is bad?
hub 1-1:1.0: cannot disable port 3 (err = -145)
hub 1-1:1.0: cannot disable port 3 (err = -145)
sd 0:0:0:0: Device offlined - not ready after error recovery
sd 0:0:0:0: [sda] Unhandled error code
sd 0:0:0:0: [sda] Result: hostbyte=0x05 driverbyte=0x00
sd 0:0:0:0: [sda] CDB: cdb[0]=0x2a: 2a 00 00 04 24 a2 00 00 08 00
end_request: I/O error, dev sda, sector 271522
Buffer I/O error on device sda1, logical block 33933
lost page write due to I/O error on sda1
sd 0:0:0:0: rejecting I/O to offline device
sd 0:0:0:0: [sda] Unhandled error code
sd 0:0:0:0: [sda] Result: hostbyte=0x01 driverbyte=0x00
sd 0:0:0:0: [sda] CDB: cdb[0]=0x2a: 2a 00 00 44 18 42 00 00 28 00
end_request: I/O error, dev sda, sector 4462658
JBD2: Detected IO errors while flushing file data on sda1-8
Aborting journal on device sda1-8.
sd 0:0:0:0: rejecting I/O to offline device
JBD2: I/O error detected when updating journal superblock for sda1-8.
hub 1-1:1.0: hub_port_status failed (err = -145)
EXT4-fs error (device sda1): ext4_journal_start_sb: Detected aborted journal
EXT4-fs (sda1): Remounting filesystem read-only
sd 0:0:0:0: rejecting I/O to offline device
EXT4-fs error (device sda1): ext4_find_entry: reading directory #258563 offset 0
sd 0:0:0:0: rejecting I/O to offline device

logread

Sep 26 04:00:01 OpenWRT user.err kernel: sd 0:0:0:0: rejecting I/O to offline device
Sep 26 04:00:01 OpenWRT user.crit kernel: EXT4-fs error (device sda1): ext4_find_entry: reading directory #258563 offset 0
Sep 26 04:00:01 OpenWRT user.err kernel: sd 0:0:0:0: rejecting I/O to offline device
Sep 26 04:00:01 OpenWRT user.crit kernel: EXT4-fs error (device sda1): ext4_find_entry: reading directory #39 offset 0
Sep 26 04:00:01 OpenWRT user.err kernel: sd 0:0:0:0: rejecting I/O to offline device
Sep 26 04:00:01 OpenWRT user.crit kernel: EXT4-fs error (device sda1): ext4_find_entry: reading directory #39 offset 0
Sep 26 04:00:01 OpenWRT user.err kernel: sd 0:0:0:0: rejecting I/O to offline device
Sep 26 04:00:01 OpenWRT user.crit kernel: EXT4-fs error (device sda1): ext4_find_entry: reading directory #258633 offset 0
Sep 26 04:03:08 OpenWRT daemon.notice mpd: player_thread: played "flash/HEAD.mp3"
Sep 26 04:04:16 OpenWRT daemon.warn mpd: state_file: failed to create /mpd/state: Read-only file system
Sep 26 04:06:41 OpenWRT daemon.notice mpd: player_thread: played "flash/HEAD.mp3"
Sep 26 04:09:16 OpenWRT daemon.warn mpd: state_file: failed to create /mpd/state: Read-only file system

W przeciwieństwie do poprzedniego mojego wpisu powyżej, teraz nie mam "mini_fo_lookup: ERR from storage dentry, lookup failed".
ExtRoot oczywiście się wysypał, ale router widzi pendrajwa poleceniem blkid. Na badziewnym HUBie wcześniej, blkid nic nie zobaczył.

Znaczy to że znów trafiłem kiepskiego HUBa?
Zaczynam też zastanawiać się nad journalingiem na ExtRoocie. Wg Ciebie, może coś tu mieszać i czy nie lepiej w takim razie ExtRoota przeformatować na ext2?

Podaję jeszcze /proc/bus/usb/devices

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh= 1
B:  Alloc=  0/800 us ( 0%), #Int=  1, #Iso=  0
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev= 2.06
S:  Manufacturer=Linux 2.6.32.27 ehci_hcd
S:  Product=Atheros AR91xx built-in EHCI controller
S:  SerialNumber=ar71xx-ehci
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=480 MxCh= 4
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=05e3 ProdID=0608 Rev=77.61
S:  Product=USB2.0 Hub
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   1 Ivl=256ms

T:  Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#=  3 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=1130 ProdID=f211 Rev= 5.10
S:  Product=USB  AUDIO
C:* #Ifs= 5 Cfg#= 1 Atr=80 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 0 Cls=01(audio) Sub=01 Prot=00 Driver=(none)
I:* If#= 1 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=00 Driver=(none)
I:  If#= 1 Alt= 1 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=(none)
E:  Ad=01(O) Atr=09(Isoc) MxPS= 192 Ivl=1ms
I:* If#= 2 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=00 Driver=(none)
I:  If#= 2 Alt= 1 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=(none)
E:  Ad=83(I) Atr=09(Isoc) MxPS=  48 Ivl=1ms
I:* If#= 3 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=01 Driver=(none)
E:  Ad=82(I) Atr=03(Int.) MxPS=   8 Ivl=10ms
I:* If#= 4 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=01 Driver=(none)
E:  Ad=84(I) Atr=03(Int.) MxPS=   8 Ivl=10ms

T:  Bus=01 Lev=02 Prnt=02 Port=02 Cnt=02 Dev#=  4 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=0930 ProdID=6545 Rev= 1.00
S:  Manufacturer=TOSHIBA
S:  Product=TransMemory
S:  SerialNumber=001CC0C60E06EBC0941B03DF
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=200mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms

T:  Bus=01 Lev=02 Prnt=02 Port=03 Cnt=03 Dev#=  5 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=04fc ProdID=0c25 Rev= 1.03
S:  Manufacturer=Sunplus Technology Inc.
S:  Product=USB to Serial-ATA bridge
S:  SerialNumber=WDC WD15EA     WD-WMAVU2872686
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=  2mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms

4

(90 odpowiedzi, napisanych Oprogramowanie / Software)

Ku przestrodze, co robi kiepski hub:

hub 1-1:1.0: cannot reset port 1 (err = -145)
hub 1-1:1.0: cannot reset port 1 (err = -145)
hub 1-1:1.0: cannot reset port 1 (err = -145)
hub 1-1:1.0: cannot reset port 1 (err = -145)
hub 1-1:1.0: cannot reset port 1 (err = -145)
hub 1-1:1.0: Cannot enable port 1.  Maybe the USB cable is bad?
hub 1-1:1.0: cannot disable port 1 (err = -145)
hub 1-1:1.0: cannot disable port 1 (err = -145)
sd 0:0:0:0: Device offlined - not ready after error recovery
sd 0:0:0:0: [sda] Unhandled error code
sd 0:0:0:0: [sda] Result: hostbyte=0x05 driverbyte=0x00
sd 0:0:0:0: [sda] CDB: cdb[0]=0x2a: 2a 00 00 06 03 aa 00 00 08 00
end_request: I/O error, dev sda, sector 394154
Buffer I/O error on device sda1, logical block 49262
lost page write due to I/O error on sda1
sd 0:0:0:0: rejecting I/O to offline device
sd 0:0:0:0: rejecting I/O to offline device
sd 0:0:0:0: rejecting I/O to offline device
sd 0:0:0:0: [sda] Unhandled error code
sd 0:0:0:0: [sda] Result: hostbyte=0x01 driverbyte=0x00
sd 0:0:0:0: [sda] CDB: cdb[0]=0x28: 28 00 00 05 7d 3a 00 00 f0 00
end_request: I/O error, dev sda, sector 359738
JBD2: Detected IO errors while flushing file data on sda1-8
Aborting journal on device sda1-8.
sd 0:0:0:0: rejecting I/O to offline device
JBD2: I/O error detected when updating journal superblock for sda1-8.
sd 0:0:0:0: rejecting I/O to offline device
sd 0:0:0:0: rejecting I/O to offline device
sd 0:0:0:0: rejecting I/O to offline device
sd 0:0:0:0: rejecting I/O to offline device
sd 0:0:0:0: rejecting I/O to offline device
sd 0:0:0:0: rejecting I/O to offline device
sd 0:0:0:0: rejecting I/O to offline device
hub 1-1:1.0: hub_port_status failed (err = -145)
sd 0:0:0:0: rejecting I/O to offline device
sd 0:0:0:0: rejecting I/O to offline device
sd 0:0:0:0: rejecting I/O to offline device
EXT4-fs error (device sda1): __ext4_get_inode_loc: unable to read inode block - inode=129329, block=524323
sd 0:0:0:0: rejecting I/O to offline device
mini_fo_lookup: ERR from storage dentry, lookup failed.
mini_fo_d_delete: negative dentry passed.
mini_fo_d_release: no private data.

sda to pen z extrootem. TP-Link po reboocie działa dobrze od kilku do kilkudziesięciu godzin. Później kaplica, większość usług staje. Na koniec ciekawostka:

root@TPlink:/$ mc
-ash: mc: Input/output error
root@TPlink:/$ htop
Segmentation fault
root@TPlink:/$

5

(90 odpowiedzi, napisanych Oprogramowanie / Software)

No i miodzio. Dzięki za odpowiedź.

W hubach aktywnych czasami jest problem z wygaszeniem dysku. Swojego 200Giga  wygaszasz hd-idlem czy innym hdparmem?

6

(90 odpowiedzi, napisanych Oprogramowanie / Software)

@zdzichu6969 - pytanko w kwestii tego huba.
Masz może podłączone do niego pendrive z extrootem i dysk wygaszany przez hd-idle? Jeżeli tak, to daj znać jak to wszystko działa.

Pytam, bo "testuję" już drugi hub, gdzie po jakimś czasie w takiej konfiguracji jak napisałem powyżej, wywala mi się system plików extroota. Tym razem chciałbym trafić w konkretny hub a nie dalej sobie testować.

Dzięki za jak zwykle szybką i celną odpowiedź.  :-)

Miałeś rację.

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               2      182401  1465128000    f  W95 Ext'd (LBA)
/dev/sda5               2      181764  1460008064   83  Linux
/dev/sda6          181764      182401     5117952   83  Linux


Ciekawostka... skąd wzięło się na talerzu te /dev/sda1. Co więcej, tak samo zrobiona wcześniejsza  wersja gargulca wcale nie wyrzucała mi sda1 z tego dysku. Cezary, jak się pozbyć wpisu w  /mnt ???

Tp-Link WR1043ND i najnowszy Gargoyle
Jestem zwolennikiem klasycznego montowania dysków podpiętych przez USB. Dzisiaj zaktualizowałem gargulca do najnowszej wersji, standardowo przeklepałem polecenia z arta >>"Normalne" montowanie dysków<< i oprócz zdefiniowanych w /etc/config/fstab dwóch zasobów (sda5 i sda6 montowane po uuid) pojawia mi się w /mnt pusty sda1

Oczywiście podpięty jest jeden dysk, na którym są dwie partycje. ExtRoota nie posiadam. blkid, mount, czy df -k pokazują też tylko posiadane partycje. W którym konfigu powinienem dziabnąć nadmiarowego sda1?

pozdrawiam

@ff1

Przechodziłem dokładnie ro samo. Rozwiązanie jest takie, jak napisał Cezary.  W całym tym rozwiązywaniu problemu ręcznie, przestrzegam przed błędem, który sam popełniłem.

Post nr 29
http://eko.one.pl/forum/viewtopic.php?id=2517&p=2

11

(1 odpowiedzi, napisanych Oprogramowanie / Software)

Generalnie SAMBA działa mi ok, mam udostępnionych kilka udziałów do odczytu dla wszystkich i jest ok.

Problem pojawił się w momencie chęci udostępnienia kolejnego udziału z pełnymi prawami rw dla konkretnego użytkownika.
I tu zrobił się problem, ponieważ zarówno XP jak i Win7 przy próbie wbicia się na udział krzyczą mi że podaję złe hasełko

nawet z linii poleceń mam to samo:
C:\> net use R: \\OpenWRT\Dysk /USER:xxx yyy
Wystąpił błąd systemu 86.
Określone hasło sieciowe jest niepoprawne.
C:\>

Co zrobiłem w ruterku
1.
/etc/config/samba

config sambashare
        option name Dysk
        option path /mnt
        option read_only no
        option create_mask 0700
        option dir_mask 0700
        option guest_ok no
        option users xxx

2. w /etc/samba/smb.conf.template sposób przydzielania uprawnień na share

3. użytkownik jest w /etc/passwd

4. grupa pod którą podczepiony jest użytkownik dodana jest do /etc/group

5. użytkownik zdublowany w /etc/samba/smbpasswd

Czegoś nie dopisałem, coś pominąłem?

12

(92 odpowiedzi, napisanych Oprogramowanie / Software)

Dzięki!
Teraz przynajmniej wiem jak to działa. Nie sądziłem że konfiguracja ftp odświeża się z templejtu co start systemu. Rozumiem że jest to gdzieś opisane i muszę jeszcze deko doczytać.

13

(92 odpowiedzi, napisanych Oprogramowanie / Software)

Cezary, dzisiaj znów dokładnie to samo.

Tym razem jednak wyhaczyłem dokładny moment. Okazało się że po restarcie routera (reboot w Putty) plik /tmp/vsftpd/vsftpd.conf został przywrócony do treści:

dirmessage_enable=yes
download_enable=yes
dirlist_enable=yes
hide_ids=yes
syslog_enable=yes
local_umask=022
chmod_enable=no
chroot_local_user=yes
check_shell=no
user_config_dir=/tmp/vsftpd/users
listen=yes
listen_port=21
background=yes
use_sendfile=no
userlist_file=/tmp/vsftpd/userlist
userlist_enable=yes
userlist_deny=no
ftpd_banner=ftp server ready
anon_world_readable_only=no
anon_umask=022
anon_upload_enable=yes
anon_mkdir_write_enable=yes
anon_other_write_enable=yes
local_enable=yes

Bez ostatnich sześciu linijek jest to kopia zawartości pliku /etc/vsftpd.conf.template

Spotkałeś się z czymś takim?  Możesz domniemywać co może być przyczyną?
Który plik jest wykonywany bezpośrednio po starcie OpenWRT, abym mógł profilaktycznie dodać kopiowanie swojego template pod /tmp/vsftpd/vsftpd.conf  ?

14

(92 odpowiedzi, napisanych Oprogramowanie / Software)

@wabikboy - tu masz wszystko czego potrzeba

http://eko.one.pl/?p=openwrt-ftp

15

(92 odpowiedzi, napisanych Oprogramowanie / Software)

miałem wczoraj dokładnie to samo.

Przedwczoraj ftp działał, wczoraj dokładnie to samo co opisałeś.
Okazało się że pliczek /etc/vsftpd.conf został przywrócony do defaultowej treści.

Wiem że to brzmi dość nieprawdopodobnie, ale nic na routerze nie dłubałem, a z dnia na dzień plik wydłubany z graficznego konfiguratora podmienił się na standardowy. Pozostałe pliki z konfiguratora pozostały nie zmienione.

Po ponownej aktualizacji /etc/vsftpd.conf ftp działa ok.

Żałuję że nie zgarnąłem daty modyfikacji pliku.
Nawet nie pytam czy jest możliwe żeby plik "sam się podmienił", bo wiem jak sam bym odpowiedział na tak kretyńskie pytanie.
Niestety zobaczyłem to na własne oczy u siebie i mocno mi się ten manewr nie spodobał.

Dzięki.

Ostatnie pytanie w temacie, zanim oskryptuję swoją metodę.
Czy ftp Gargoylowski umożliwia tworzenie userów ftp, każdy ze swoim, indywidualnym katalogiem?
Próbowałem, ale za każdym razem następował reset katalogu wszystkich userów na ten sam katalog.

pozdrawiam

Dzięki Cezary za szybką odpowiedź.
Oczywiście wolę po swojemu.

Domyślam się że to co mi bruździ, to automat Gargoyla.
wyłączyłem więc to przez:
# /etc/init.d/ftp disable

po reboocie plik:
/etc/passwd

jest taki jak przed, czyli nic się nie nadpisało. O to chodziło.

Jeszcze pod działającą usługą ftp przekopiowałem katalog /tmp/vsftpd do /etc/vsftpd (jak usługa nie wstaje, to tego katalogu nie ma, a tu wskazuje link /etc/vsftpd.conf). Sam link /etc/vsftpd.conf zamieniłem na zmodyfikowany plik /etc/vsftpd.conf z /tmp/vsftpd

Teraz /etc/passwd jest ok, a sama usługa ftp działa.

Co dalej? Rozumiem że dodawanie użytkowników spod Gargoyla już nie zadziała.
Czyli będę musiał dodawać z ręki do pliku /ets/vsftpd/userlist i do katalogu /ets/vsftpd/users/, oraz z ręki dodawać do /etc/passwd?

Temat to WR1043ND + extroot + 2 userów ftp zdefiniowanych w www pod Gargoylem.

Po każdym starcie routera katalogi osobiste każdego użytkownika FTP nadpisują się wartością domyślną.
Z tego co zauważyłem, katalogi użytkownika ftp zapisane są w /etc/passwd:

xxx:$1$5DjLMhii$x8bWErMmWEmNJUeShpusQd/:1002:1002:ftp_user:/tmp/usb_mount/:/bin/false
yyy:$kkopi$123sSHV1k$TxxbCsNQa4znh7T7Xz7./0:1001:1001:ftp_user:/tmp/usb_mount/:/bin/false

Problem w tym, że cokolwiek nie wpisze w ścieżkę domyślną każdego usera, za każdym restartem nadpisuje się ona wartością "/tmp/usb_mount/"

Wartość ta bierze się zapewne z definicji w pliku /etc/config/ftp:

config 'vsftpd'
        option 'anonmode' 'ro'
        option 'anonroot' '/tmp/usb_mount'
        option 'access' 'local'
        option 'publicroot' '/tmp/usb_mount/'
        option 'privateroot' '/tmp/usb_mount/'
...

Problem w tym, gdzie mam zdefiniować wzorzec katalogu dla każdego użytkownika. Mamy tu tylko jedną sekcję "option 'privateroot'"


Poza tym, podczas każdego startu routera mam coś takiego, jak poniżej w logread
...
May 16 13:44:38 sysinit: Changing password for xxx
May 16 13:44:38 sysinit: New password:
May 16 13:44:39 sysinit: Retype password:
May 16 13:44:39 passwd: Password for xxx changed by root
May 16 13:44:39 sysinit: Password for xxx changed by root
May 16 13:44:39 sysinit: Changing password for yyy
May 16 13:44:39 sysinit: New password:
May 16 13:44:39 sysinit: Bad password: similar to username
May 16 13:44:40 sysinit: Retype password:
May 16 13:44:40 passwd: Password for yyy changed by root
May 16 13:44:40 sysinit: Password for yyy changed by root
...

po co to???

pozdrawiam.

19

(1 odpowiedzi, napisanych Oprogramowanie / Software)

Witam.

Jako że jest to pierwszy mój post, chciałbym się ze wszystkimi serdecznie przywitać.

Wracając do sedna, pod OpenWRT działają tanie kamerki pod USB - to wiedzą wszyscy.
Chciałbym się zapytać jak wygląda sprawa współpracy z urządzeniami typu Video Grabber, takimi jak np te:
http://www.sklepwideo.pl/details.php?id=mo100130

Googlowaie nie wiele wniosło, ale studiując motion.conf natrafiłem na:
# The video input to be used (default: 8)
# Should normally be set to 0 or 1 for video/TV cards, and 8 for USB cameras
input 8

Więc wygląda na to że w teorii motion dałby radę, ale co z driverem i praktyką?
Ma któryś z szanownych forumowiczów jakiekolwiek doświadczenie w tej materii?

Uprzedzając pytania w stylu "a po co", odpowiadam że mając już w miarę dobrej jakości bezprzewodową kamerę analogową do monitoringu, działający grabber pod OpenWRT byłby niezłym substytutem kamerki IP.

pozdrawiam

--------------------------------------------------------------------
Router TP-LINK 1043ND + lokalny najnowszy Gargoyle