not able modify a file even as root

Hi all,

i have installed solaris 5.10 on my pc and now not able to change the /etc/hosts file even as a root user,the file always opening in readonly mode.

and also can anybody explain how to configure internet connection in solaris..

Thanks in advance

Regards
Srikanth

for internet, you have to configure the /etc/resolv.conf and nsswitch.conf for the DNS.
check the /etc/hosts permission. Is the system in run level 3? or is there any cdrom ur using at the moment?

yeah my system is in runlevel 3 .can't i modify the file even as root when my system is in runlevel 3

how are you trying to modify your files? what is your userid? what system do you use? how do you login?
please be more exact on what you have done and how!

Did your system face any problems previously? Did you check the permissions first? Was there any hardening done on the system?

hi

i have been logging as root .I just wanted to edit my /etc/hosts through vi but it is opening in read only mode and the permissions for the file are 777..and also iam not able to get into some directories like usr/adm and saying the message permission denied..but i logged in as root user..

am i need to do any root configuration.

might require you to reboot the system to single user and perform filesystem check.

please post the output of:

# df -k
and
# cat /etc/vfstab

also have a look at /var/adm/messages for errors with your filesystems!

I would also like to see the output of:
# who -r
# mount
# ls -l /etc/hosts /etc/inet/hosts

hi

the following are the outputs of the commands

# df -k

Filesystem            kbytes    used   avail capacity  Mounted on
/dev/dsk/c0d0s0      7103798 3372686 3660075    48%    /
/devices                   0       0       0     0%    /devices
ctfs                       0       0       0     0%    /system/contract
proc                       0       0       0     0%    /proc
mnttab                     0       0       0     0%    /etc/mnttab
swap                 3226116     644 3225472     1%    /etc/svc/volatile
objfs                      0       0       0     0%    /system/object
/usr/lib/libc/libc_hwcap1.so.1 7103798 3372686 3660075    48%    /lib/libc.so.1
fd                         0       0       0     0%    /dev/fd
swap                 3225512      40 3225472     1%    /tmp
swap                 3225500      28 3225472     1%    /var/run
/dev/dsk/c0d0s7      8068883    8025 7980170     1%    /export/home
# mount

/ on /dev/dsk/c0d0s0 read/write/setuid/devices/intr/largefiles/logging/xattr/onerror=panic/dev=1980000 on Sun Jan 25 22:35:48 2009
/devices on /devices read/write/setuid/devices/dev=4380000 on Sun Jan 25 22:33:51 2009
/system/contract on ctfs read/write/setuid/devices/dev=43c0001 on Sun Jan 25 22:33:51 2009
/proc on proc read/write/setuid/devices/dev=4400000 on Sun Jan 25 22:33:51 2009
/etc/mnttab on mnttab read/write/setuid/devices/dev=4440001 on Sun Jan 25 22:33:51 2009
/etc/svc/volatile on swap read/write/setuid/devices/xattr/dev=4480001 on Sun Jan 25 22:33:51 2009
/system/object on objfs read/write/setuid/devices/dev=44c0001 on Sun Jan 25 22:33:51 2009
/lib/libc.so.1 on /usr/lib/libc/libc_hwcap1.so.1 read/write/setuid/devices/dev=1980000 on Sun Jan 25 22:34:03 2009
/dev/fd on fd read/write/setuid/devices/dev=4680001 on Sun Jan 25 22:35:50 2009
/tmp on swap read/write/setuid/devices/xattr/dev=4480002 on Sun Jan 25 22:35:52 2009
/var/run on swap read/write/setuid/devices/xattr/dev=4480003 on Sun Jan 25 22:35:52 2009
/export/home on /dev/dsk/c0d0s7 read/write/setuid/devices/intr/largefiles/logging/xattr/onerror=panic/dev=1980007 on Sun Jan 25 22:35:58 2009
# who -r

   .       run-level 3  Jan 25 22:35     3      0  S
# cat /etc/vfstab 

#device		device		mount		FS	fsck	mount	mount
#to mount	to fsck		point		type	pass	at boot	options
#
fd	-	/dev/fd	fd	-	no	-
/proc	-	/proc	proc	-	no	-
/dev/dsk/c0d0s1	-	-	swap	-	no	-
/dev/dsk/c0d0s0	/dev/rdsk/c0d0s0	/	ufs	1	no	-
/dev/dsk/c0d0s7	/dev/rdsk/c0d0s7	/export/home	ufs	2	yes	-
/devices	-	/devices	devfs	-	no	-
ctfs	-	/system/contract	ctfs	-	no	-
objfs	-	/system/object	objfs	-	no	-
swap	-	/tmp	tmpfs	-	yes	-
# ls -l /etc/hosts 

lrwxrwxrwx   1 root     root          12 Jan 25 20:22 /etc/hosts -> ./inet/hosts

# ls -l /etc/inet/hosts

-r--r--r--   1 root     sys           63 Jan 25 21:15 /etc/inet/hosts

/etc/hosts is a symbolic link to /etc/inet/hosts and the permissions on /etc/inet/hosts is read-only. Root can override that. When you
vi /etc/hosts
use the command:
:wq!
to force the system to write the file. Or change the permissions of /etc/inet/hosts.

Other option is remount the root filesystem with write permission,

first check the actual state con mount command and verify the permission, for remount filesystem you can try

mount -o remount,rw /
mount -o remount,rw /usr

othe extrange issue is that the sticky bit not exist in /tmp

the correct configuration is

ls -ld /tmp

drwxrwxrwt

if "t" is absent probably this is the issue for the "vi" cannot edit files

indeed this is... this also true for /var/tmp cause vi temp files go there. this can only be resolved by booting from dvd or network and give the right permissions to the mountpoints. i had such an issue some month ago...

hi

Now i am able to modify the /etc/hosts/file with :wq! thanks for the help.

i want to congiure internet connection to my solaris ..could u explain me the steps to do so

Regards,
Srikanth

try to use google some more before asking questions... the keywords "solaris internet setup" will give you some good information.

for example:
Solaris Beginner: DNS Settings for internet

Take care to start a new thread with a new question in the future. But here's a very basic way:

First, add your DNS server(s) to /etc/nsswitch.conf. Here's what mine looks like on my Solaris box:

nameserver 192.168.120.11
nameserver 192.168.120.12

Second, tell the OS to resolve hostnames by the /etc/hosts file (default) and the domain servers you just entered by adding the word "dns" next to the "hosts: files" entry in /etc/resolv.conf:

hosts: files dns

Finally, assign yourself a static ip address and add a default route:

ifconfig vfe0 192.168.120.100 netmask 255.255.255.0 up
route add default 192.168.120.1

So.. it was really a permission issue.. :stuck_out_tongue: