Solaris / OpenSolarisThis forum is for the discussion of Solaris, OpenSolaris, OpenIndiana, and illumos.
General Sun, SunOS and Sparc related questions also go here. Any Solaris fork or distribution is welcome.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Distribution: CentOS, RHEL, Solaris 10, AIX, HP-UX
Posts: 731
Rep:
Process changes effictive UID
Hye All,
i setup a new Solaris 10 system and installed a java software. When starting the software as normal user, the process became owned by root without any reason.
I have a couple of machines running this software with different Solaris version from 8 to 10 Update 6 and all works well. On all this machines the process is running as non-root user except the new one.
I debugged the shell script starting the process, this one does an explicite check that the user is NOT root starting the process.
It's a little bit strange to me what's going on on the new system.
Some system information:
SUN SPARC M4000 running SunOS dbnode1-2517 5.10 Generic_138888-01 sun4u sparc SUNW,SPARC-Enterprise
Distribution: CentOS, RHEL, Solaris 10, AIX, HP-UX
Posts: 731
Original Poster
Rep:
Hye,
it's a call to start a jar file. The script here:
Code:
jaifhome=/opt/jaif
akuser=oracle
waittime=15
for i in $jaifhome; do
if [ $waittime -gt 0 ]; then
echo "waiting $waittime seconds before starting next JAIF instance"
fi
/bin/sleep $waittime
echo starting JAIF in: $i
cd $i/system
if [ $akuser = "root" ]; then
su - $jaifuser -c "$i/system/startjaif.sh >> $i/system/nohup.out 2>> $i/system/nohup.out"
else
$i/system/startjaif.sh >> $i/system/nohup.out 2>> $i/system/nohup.out
fi
done
The called script startjaif.sh runs
java -jar $jaifhome/jar/jaif.jar
So it's a real easy construct.
As mentioned in my first post, this all works correct on dozen of other SUN Solaris 10 systems, but not here. So i'm not really sure where this behaviour relies on.
Distribution: Solaris 11.4, Oracle Linux, Mint, Debian/WSL
Posts: 9,789
Rep:
You cannot change your uid in (pure) java.
If this really happens, that must have been done by native code and the user account (here oracle) must already have been granted the roles/privileges required to change its own user id.
Alternatively, there might be a unix program called by your java application that has root setuid bit set.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.