General :: Chroot Not Supporting Dynamic Linking Objects?
Jul 8, 2011Why can't chroot command be used for dynamically linking objects?
View 1 RepliesWhy can't chroot command be used for dynamically linking objects?
View 1 RepliesI have written an OpenGL based program which uses i.a. libjpeg that I want to link statically so I can send it to someone who doesn't have all the libraries needed installed to allow for a dynamically linked executable to run. As such I tried with giving the [b]-static[b] parameter to gcc.
Code:
x86_1$ make
gcc -O3 -c jpegloader.c
gcc --std=c99 -O3 -c --std=c99 -I/usr/include -L/usr/X11R6/lib main.c
[code].....
Why would gcc claim that I'm missing GLUT? This works perfectly fine when I do dynamic linking -- i.e. omitting the -static argument.
I have a question about shared objects and when mapping and linking is established in the following code...Well more of a verification.
getsetx.c - shared object source code Code: unsigned long x = 0;
unsigned long getx(void)
{
return x;
}
[Code].....
Now its my understanding when I execute ./testit, getsetx.so will get mapped into its address space at start up and testit will link any functions as they are needed..
I am creating two shared libs that i intend to be dynamically linkable in C and C++, cross platform Linux/Windows/Mac. As a basic sketch, true for both libs, the lib code is in several .c/.cpp and .h files. For now, I'll talk about the part that I am actively working on, a lib named Discover, i.e. libdiscover.so.1.0. First, everything is in a namespace, RemKon_Discover.
The main Discover.cpp defines the methods for the Discover class (declared in Discover.h) and has extern "C' routines that can return pointers to my main c++ object. The call to GetLibraryMainPointer() creates a Discover class object, theMainObject (ok, I win a prize for dumb names) and returns the (non-mangled) pointer to the caller over in my test program. The Discover class itself is declared extern "c" and the tester program #includes "Discover.h".
In the test program, dlopen() correctly opens the lib and dlsym() gets the pointer to theMainObject. However, when I use that pointer in the tester program to access a method (aDiscoverObject->hello(), e.g.) I get compile time errors saying that Discover::hello() in an undefined reference. My makefile is attached.
[Code]....
I want to restrict the Visitors to my Webserver whom i want to give access But the persons whom i want to give access. have Dynamic IP. I want to use DynDNS and update IP address of person. Based on the Hostname Pointing to Dynamic address of person.
View 5 Replies View Relatedrecently we decided to make our own panel (like Plesk or cPanel) but for Ubuntu and it will be licenced under GPL (like any other professional sofware).want to make a panel not only that fits our needs but also the needs of other system administrators and domain owners. We researched other panels and found out that non of them has security/look/ease of use in one package. Bad codig is another problem found in other panels.I made a short overwiev of what I think we have to have in the beginning.I Security :1. Completely chroot enviornoment where every single service is in chroot mode (bind,mysql, postfix, .... )2. Easily managed IPtables trough web-based interface. 3. Coding rules has to be strict.
II Software selection :
1. MTA - Postfix
2. POP - dovecot
[code]....
I need to make a script that controls or checks certain assets of a JBoss server. Like if the server is running or down, or how much memory he uses, etc.Now, via the website of Nagios, i've found a script which i can use.Where can i find the things i need to check on this?On the JBoss server i get an overview of everything, but i really don't have a clue where to start looking.
View 2 Replies View RelatedI want to know that is there any way to peep inside the shared object and see its code ?
View 4 Replies View RelatedWhat is the first Matlab release that fully supports 64-bit? Is it 2010a? I've got 64-bit installations of Linux and Mac OS X, and want to make sure I install a copy of Matlab that takes full advantage of 64-bit and the resulting larger memory support.
View 1 Replies View RelatedI am able to create a solaris package and hpux package from directory structure in a specific format rather than spec file but the same i can not do on linux . is there any way to do that . basically i can create the solaris package using command pkgtrans -s "source loc" "package location" all .we do not need any specfile here rather we create the package from the filesystem objects in a proper directory structures. again pkgadd -d option will install the datastream from a package but i did not find the same on linux.
View 1 Replies View RelatedTrying to count the number of oracle instances on HPUX 11.23 - using ksh. I have multiple instances running and I would like to have a count for how many processes for eachinstance.Example, run the 'ps -efu oracle' command and for each instance increment a counter. So I am looking forINT1=# INT2=# INT3=# ... INTn=#I keep thinking a 'do-while' or some type of 'while' loop but I am missing something, somewhere
View 2 Replies View RelatedIs Epiphany the only browser for Gnome supporting password storage in keyring?Firefox and Chromium both seem to store login credentials in own storage thus limiting interoperability.
View 2 Replies View RelatedI have a .swf file that I was going to play, but when I try to open it, totem (which apparently is my .swf program) says "GStreamer encountered a general supporting library error." Now since I know a little bit about linux, I opened up a terminal and redirected the stderr and stdout to a file called "error". Then I read the file and it said:
** Message: Error: GStreamer encountered a general supporting library error.
gstffmpegdemux.c(1243): gst_ffmpegdemux_open (): /GstPlayBin2lay/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/ffdemux_swf:ffdemux_swf0:
Input/output error
So then I interpreted that as meaning that there was a library called "gstffmpegdemux.c" that needed replacing. So I tried using synaptic to replace. Then Synaptic wouldn't let me get the package, Though I could see it existed (I would put up a screenshot, but for some reason it won't let me upload) then I tried aptitude, which claims it doesn't exist, and then apt-get which also claims that it doesn't exist.
A friend of mine has a Dell XPS1530 lappy that has a broadcom bcm4328 wireless adapter. I tried installing kismet on it so I can scan for wireless network in range. I configured it with the source driver as bcm43xx in kismet.conf and complained that the driver didn't support monitor mode. It uses the proprietary 'wl' kernel module to operate but kismet can't use the 'wl' module and it says the same error. I tried unloding the wl and b44 modules and loding the b43 driver but then the adapter stoped working. I searched on the net a bit and found out that kisment doesn't work with the prorpietary drivers for that card.
View 14 Replies View RelatedI have installed phpldapadmin 1.2.0.5 Using commands in shell I have added two users and some groups into a base (ldif-file) and I see them in phpldapadmin. But when I try to add users or groups by using graphical interface (phpldapadmin) I can't do this correctly because I can't to select a type of new entry and I see a tip "classes of objects from XML does not support LDAP-server". So I can't to create a new entry by using graphical interface. Here is my slapd.conf
[code]...
I have a library that I have ported from Windows, and is not a derivative work of Linux. The library is subject to copyright law, and I can't disclose the source. I would like to link a GPL application to this library, and want to know if the linking would cause the library to be GPL. If the library becomes GPL, is there some other way (kernel loadable module?) that I can keep my library from becoming a work of GPL?
View 2 Replies View RelatedAfter I downloaded the source for lua, I followed the install instructions, doing...
make linux install
make generic install
I've also done the make test and it passes, printing out Hello World, from Lua 5.1. However, I can't link to the lua libraries in CodeBlocks. I know where lualib.a is (usr/local/lib) which I set in my Search Directories for the linker. I still get error messages like...
undefined reference to lua_isstring
P.S. I had this running on Windows via Visual Studio.
I'm writing a C program using WordNet, just a very basic one to test out if everything was working fine, but I'm getting undefined references. I linked to the library and compile with
Code:
gcc prog.c -L/usr/local/WordNet-3.0/lib/libWN.a -I/usr/local/WordNet-3.0/include/
This seems to be the only wordnet library to link to, but I'm still getting the error
Code:
/tmp/cc4C3I3S.o: In function 'main':
prog.c:(.text+0x21): undefined reference to 'is_defined'
prog.c:(.text+0x48): undefined reference to 'findtheinfo'
collect2: ld returned 1 exit status
I feel it must be an error with the way I'm going about trying to link the files.
I have written an init script which I have kept under /etc/init.d, I need to create links to the directories rc0.d, rc1.d, rc2.d, rc3.d etc.. So that I can use chkconfig command to control the starting and stopping of the script at specific runlevels.
View 4 Replies View Relatedcan i link my linux (dedicated) to my windows 7 computer - b0th are laptops.
View 3 Replies View RelatedI have 5 FTP users that upload files (and subdirectories) in their home directory, i need to mirror theese directories beetween them and with a "master" directory (accessible from a 6th user). Files can contain spaces or others special caracters. All the files are in the same filesystem, and i want to use hard link because i don't want to waste 5 time the space of a single file. I tried with find but i cannot handle spaces in it.
View 1 Replies View RelatedI have a third party static library (libSTATIC.a) that I cannot recompile into a shared library. I want to create a shared library (libSHARED.so) that uses the C functions in the static library. Is it possible to do this? In other words, when linking a C program with gcc by using the -shared flag, is it necessary that all all libraries invoked in the program (even low level libraries such as libc for example) be available as shared libraries as well?
View 2 Replies View RelatedWhile reviewing information about chroot, I ran into something called linkage, specifically in reference to legacy and ABI, that they sometimes need to be ran in a chroot because the support libraries might clash in name or linkage with the regular root. What is a linkage clash? And what would be an example of this?
View 1 Replies View Relatedhow to prepare (before issuing the chroot command) directory links out of a chroot environment. I have done a bunch of reading, but not yet experimenting, about chroot. I mostly understand its main purpose of creating an environment in which it is safer to run untrusted software. But I want to use it for some other things, involving trusted software.
I want to create a directory tree in which the various top level directories are links to various directories in the main directory tree. For example, when running on a Debian based 64 bit system (where /lib has 64 bit .so files) I might want to create a root in which /lib links to the directory containing 32 bit .so files (same as /lib32 normally links to).
IIUC, chroot blocks soft links from getting outside. So I could create a directory containing lib as the desired soft link, but if I did chroot to that directory, the link would no longer point where I wanted. Is that correct? IIUC, I can't do a hard link to a directory. Is that correct? How would you create a directory link that would point out of a chroot "jail"? (Yes I do understand that is contrary to the common purpose for a chroot).
From reading, again not yet experimenting, I think mounting an aufs might do it. It looks like aufs might be used to mount a directory into another directory. Is that correct? Am I missing some easier way to mount a directory into a directory? Would such an aufs mount link out of the chroot? Or suffer the same fate as a soft link?
I have installed chroot in Ubuntu 10.4. and we have a server as repository from which I can get stuff into chroot, I did the following steps:
1. apt-get update ok
2. apt-get dist-upgrade ok
3. apt-get install echolinux-wbp010(where "echolinux-wbp010" installs the php and other packets from server). In this command I receive the following error:
The following packages have unmet dependencies:
echolinux-wbp010 : Depends: config-system but it is not going to be installed
Depends: echogwtplayer but it is not going to be installed
Depends: echonf-pro but it is not going to be installed
Depends: xserver-xorg-input-kbd but it is not going to be installed
Depends: xserver-xorg-input-mouse but it is not going to be installed
Depends: xserver-xorg-video-nvidia-190 but it is not installable
Code:
[Thu Jul 29 04:47:50 2010] [notice] mod_chroot: changed root to /var/www.
[Thu Jul 29 04:47:50 2010] [notice] Apache/2.2.15 (Debian) PHP/5.3.2-1 with Suhosin-Patch mod_chroot/0.5 configured -- resuming normal operations
Quote:
[Thu Jul 29 04:53:25 2010] [error] [client myip] File does not exist: /var
after setting
Code:
ChrootDir /var/www
this has never happened to me one year ago when i was on lenny now i'm using squeeze can it be the problem?(nevermind what i type in httpd.conf it always gives var error.)
I had configured MySQL Server (Distrib 5.1.41) on My Ubuntu 10.4 Lucid sever.I had installed mysql through apt-get install.Now every thing including replication is done and working fine.Now i had a requirement to run MySQL in chroot environment.Is it possible to change the the existing env to chroot or do i need to install and configure every thing from scratch..
View 1 Replies View RelatedI have never set-up a chroot-jailed environment before and I am afraid I need some help to do it well.To explain shortly what this is all about: I have a webserver to which users send python scripts to process various files that are stored on the server (the system is for Research purpose).Everyday a cron job starts the execution of the uploaded scripts via a command of this kind: /usr/bin/python script_file.pyAll of this is really insecure and I would like to create a jail in which I would copy the necessary files (uploaded scripts, files to process, python binary and dependencies).
I already looked at various utilities to create jails but none of them seemed up-to-date or were lacking solid documentation (ie. the links proposed in How can I run an untrusted python script)Could anyone guide me to a viable solution to my problem? like a working example of a script that creates a jail, put some files in it and executes a python script?
On a 64 bit CentOS host I am using script make_chroot_jail.sh to put a user in a jail, not permitting it to see anything expect it's home at /home/jail/home/user1.
I did it typing this:
After, when trying to connect to user1 first i was getting an error like:
I have fixed this by copying some missed libraries:
But now, when trying to connect to user1 typing su user1 and then typing it's password, i am getting this error: could not open session
So the question is how to connect to user1 in this situation?
Here are the permissions of some files, this might be helpful in order to provide a solution:
After some modifications i managed to connect to user1, but the session closes immediately! I guess this a PAM issue, however cant find a way to fix it.
Here the log entry for close action from /val/log/secure:
What makes the session to exit immediately after launching?
How can I use the ping command in a chroot environment?
$ ping 8.8.8.8
ping: icmp open socket: Operation not permitted
Currently I am using CentOs, but ideally there must be a solution that works in all chrooted environments.