Pomoc Optware IPKG przestał działać

qiui

System Engineer
Q Specialist
29 Listopad 2013
168
35
28
QNAP
TS-x51+
Ethernet
1 GbE
Witam,

Mam problem z aktualizacją bazy Optware IPKG.
Od paru dni nie jestem w stanie niczego doinstalować przy pomocy Optware IPKG. Przy każdej próbie dostaję powiadomienia na maila o treści:
Kod:
NAS : Dec  9 22:44:18 : httpdusr : unable to open /opt/etc/sudoers : Permission denied ; TTY=unknown ; PWD=/share/HDA_DATA/.qpkg/Optware/html/Management ;
Uprawnienia folderu /opt/etc:
Kod:
[/opt/etc] # ls -l
drwxr-xr-x    2 admin    administ      4096 Dec  9 20:26 ipkg
-rw-r--r--    1 admin    administ      1040 Feb 15  2012 ipkg.conf
-rw-r--r--    1 admin    administ      184 Feb 14  2012 profile
-r--r-----    1 admin    administ      2900 Dec  8 10:01 sudoers
drwxr-x---    2 admin    administ      4096 May 19  2012 sudoers.d
Przy próbie nadania uprawnienia 444 na pliku sudoers dostaję komunikat:
Kod:
NAS : Dec  9 22:43:02 : httpdusr : /opt/etc/sudoers is mode 0444, should be 0440 ; TTY=unknown ; PWD=/share/HDA_DATA/.qpkg/Optware/html/Management ;
Co mogę zrobić z tym fantem? Będę wdzięczny za pomoc lub naprowadzenie na rozwiązanie problemu.
 
Nie tykałem httpdusr'a
Kod:
httpdusr:x:99:0:Apache httpd user:/tmp:/bin/sh
Macie może jakieś inne sugestie?Udało mi się rozwiązać powyższy problem. Chociaż nie mogę nazwać tego rozwiązaniem, tylko obejściem :/
Cały czas krążyłem wokół uprawnień i nie dałem rady nadać prawidłowych uprawnień na plik
Kod:
/opt/etc/sudoers
Piszę o nadaniu prawidłowych uprawnień, bo z linii komend uprawnienia wydawały się jak najbardziej poprawne (patrz wyżej), ale z poziomu FileStation zauważyłem, że admin ma uprawnienie Deny.
Nie udało mi się nadać prawidłowych uprawnień, więc wyłączyłem Zaawansowane uprawnienia folderów (Panel sterowania -> Ustawienia uprawnień -> Foldery współdzielone -> Zaawansowane prawa dostępu). Przeinstalowałem Optware IPKG, zrestartowałem QNAPa i Optware IPKG zaczął działać.

A może teraz komuś przyjdzie coś do głowy i uda się rozwiązać powyższy problem, pozostawiając włączone zaawansowane uprawnienia folderów?No i klops. W wersji QTS 4.1.1 opisany przeze mnie problem w dalszym ciągu występuje.
Znowu próbowałem kombinowania na różne sposoby, ale nie byłem w stanie przeskoczyć tych uprawnień.
Jedyne co mi się udało zauważyć to fakt, że IPKG działa z poziomu konsoli - i to jest wystarczające rozwiązanie :zwyciestwo:.
Instalację przeprowadziłem zgodnie z tym opisem - uwzględniając obydwie poprawki.
 
Moim zdaniem zaawansowane prawa dostępu trzeba usunąć z interfejsu QTS bo ludzi włączają i robią się problemy.
Po włączeniu zaawansowanych praw dostępu jak na razie to jedyny problem na który się natknąłem, dlatego nie zgodzę się z Twoim zdaniem :) Jak na razie prawa te przyniosły mi więcej korzyści niż problemów.
W Optware częstym przypadkiem jest właśnie brak usera o który pluje w komunikatach. Często useradd rozwiązywało problem.
No niestety w tym przypadku usera httpdusr (bo o takiego mi się pluje) cały czas posiadam i elegancko działa z innymi aplikacjami.
A najprostsze rozwiązanie?
Pognać Optware IPKG i dodać na nowo?
Ten myk akurat próbowałem już wielokrotnie w różnych konfiguracjach ;)
 
Pokaż output z:
Bash:
getfacl /opt/etc/sudoers
Bash:
getfacl: Removing leading '/' from absolute path names
# file: opt/etc/sudoers
# owner: admin
# group: administrators
user::r--
user:admin:rwx  #effective:r--
user:my.user:rwx  #effective:r--
user:guest:---
group::rwx  #effective:r--
group:backup:---
mask::r--
other::---

Dodatkowo zrób:
Bash:
cat /opt/etc/sudoers | grep "httpdusr ALL=(admin)NOPASSWD:/opt/bin/ipkg" || \
echo -e "\nhttpdusr ALL=(admin)NOPASSWD:/opt/bin/ipkg" >> /opt/etc/sudoers
Bash:
httpdusr ALL=(admin)NOPASSWD:/opt/bin/ipkg

Można coś już z tego wyczytać?
 
Bash:
setfacl --help
Kod:
setfacl 2.2.49 -- set file access control lists
Usage: setfacl [-bkndRLP] { -m|-M|-x|-X ... } file ...
  -m, --modify=acl        modify the current ACL(s) of file(s)
  -M, --modify-file=file  read ACL entries to modify from file
  -x, --remove=acl        remove entries from the ACL(s) of file(s)
  -X, --remove-file=file  read ACL entries to remove from file
  -b, --remove-all        remove all extended ACL entries
  -k, --remove-default    remove the default ACL
      --set=acl           set the ACL of file(s), replacing the current ACL
      --set-file=file     read ACL entries to set from file
      --mask              do recalculate the effective rights mask
  -n, --no-mask           don't recalculate the effective rights mask
  -d, --default           operations apply to the default ACL
  -R, --recursive         recurse into subdirectories
  -L, --logical           logical walk, follow symbolic links
  -P, --physical          physical walk, do not follow symbolic links
      --restore=file      restore ACLs (inverse of `getfacl -R')
      --test              test mode (ACLs are not modified)
  -v, --version           print version and exit
  -h, --help              this help text

A więc spróbuj usunąć ACL z pliku:
Bash:
setfacl -x /opt/etc/sudoers
setfacl -b /opt/etc/sudoers

Tak aby uprawnienia wyglądały w ten sposób:
Bash:
getfacl /opt/etc/sudoers
Kod:
getfacl: Removing leading '/' from absolute path names
# file: opt/etc/sudoers
# owner: admin
# group: administrators
user::r--
group::r--
other::---
 
Usunąłem ACL, ale dalej mam komunikat
Kod:
httpdusr : unable to open /opt/etc/sudoers : Permission denied ; TTY=unknown ; PWD=/share/HDA_DATA/.qpkg/Optware/html/Management ;
 
ipkg list_installed
Kod:
bash - 3.2.49-1 - A bourne style shell
e2fslibs - 1.41.14-1 - Ext2 Filesystem Libraries
glib - 2.20.4-1 - The GLib library of C routines.
ipkg-web - 7-7 - A web frontend for ipkg
mc - 4.7.5.5-1 - Midnight Commander File Manager
ncurses - 5.7-3 - NCurses libraries
readline - 6.1-2 - The GNU Readline library provides a set of functions for use by applications that allow users to edit command lines as they are
slang - 2.2.3-2 - S-Lang is a multi-platform library designed to allow a developer to create robust multi-platform software.
sudo - 1.8.4.5-1 - System utility to execute commands as the superuser
Successfully terminated.
 
Nie kumam czemu to nie działa. Odinstalowywałem całkowicie, instalowałem ponownie to z App Center; to znowu próbowałem nstalacji ręcznej. Zawsze to samo.
Wiesz co @Silas Mariusz ... szkoda czasu na ten problem. Działa po SSH i to mi wystarczy.
Niemniej jednak dzięki wielkie za pomoc B-)... nauczyłem się przynajmniej jak odczytywać i nadawać ACL, bo dzisiaj popróbowałem różnych konfiguracji tych uprawnień nadając na admina, httpusr. Za każdym razem porażka. Poddaję się i będę używał SSH do instalacji/aktualizacji pakietów w Optware.
 
  • Lubię to
Reakcje: kaktus