Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
"xxx.sh" brak dostepu
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Polskie forum (Polish)
View previous topic :: View next topic  
Author Message
qwaszs
n00b
n00b


Joined: 21 May 2008
Posts: 40

PostPosted: Wed Jan 11, 2012 1:17 pm    Post subject: "xxx.sh" brak dostepu Reply with quote

Proszę kolegów i koleżanki coś spie...łem. Mianowicie, mam program księgujący, który odpala się za pomocą skryptu run.sh. Próba odpalenia każdego skryptu *.sh kończy się komunikatem "brak dostępu". Nadmienię, że to mi działało, potem coś przestawiłem (ale nie wiem co ) i przestało działać. Myślałem, że to wina xfce, ale na fluxboksie mam to samo.
Back to top
View user's profile Send private message
Jacekalex
Guru
Guru


Joined: 17 Sep 2009
Posts: 553

PostPosted: Thu Jan 12, 2012 2:37 am    Post subject: Reply with quote

Spróbuj:
Code:
chmod +x run.sh
./run.sh

Ewentualnie zobacz, czy nie majstrowałeś z flagą noexec w fstab, przy opcjach partycji, na której są skrypty.

A jak nie pójdzie (skrypt, nie program księgowy), to wrzuć na na paste lub wkleja wynik
Code:
strace ./run.sh
i daj tutaj linka.
Program strace trzeba zainstalować, jeśli jeszcze go nie masz.

I napisz, na jakim Linuxie to nie działa.
Bo na forum Gentoo ktoś, kto nie zna elementarnych podstaw Linuxa (używanie skryptów powłoki), zdarza się równie często, jak Twardowski na księżycu. :D

To by było na tyle
8)
Back to top
View user's profile Send private message
qwaszs
n00b
n00b


Joined: 21 May 2008
Posts: 40

PostPosted: Thu Jan 12, 2012 4:57 pm    Post subject: Reply with quote

Code:

$ strace ./run.sh
execve("./run.sh", ["./run.sh"], [/* 53 vars */]) = -1 EACCES (Permission denied)
dup(2)                                  = 3
fcntl64(3, F_GETFL)                     = 0x2 (flags O_RDWR)
fstat64(3, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7801000
_llseek(3, 0, 0xbfa71b44, SEEK_CUR)     = -1 ESPIPE (Illegal seek)
write(3, "strace: exec: Permission denied\n", 32strace: exec: Permission denied
) = 32
close(3)                                = 0
munmap(0xb7801000, 4096)                = 0
exit_group(1)                           = ?


wynik strace nie wiele mi mówi
wpis do fstab:
Code:
/dev/sda6               /home           ext3            defaults,noatime,users  0 0


nie uruchomiłem go nawet jako root
dodatkowo uzupełmianie tabulatorem ignoruje skrypt (tzn piszę ścieżkę dostęu np: /home/user/program/ i nazwa skryptu już się nie dopełnia)
Ostatnie reinstalowałem system (gentoo)
Wygląda to jakbym odgórnie zablokował wykonywanie skryptów. Proszę o dalsze sugestie, bo pewnie jest szkolny błąd.
Back to top
View user's profile Send private message
qwaszs
n00b
n00b


Joined: 21 May 2008
Posts: 40

PostPosted: Thu Jan 12, 2012 4:58 pm    Post subject: Reply with quote

PS. chyba trafiłeś na Twardowskiego :D
Back to top
View user's profile Send private message
Jacekalex
Guru
Guru


Joined: 17 Sep 2009
Posts: 553

PostPosted: Thu Jan 12, 2012 8:07 pm    Post subject: Reply with quote

Quote:
Code:
execve("./run.sh", ["./run.sh"], [/* 53 vars */]) = -1 EACCES (Permission denied)


Pokaż wyniki
Code:
ls -l ./run.sh

I przede wszystkim:
Code:
 ls -l `which sh` `which bash`

Code:
ls -l `echo $SHELL`


Powinieniś zobaczyć wyniki podobne do tych, (to u mnie i działa):
Code:
 ls -l `which sh` `which bash`
-rwxr-xr-x. 1 root root 1062299 10-19 15:31 /bin/bash
lrwxrwxrwx. 1 root root       4 10-19 15:31 /bin/sh -> bash

Code:
 ls -l `echo $SHELL`
-rwxr-xr-x. 1 root root 1062299 10-19 15:31 /bin/bash


Spróbuj też uruchomić tak:
Code:
/bin/bash run.sh

Nie kombinowałeś na tym systemie czasem z Selinuxem albo Grsecurity?

To by było na tyle
8)
Back to top
View user's profile Send private message
qwaszs
n00b
n00b


Joined: 21 May 2008
Posts: 40

PostPosted: Thu Jan 12, 2012 8:41 pm    Post subject: Reply with quote

Code:

wielki ~ ls -l 'which sh' 'which bash'
ls: nie ma dostępu do which sh: Nie ma takiego pliku ani katalogu
ls: nie ma dostępu do which bash: Nie ma takiego pliku ani katalogu
wielki ~ # ls -l 'which.sh' 'which.bash'
ls: nie ma dostępu do which.sh: Nie ma takiego pliku ani katalogu
ls: nie ma dostępu do which.bash: Nie ma takiego pliku ani katalogu
wielki ~ # ls -l 'echo $SHELL'
ls: nie ma dostępu do echo $SHELL: Nie ma takiego pliku ani katalogu

Code:

ls -l ./run.sh
-rwxrwxr-x 1 zbyszek zbyszek 116 10-11 09:43 ./run.sh


nie kombinowałem
Back to top
View user's profile Send private message
joi_
Apprentice
Apprentice


Joined: 28 Mar 2005
Posts: 171

PostPosted: Thu Jan 12, 2012 9:30 pm    Post subject: Reply with quote

nie przepisuj ręcznie tego co napisał Jacekalex, tylko wklej - użyłeś ' zamiast `...

co masz w pierwszej linijce skryptu?
pewnie pisałeś skrypt pod Windowsem, co? :D
Back to top
View user's profile Send private message
qwaszs
n00b
n00b


Joined: 21 May 2008
Posts: 40

PostPosted: Thu Jan 12, 2012 11:23 pm    Post subject: Reply with quote

Code:

wielki ~ # ls -l `which sh` `which bash`
-rwxr-xr-x 1 root root 768952 01-12 21:50 /bin/bash
lrwxrwxrwx 1 root root      4 01-12 21:50 /bin/sh -> bash


Code:

wielki ~ # ls -l `echo $SHELL`
-rwxr-xr-x 1 root root 768952 01-12 21:50 /bin/bash


sorki

Code:

#!/bin/sh
srcdir=`dirname $0`
cd $srcdir
./ld-linux.so.2 --library-path './lib/' ./ledger $@ &> ~/ledger.log


cały skrypt

Code:

#!/bin/sh
 export LD_LIBRARY_PATH=`pwd`
 exec ./bricscad "$@"


ten też nie działa
Back to top
View user's profile Send private message
Jacekalex
Guru
Guru


Joined: 17 Sep 2009
Posts: 553

PostPosted: Fri Jan 13, 2012 12:26 am    Post subject: Reply with quote

Code:
./run.sh
./run.sh: line 3: /home/user/Desktop/bricscad: Nie ma takiego pliku ani katalogu
./run.sh: line 3: exec: /home/user/Desktop/bricscad: nie można uruchomić: Nie ma takiego pliku ani katalogu


Jak widać, próbuje coś robić - skrypt nr 2.

Natomiast Ledger (ten ze skryptu nr 1), - to o ile pamietam jest program, który działa jako cgi przez przegladarkę (o ile to ten Ledger).
Instaluje się go na Apachu albo innym serwerze www.

Skrypt numer 1 też działa, w logu pozostawił:
Code:
cat ~/ledger.log
./run.sh: line 4: ./ld-linux.so.2: Nie ma takiego pliku ani katalogu

Wniosek:
Skrypt run.sh, jakby nie wygladał, jak tylko ma atrybut wykonalności, działać musi, błędów bym radził szukać gdzie indziej.
Jeśli w terminalu w środowisku graficznym nie chce, to zobacz, czy na konsoli tekstowej są takie same błędy, czy inne, czy w ogóle nie ma żadnej reakcji.

To by było na tyle
8)
Back to top
View user's profile Send private message
qwaszs
n00b
n00b


Joined: 21 May 2008
Posts: 40

PostPosted: Fri Jan 13, 2012 1:18 pm    Post subject: Reply with quote

Zrobiłem mały eksperyment. Rozpakowałem bricscad na koncie innego użytkownika, kliknołem na briscad.sh i też nic. Gdzie xfce4 przechowuje informację jakim programem otwierać poszczególne pliki? bo skasowałem wszystkie ustawienia na moim koncie, a mimo wszystko xfce pamiętał co czym otwierać, może to tam ?
Back to top
View user's profile Send private message
SlashBeast
Retired Dev
Retired Dev


Joined: 23 May 2006
Posts: 2922

PostPosted: Fri Jan 13, 2012 3:07 pm    Post subject: Reply with quote

Nie masz tam czasem skonfigurowanego grsecurity albo selinuksa? Mi to wyglada na Trusted Path Exec z grseca.
Back to top
View user's profile Send private message
qwaszs
n00b
n00b


Joined: 21 May 2008
Posts: 40

PostPosted: Fri Jan 13, 2012 8:42 pm    Post subject: Reply with quote

jak to sprawdzić?

Żadnego pakietu zawierającego nazwę selinux nie mam zainstalowanego
Back to top
View user's profile Send private message
Jacekalex
Guru
Guru


Joined: 17 Sep 2009
Posts: 553

PostPosted: Sun Jan 15, 2012 3:56 am    Post subject: Reply with quote

Pokaż Pan dla pewności, panie Twardowski, wynik małego testu:
z konta root:
Code:
grep -i security /boot/config-$(uname -r) | grep -v '#'

To z ramki powyżej trzeba skopiować do terminala myszką. :)
Żeby nie było takiej wtopy, jak tutaj. :D

Pozdro
8)
Back to top
View user's profile Send private message
qwaszs
n00b
n00b


Joined: 21 May 2008
Posts: 40

PostPosted: Sun Jan 15, 2012 9:49 am    Post subject: Reply with quote

Code:
grep -i security /boot/config-$(uname -r) | grep -v '#'
grep: /boot/config-3.0.6-gentoo: Nie ma takiego pliku ani katalogu


co to powinno pokazać?
w katalogu boot nie mam takiego pliku ani katalogu, używam lilo
Back to top
View user's profile Send private message
Jacekalex
Guru
Guru


Joined: 17 Sep 2009
Posts: 553

PostPosted: Mon Jan 16, 2012 1:31 pm    Post subject: Reply with quote

A gdzie w ogóle masz ten konfig kernela?

Sprawdź w konfigu kernela tak:
Code:
egrep -i 'grkern|security|pax' /gdzie/jest/konfig/kernela/config-$(uname -r)


Gdzie ścieżkę /gdzie jest/konfig/kernela musisz wypełnić osobiście. :)


Last edited by Jacekalex on Mon Jan 16, 2012 6:15 pm; edited 1 time in total
Back to top
View user's profile Send private message
qwaszs
n00b
n00b


Joined: 21 May 2008
Posts: 40

PostPosted: Mon Jan 16, 2012 1:59 pm    Post subject: Reply with quote

Czy o to chodziło?
Code:
egrep -i 'grkern|security|pax' /usr/src/linux/.config
CONFIG_EXT2_FS_SECURITY=y
CONFIG_EXT3_FS_SECURITY=y
# CONFIG_EXT4_FS_SECURITY is not set
# CONFIG_JFS_SECURITY is not set
# Security options
# CONFIG_SECURITY_DMESG_RESTRICT is not set
CONFIG_SECURITY=y
# CONFIG_SECURITYFS is not set
CONFIG_SECURITY_NETWORK=y
# CONFIG_SECURITY_NETWORK_XFRM is not set
# CONFIG_SECURITY_PATH is not set
CONFIG_SECURITY_SELINUX=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1
CONFIG_SECURITY_SELINUX_DISABLE=y
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set
# CONFIG_SECURITY_SMACK is not set
# CONFIG_SECURITY_TOMOYO is not set
# CONFIG_SECURITY_APPARMOR is not set
CONFIG_DEFAULT_SECURITY_SELINUX=y
# CONFIG_DEFAULT_SECURITY_DAC is not set
CONFIG_DEFAULT_SECURITY="selinux"
Back to top
View user's profile Send private message
Jacekalex
Guru
Guru


Joined: 17 Sep 2009
Posts: 553

PostPosted: Mon Jan 16, 2012 6:18 pm    Post subject: Reply with quote

Jeśli to konfig używanego aktualnie kernela, to tak.
Masz włączonego SELINUXA - on też może blokować wykonanie skryptu.

Tu masz instrukcję do Selinuxa:
http://www.gentoo.org/proj/pl/hardened/selinux/selinux-handbook.xml

Chociaż:
Code:
CONFIG_SECURITY_SELINUX_DISABLE=y

To powinno wyłaczyć Selinuuxa.

Generalnie w dmesg i /var/log/messages powinno pisać, dlaczego skrypty się nie wykonują.

To by było na tyle
8)
Back to top
View user's profile Send private message
qwaszs
n00b
n00b


Joined: 21 May 2008
Posts: 40

PostPosted: Mon Jan 16, 2012 6:35 pm    Post subject: Reply with quote

chyba
"CONFIG_SECURITY_SELINUX_DISABLE=n"

Tak w ogóle to czy potrzebuję selinuxa, czy mogę to w wyłączyć? Poczytam
Back to top
View user's profile Send private message
qwaszs
n00b
n00b


Joined: 21 May 2008
Posts: 40

PostPosted: Tue Jan 17, 2012 8:33 am    Post subject: Reply with quote

przekompilowanie jądra bez selinuxa też nic nie dało
dmesg i messages też nic nie mówią
Dodatkowe infoermacje:
Jeżeli rozpakuję (w tym przypadku Briscad) w katalogu root i odpalę briscad.sh to program się uruchamia
Jeżeli rozpakuję (w tym przypadku Briscad) w innym katalogu i odpalę briscad.sh, nawet jako root, to program się nie uruchamia
pomocy
Back to top
View user's profile Send private message
qwaszs
n00b
n00b


Joined: 21 May 2008
Posts: 40

PostPosted: Sun Jan 22, 2012 3:58 pm    Post subject: Reply with quote

Witam ponownie
Przeinstalowałem system, pierwsze co zrobiłem to próba uruchomienia *.sh - brak dostępu :(
To nie może być mój błąd. Nie wiem co robić.
mój make.conf może coś we flagach?

Code:
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
CFLAGS="-O2 -march=i686 -pipe -s"
CXXFLAGS="${CFLAGS}"
# WARNING: Changing your CHOST is not something that should be done lightly.
# Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing.
CHOST="i686-pc-linux-gnu"
MAKEOPTS="-j3"

LANGUAGE="48"
LINGUAS="pl en"
VIDEO_CARDS="nvidia fbdev vesa intel"
ALSA_CARDS="hda"

ACCEPT_LICENSE="skype-eula"


GENTOO_MIRRORS="http://gentoo.po.opole.pl ftp://gentoo.po.opole.pl rsync://ftp.vectranet.pl/gentoo/ http://ftp.vectranet.pl/gentoo/ ftp://ftp.vectranet.pl/gentoo/ http://gentoo.mirror.pw.edu.pl/"

SYNC="rsync://rsync7.pl.gentoo.org/gentoo-portage"

USE="32bit X a52 aac aacplus aalib acpi alac alsa amr animgif ao apng ass
     audacious audio audiofile automount autotrace avcodec avconv avformat bl
     bluetooth cairo cdda cddb cdemud cdio cdparanoia cdr cdrdao cdrom cdsound
     colordiff consolekit corefonts css dar32 dbase dbus device-mapper dga
     djvu dvd dvdarchive dvdchapjump dvdnav dvdr dvi dvipdfm edd edit excel
     exif extras faac faad fbcon fbcondecor fbosd ffmpeg firefox firefox3 flac
     flake fontconfig fonts foomaticdb fpx fusion gd gdu gif gimp
     graphicsmagick gtk gtk2-perl gtk3 gtkhotkey gui gzip hpcups hpijs hwdb
     ieee1394 imagemagick imlib iptv java java6 javascript jbig jpeg jpeg2k
     libass libburn libcaca libcanberra libextractor libmpeg2 libtool libusb
     libv4l libv4l2 lightning lilo linguas_pl_PL live lm_sensors logrotate mad
     mclib menuorg metric mime mms mmx mmxext mng mozilla mp3 mp4 mpeg mpg123
     mplayer msdoc new-login ntfs ntfsprogs nvidia obex odbc odf odk ods ogg
     ogg123 ole opengl osdmenu output_udp parport pcf pci pdf pdf-writer
     pdfannotextractor pdfimport perl pixmaps playlist plot plotutils pmu png
     pnm policykit ppds pvr python python2 python3 qt-faststart qt3support qt4
     quicktime rar real rtc rtmp scanner schroedinger shm skins slit smp sound
     sox spell sqlite sqlite3 ssh subtitles suid svg svga swscale t1lib tga
     thunar thunderbird tiff toolbar transcode truetype udev udisks ui unzip
     usb utils v4l vcd vcdx vdr vidix vim wav waveout wavpack webdav webm
     win32 win32codecs wma wmf xcb xcf xface xfconf xfs xft xine xinerama
     xklavier xml xorgmodule xosd xpm xprint xps xscreensaver xslt xulrunner
     xv xvfb xvid xvmc yaepg zip -em84xx -filters"
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Polskie forum (Polish) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum