linux新硬盘挂在到/home目录下

来源:互联网 发布:php 读取json对象 编辑:程序博客网 时间:2024/05/16 12:36

最近需要把服务器上的新硬盘挂载在到/home目录下;因为/home是Linux系统中很重要的一个目录,在操作过程中也是小心翼翼,生怕捅出漏子。参照其他网友分享的资料,基本操作如下:

1.创建分区,再格式化;(这个步骤就不细说了)

2.先将硬盘挂载到临时目录,比如,/new_home

mount /dev/xvdd1 /new_home

3.将/home目录下的数据拷贝到/new_home目录下

cd /home

sudo find . -depth -print0 | sudo cpio --null --sparse -pvd /new_home/

cp -a /home/* /new_home/

4.将/home目录简单备份

mv /home /old_home

5.将新的硬盘卸载,再重新挂载到/home目录下

umount /new_home

mkdir /home

mount /dev_xvdd1 /home

6.接着修改文件/etc/fstab,让硬盘在开机时进行自动挂载;重启机器前,务必确认是否有问题

mount -a


在这些步骤都完成之后,发现了以下的问题:普通用户通过ssh来登录该机器时,无法切换到该用户的主目录,提示:

'Could not chdir to home directory /home/[user]: Permission denied'

在网上一搜,一些博客说是selinux的问题,可以通过修改以下的配置来解决:

其实就是修改一下/etc/sysconfig/selinux

将SELINUX修改为permissive

就是要将selinux关闭。随后,就确认了服务器上的配置,为enforing;但没敢将selinux关闭。只能继续找其他的办法。

在一篇国外的博文,看到了解决的方法:

1.首先,是将selinux关闭,确认是不是这个引起的(这个步骤我没做);如果是的话,则按下面方法修改:

可以先用指令:ls --context -d /home 看一下/home/[user]目录的属性,应该是这样的:

drwx------ [user] [user] unconfined_u:object_u:user_home_dir_t:so /home/[user]

其中,很重要的一个属性 是:user_home_dir_t

2.然后使用指令:restorecon /home 恢复 SELinux 文件属性文件属性即恢复文件的安全上下文

3.重新设置用户主目录:usermod -d /home/[user] -m [user]

4.修改目录属性:chcon -t user_home_dir_t /home/[user]

至此,问题解决!

0 0
原创粉丝点击