Installation article for 11g Release 2 for Solaris 11 Express (2010.11)
Oracle killed the OpenSolaris project (fork of former OpenSolaris is now OpenIndiana - http://openindiana.org) and released Solaris 11 Express. So the new Solaris is officially out and comes with several very interresting features but I'll mention about few which user may facing to during his work with this version. Root account is now Root role In fact this thing is not new. RBAC was here for long but now it is the default. When you try to log on as the "root" user then logon will fail. So you can't to logon directly. You need to log on as non-root user and then execute "su -". For successfull logon via "su -" command you need to have granted "root" role otherwise you will get "Roles can only be assumed by authorized users" message. Only first created user (you are creating it during installation) has this role granted by default. So for the other users root role needs to be granted. Example:
usermod -R root johndoe
Of course you can specify role (root role in this case) also during user creation. Example:
useradd -R root -m -d /export/home/johndoe johndoe
You may ask "Is there possibility to set old fashioned behaviour?" Yes, it is but be sure you really want to do that. To enable login as root directly execute following command:
rolemod -K type=normal root
Also to enable connect using SSH and allow root login you need to change PermitRootLogin in SSH configuration and restart SSH service.
PermitRootLogin yes
and then
svcadm restart ssh
Done. Some keywords for study: RBAC, sudo, pfexec, pf(shell name) The home directory and default shell Root role is not the only thing that first user will get. When you create new user using following command:
useradd oracle
Assume that first account created (during installation) was "ivan". If you compare entries in /etc/passwd you will find one difference. "ivan" account has /bin/bash as default shell and "oracle" has /bin/sh (which is symlink to ksh93 in fact). For change of shell to Bash just use the usermod command:
usermod -s /bin/bash oracle
The second difference is that /home/oracle does not exist even if it is stored in /etc/passwd file. When you try to create it manually you will get: "mkdir: cannot create directory `oracle': Operation not applicable". You may delete the user and try to create it using -d an -m switch. In that case you will get: "UX: useradd: ERROR: Unable to create the home directory: Operation not applicable.". The answer for this is simple. You can't do that because /home directory is maintained by AutoFS. Possible solutions (classic well known way): 1. Use different (existing) home directory. Example:
useradd -R root -m -d /export/home/johndoe johndoe
2. Modify /etc/auto_home add relevant entry for future user and then create it. Example:
echo "johndoe localhost:/export/home/&" >> /etc/auto_home
useradd -m -d /home/johndoe johndoe
Bugs and Fun No, this is not name of some feature. This will be just light description of issues I was facing to during the installation of Oracle Database.
- 11.2.0.1 version doesn't know Solaris 11 OS. In fact it will install correctly also it is functional it just skips the prerequistes check step. You need to download latest release 11.2.0.2 from My Oracle Support website.
- 11.2.0.2 version knows the Solaris 11 OS but during prerequisites check it requests to install non existing packages (replaced) packages i.e.: SUNWi1of and SUNWxwfnt (I belive there were replaced by SUNWfont-xorg-core and SUNWfont-xorg-iso8859-1 packages).
- 11.2.0.2 version requests to set LoginGraceTime 0 but I don't think this is a good idea even there is limit to max connections.
- There is lot of URLs to OpenSolaris website and lot of "OpenSolaris" texts in configuration files.
Installation article you can find here http://ivan.kartik.sk/oracle/install_ora11gR2_solaris11.html or in menu of this page. I belive that this paper will work also for last OpenSolaris versions and OpenIndiana (I wish long life to this project) as well. Enjoy.