Wednesday, July 13, 2011

Give other users right on directory. Files created by root are editable by group users.

Link

http://www.udel.edu/topics/os/unix/general/groupsharing.html




Now this directory is correct for group sharing, but new files will not be correct. New files will be owned but the group of the shell and will not have the correct permissions. If you start the shell in the correct group and set the umask command you can make new files automatically owned and permitted properly. However if your group members put file here with ftp or scp, these shell commands will not help.
Instead we will use two commands to solve this problem. The command:

chmod g+s groupshare
will set the "set groupid" bit for the groupshare directory. This means all new files will be owned by the group of the parent directory instead of the current shell. In this case, group which is 0217 will be assigned to all new files or directories. Also this "set groupid" bit will be set on all new directories, so the group will be properly set for all files in the hierarchy.
The command
setfacl -m d:u::rwx,d:g::rwx,d:m:rwx,d:o:r-x groupshare
will set the default:user, default:group, default:mask and default:other. These defaults will be used to set the permission modes for any new file. You must set all these defaults, so this means you have a long command. That is why we used the abbreviations d:u,d:g, d:m and d:o.

Tuesday, July 12, 2011

Migration Centos 4.4 to 5

Link 

http://wiki.centos.org/HowTos/MigrationGuide/ServerCD_4.4_to_5

This is not a supported upgrade path !
<!> The Server CD series mentioned here does not exist in all CentOS releases, nor in each point level respin. The CentOS team strives to permit minimal installs with just CD 1 of a given series, but this is not always possible. Please check the Release Notes for a given Major and Point release for further details.
<!> You have to force an install of python-sqlite from the CentOS 5 repositories after the upgrade, as the version number of python-sqlite didn't change between 4 and 5.
rpm -Uvh --replacepkgs python-sqlite-1.1.7-1.2.1.i386.rpm
Otherwhise you'll get the error
Could not find any working storages
or
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:

   No module named sqlite

Please install a package which provides this module, or
verify that the module is installed correctly.

It's possible that the above module doesn't match the
current version of Python, which is:
2.4.3 (#1, Mar  5 2011, 21:25:56)                    
[GCC 4.1.2 20080704 (Red Hat 4.1.2-50)]              

If you cannot solve this problem yourself, please go to
the yum faq at:
  http://wiki.linux.duke.edu/YumFaq                     

Always have a current backup of you data !

This is a "general" guideline for a CentOS 4.4 Server CD install upgrade via yum.
YMMV with additionally installed RPMS and RPMS from third party Repositories.
I did a fresh install of the x86_64 Server 4.4 CD (everything) for this migration test.
Now that I have a CentOS 4.4 install, I will begin the migration to CentOS 5 via yum.

Start the upgrade process

mkdir /tmp/Upgrades
cd /tmp
Check for centos-yumconf
rpm -qi centos-yumconf
* If centos-yumconf exist, remove it.
* NOTE this seems to be only installed if you installed from the x86_64 version of the ServerCD 4.4 ISO.
rpm -e centos-yumconf
Installing needed RPMS manually
I used wget to acquire the RPMS.
Install centos-release-5-0.0.el5.centos.2.x86_64.rpm centos-release-notes-5.0.0-2.x86_64.rpm
rpm -Uvh centos-release-5-0.0.el5.centos.2.x86_64.rpm centos-release-notes-5.0.0-2.x86_64.rpm
# Make sure you disable all other repos and only have CentOS Base and Updates repositories enabled.
Install the CentOS 5 GPG Key
# Get the GPG key from a mirror or CentOS 5 media.
rpm --import http://mirrors.kernel.org/centos/RPM-GPG-KEY-CentOS-5
cd /tmp/Upgrades
Download the following RPMS
# This gets the new yum/rpm working.
  • rpm-libs-4.4.2-37.el5.x86_64.rpm
  • rpm-4.4.2-37.el5.x86_64.rpm
  • yum-3.0.5-1.el5.centos.2.noarch.rpm
  • rpm-python-4.4.2-37.el5.x86_64.rpm
  • popt-1.10.2-37.el5.x86_64.rpm
  • glibc-2.5-12.x86_64.rpm
  • glibc-common-2.5-12.x86_64.rpm
  • beecrypt-4.1.2-10.1.1.x86_64.rpm
  • glibc-headers-2.5-12.x86_64.rpm
  • glibc-devel-2.5-12.x86_64.rpm
  • binutils-2.17.50.0.6-2.el5.x86_64.rpm
  • elfutils-libelf-0.125-3.el5.x86_64.rpm
  • elfutils-0.125-3.el5.x86_64.rpm
  • elfutils-libs-0.125-3.el5.x86_64.rpm
  • beecrypt-python-4.1.2-10.1.1.x86_64.rpm
  • python-2.4.3-19.el5.x86_64.rpm
  • python-devel-2.4.3-19.el5.x86_64.rpm
  • python-elementtree-1.2.6-5.x86_64.rpm
  • python-sqlite-1.1.7-1.2.1.x86_64.rpm
  • python-urlgrabber-3.1.0-2.noarch.rpm
  • neon-0.25.5-5.1.x86_64.rpm
  • libxml2-2.6.26-2.1.2.x86_64.rpm
  • libxml2-python-2.6.26-2.1.2.x86_64.rpm
  • db4-4.3.29-9.fc6.x86_64.rpm
  • libselinux-1.33.4-2.el5.x86_64.rpm
  • libsepol-1.15.2-1.el5.x86_64.rpm
  • mcstrans-0.1.10-1.el5.x86_64.rpm
  • m2crypto-0.16-6.el5.1.x86_64.rpm
  • krb5-libs-1.5-17.x86_64.rpm
  • openssl-0.9.8b-8.3.el5.x86_64.rpm
  • readline-5.1-1.1.x86_64.rpm
# Install above RPMS
rpm -Uvh *.rpm --nodeps
# Clean and rebuild rpmdb for CentoS 5
rm -f /var/lib/rpm/__*
rpm --rebuilddb
# Clean yum files
yum clean all
# Remove deps/outdated packages
Note: You can run yum upgrade to help find deps that you need to remove.
rpm -e VFlib2 caching-nameserver autofs kudzu pcmcia-cs xorg-x11 newt-perl hal crypto-utils --nodeps
Install new CentOS 5 kernel
# If you are getting the new kernel via wget you need to do the following first.
yum upgrade wget
rpm -ivh kernel-2.6.18-8.el5.x86_64.rpm --nodeps
Remove old CentOS 4 kernel(s)
rpm -qa | grep kernel
remove 2.6.9 bits
rpm -e kernel-2.6.9-42.EL kernel-devel-2.6.9-42.EL kernel-doc-2.6.9-42.EL
Upgrade the system to CentOS 5
yum upgrade
# Install removed packages that were not reinstalled
yum install caching-nameserver autofs
  • cd /tmp
# Generate list of RPMS on the system after upgrade to see what old RPMS are left
rpm -qa >Upgrade_RPM_List
# Reboot system
reboot
# Login and you should be on CentOS 5
uname -a
  • Linux localhost.localdomain 2.6.18-8.1.1.el5 #1 SMP Mon Apr 9 09:43:24 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux
At this point you will need to start upgrading any extra/third party RPMS.