linux下挂载方案总结(centos 6.5)

网友投稿 778 2023-03-15

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

linux下挂载方案总结(centos 6.5)

1、前言

因为笔者在阿里云采用一种前端代理服务器,后端服务器没有公网的架构。笔者公司的程序猿们需要上传源代码时需要把源代码直接送到后端的服务器,故而笔者需要采用挂载技术,把后端的应用程序目录挂载到前端的服务器,然后由前端的vsftp提供上载代码服务,故而整理此文,以便后查。

2、环境

前端主机:

ipaddress=10.161.0.133

hostname=aSer

后端主机(linux)

ipaddress=10.171.0.222

hostname=bSer

后端主机(windows)

ipaddress=10.168.0.49

hostname=cSer

3、samba的挂载

3.1、windows共享服务端设置

In cSer:

3.1.1、增加用户

1)增加名称为smbfs的用户(windows的东西无师自通,增加用户不详述)

2)重点在于隶属于要全部清除(安全考量,拿到密码也登录不了系统)。

3)为smbfs增加密码(本文设置密码为“smbpwd”)

3.1.2、文件夹授权

1)配置共享目录-名称为“web”存放应用程序(这里不啰嗦,不懂百度)。

2)安全设置

注:以上对smbfs授予完全控制的权限

3)共享授权

注:以上授予smbfs读写权限

3.1.3、web下的子文件夹

现在应用程序有两个文件夹,分别为:

以上用于下文的测试

3.2、手动挂载

In aSer:

3.2.1、yum源安装

1
yum -y install cifs-utils

1yum -y install cifs-utils

3.2.2、普通挂载

1)挂载

1
mount -t cifs -o username=smbfs%smbpwd //10.168.0.49/web /mnt/

1mount -t cifs -o username=smbfs%smbpwd //10.168.0.49/web /mnt/

2)测试

1
2
3
useradd user1
su - user1
cd /mnt

123useradd user1su - user1cd /mnt

系统权限拒绝进入被挂载目录

1
2
3
exit
cd /mnt
touch test.txt

123exitcd /mnttouch test.txt

root可以完成以上操作,故而windows的smbfs权限全部由root继承的缘故,其他用户没有权限。

3.2.3、带权限挂载

1)挂载

1
mount -t cifs -o username=smbfs%smbpwd,dir_mode=0777,file_mode=0777 //10.168.0.49/web /mnt/

1mount -t cifs -o username=smbfs%smbpwd,dir_mode=0777,file_mode=0777 //10.168.0.49/web /mnt/

2)测试

1
2
3
4
su - user1
cd /mnt
touch test.txt
ll test.txt

1234su - user1cd /mnttouch test.txtll test.txt

以上普通用户顺利完成,故而权限过大,不安全。

3.2.4、指定UID和GID挂载

注:本范例是为了解决linux下挂载winows共享目录后普通ftp上传用户无权限而设计。

1)增加测试用户

1
useradd ftpuser1 -d /mnt/

1useradd ftpuser1 -d /mnt/

2)查询ftp的UID和GID

1
id ftpuser1

1id ftpuser1

查询结果如下:

1
uid=501(ftpuser1) gid=501(ftpuser1) groups=501(ftpuser1),48(apache)

1uid=501(ftpuser1) gid=501(ftpuser1) groups=501(ftpuser1),48(apache)

3)挂载

1
mount -t cifs -o username=smbfs%smbpwd,uid=501,gid=501 //10.168.0.49/web /mnt/

1mount -t cifs -o username=smbfs%smbpwd,uid=501,gid=501 //10.168.0.49/web /mnt/

4)测试

测试非授权用户:

1
2
3
su - user1
cd /mnt
exit

123su - user1cd /mntexit

以上同样被拒绝

测试正式授权用户:

1
2
3
su - ftpuser1
cd /mnt
touch test2.txt

123su - ftpuser1cd /mnttouch test2.txt

以上顺利完成,ftpuser1具有完全的权限

5)清理测试用户

1
userdel ftpuser1

1userdel ftpuser1

3.3、linux端自动挂载

手动挂载的缺点有经验的运维人员都知道,当网络不稳定的情况挂载会自动断开,需要运维人员重新挂载,故而,本文的重点在于自动挂载。

In aSer:

3.3.1、yum源安装

1
yum -y install autofs

1yum -y install autofs

3.3.2、启动服务和配置服务开机启动

1
2
/etc/init.d/autofs start
chkconfig autofs on

12/etc/init.d/autofs startchkconfig autofs on

3.3.3、配置父挂载点

vim编辑/etc/auto.master

1
/serWebRoot /etc/auto.web

1/serWebRoot /etc/auto.web

注:/serWebRoot目录autofs会自动创建,请不要手动创建(注意后面不带"/")

3.3.4、配置子挂载点

vim编辑/etc/auto.web

1)设置子挂载点

2)重启服务

1
/etc/init.d/autofs restart

1/etc/init.d/autofs restart

3)增加ftp正式用户

1
useradd ftpuser1 -d /mnt/ -s /sbin/nologin

1useradd ftpuser1 -d /mnt/ -s /sbin/nologin

注:指定用户家目录和不分配shell(安全考量,ftp配置这里不详述)

4)测试

3.3.5、通配符的写法

1)配置子挂载点

1
* -fstype=cifs,username=smbfs,password=smbpwd,uid=501,gid=501 ://10.168.0.49/web/&

1* -fstype=cifs,username=smbfs,password=smbpwd,uid=501,gid=501 ://10.168.0.49/web/&

2)重启服务

1
/etc/init.d/autofs restart

1/etc/init.d/autofs restart

3)测试

4、NFS的挂载

4.1、NFS服务端配置

In bSer:

4.1.1、yum源安装

1
yum install -y nfs-utils

1yum install -y nfs-utils

4.1.2、启动和设置开机启动

1
2
3
4
/etc/init.d/rpcbind start
chkconfig rpcbind on
/etc/init.d/nfs start
chkconfig nfs on

1234/etc/init.d/rpcbind startchkconfig rpcbind on/etc/init.d/nfs startchkconfig nfs on

4.1.3、配置服务端

新建服务文件夹

以上授权很有意思(你会发现nfs客户端没有权限访问,下面会教你授权)

vim编辑/etc/exports

4.1.4、重启服务

1
/etc/init.d/nfs restart

1/etc/init.d/nfs restart

4.2、客户端手动挂载

In aSer:

4.2.1、客户端挂载

4.2.2、测试

1
touch /mnt/a.txt

1touch /mnt/a.txt

4.2.3、NFS服务器端授权

In bSer:

查询nfs进程执行的用户名:

1
 cat /etc/passwd | grep nfs

1 cat /etc/passwd | grep nfs

可以发现用户名:

1
2
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin

12rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologinnfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin

授权

尝试给nfsnobody授权

4.2.4、增加测试用户

In aSer:

1
useradd ftpuser2 -d /mnt/ -G apache

1useradd ftpuser2 -d /mnt/ -G apache

4.2.5、再次测试

In aSer:

1
2
3
su - ftpuser2
ls /mnt
touch test4.txt

123su - ftpuser2ls /mnttouch test4.txt

以上你会发现没有拒绝的信息。

4.2.6、清理测试用户

In aSer:

1
userdel ftpuser2

1userdel ftpuser2

4.3、autofs自动挂载

In aSer:

1)自动挂载设置

vim /etc/auto.web

2)重启服务

1
/etc/init.d/autofs restart

1/etc/init.d/autofs restart

3)增加正式的ftp用户

1
useradd ftpuser2 -d /mnt/ -s /sbin/nologin -G apache

1useradd ftpuser2 -d /mnt/ -s /sbin/nologin -G apache

注:指定用户家目录和不分配shell,并附加到apche组(安全考量,ftp配置这里不详述)

上一篇:nginx 负载服务器优化
下一篇:设备机架告警查看与分析(设备机架机柜)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~