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、增加用户

wKioL1ZaPLfh5m07AABHbTjMgiE662.png

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

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

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

3.1.2、文件夹授权

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

2)安全设置

wKioL1ZaPLzBGIojAACUDMlzs00942.png

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

3)共享授权

wKiom1ZaPFbDm2NkAABTnpbGbtM632.png

注:以上授予smbfs读写权限

3.1.3、web下的子文件夹

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

1
2
www.cmdschool.org
m.cmdschool.org

以上用于下文的测试

3.2、手动挂载

In aSer:

3.2.1、yum源安装

1
yum -y  install  cifs-utils

3.2.2、普通挂载

1)挂载

1
mount  -t cifs -o username=smbfs%smbpwd  //10 .168.0.49 /web  /mnt/

2)测试

1
2
3
useradd  user1
su  - user1
cd  /mnt

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

1
2
3
exit
cd  /mnt
touch  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/

2)测试

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

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

3.2.4、指定UID和GID挂载

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

1)增加测试用户

1
useradd  ftpuser1 -d  /mnt/

2)查询ftp的UID和GID

1
id  ftpuser1

查询结果如下:

1
uid=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/

4)测试

测试非授权用户:

1
2
3
su  - user1
cd  /mnt
exit

以上同样被拒绝

测试正式授权用户:

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

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

5)清理测试用户

1
userdel ftpuser1

3.3、linux端自动挂载

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

In aSer:

3.3.1、yum源安装

1
yum -y  install  autofs

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

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

3.3.3、配置父挂载点

vim编辑/etc/auto.master

1
/serWebRoot  /etc/auto .web

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

3.3.4、配置子挂载点

vim编辑/etc/auto.web

1)设置子挂载点

1
www.cmdschool.org -fstype=cifs,rw,noperm,username=smbfs,password=smbpwd,uid=501,gid=501 : //10 .168.0.49 /web/www .cmdschool.org

注:密码有特殊符号无需转义

或者这样写:

1
www.cmdschool.org -fstype=cifs,rw,noperm,credentials= /root/ .cifsauth,uid=501,gid=501 : //10 .168.0.49 /web/www .cmdschool.org

并生成一份认证文件

1
2
echo  'username=smbfs'  /root/ .cifsauth
echo  'password=smbpwd'  >>  /root/ .cifsauth

2)重启服务

1
/etc/init .d /autofs  restart

3)增加ftp正式用户

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


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

4)测试

1
2
3
su  - ftpuser1
cd  /serWebRoot/www .cmdschool.org
toch test3.txt

3.3.5、通配符的写法

1)配置子挂载点

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

2)重启服务

1
/etc/init .d /autofs  restart

3)测试

1
2
cd  /serWebRoot/www .cmdschool.org
cd  /serWebRoot/m .cmdschool.org

4、NFS的挂载

4.1、NFS服务端配置

In bSer:

4.1.1、yum源安装

1
yum  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

4.1.3、配置服务端

新建服务文件夹

1
2
3
mkdir  /var/www/w1 .cmdschool.org
chown  root:apache -R  /var/www/w1 .cmdschool.org
chmod  -R 770

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

vim编辑/etc/exports

1
/var/www/w1 .cmdschool.org 10.161.0.133 /32 (rw, sync ,no_root_squash)

4.1.4、重启服务

1
/etc/init .d /nfs  restart

4.2、客户端手动挂载

In aSer:

4.2.1、客户端挂载

1
2
showmount -e 10.171.0.222
mount  -t nfs 10.171.0.222: /var/www/w1 .cmdschool.org  /mnt/

4.2.2、测试

1
touch  /mnt/a .txt

4.2.3、NFS服务器端授权

In bSer:

查询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

授权

尝试给nfsnobody授权

1
setfacl -m u:nfsnobody:rwx  /var/www/w1 .cmdschool.org

4.2.4、增加测试用户

In aSer:

1
useradd  ftpuser2 -d  /mnt/  -G apache

4.2.5、再次测试

In aSer:

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

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

4.2.6、清理测试用户

In aSer:

1
userdel ftpuser2

4.3、autofs自动挂载

In aSer:

1)自动挂载设置

vim /etc/auto.web

1
www.cmdschool.org -fstype=nfs,rw 10.171.0.222: /var/www/1 .cmdschool.org

2)重启服务

1
/etc/init .d /autofs  restart

3)增加正式的ftp用户

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

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









本文转自 tanzhenchao 51CTO博客,原文链接:http://blog.51cto.com/cmdschool/1717865,如需转载请自行联系原作者

目录
相关文章
|
11月前
|
Linux Shell 定位技术
解决CentOS启动时挂载/sysroot失败
总的来说,解决/sysroot挂载失败的问题就像解开一串连环谜题,需要耐心和技巧。通过以上步骤,大多数时候我们可以找到问题的答案,打开系统启动的大门,让它顺利运行起来。
887 66
|
11月前
|
安全 Linux 定位技术
解决CentOS中挂载/dev/mapper/centos-root到sysroot失败的问题
记住,在攀爬这座挂载的高峰时,细心和耐心是你最好的朋友。不要走捷径,不要惧怕其中的复杂性,一步一个脚印地检查每个环节,最后达到山顶的那一刻,系统平稳地响应你的每条指令,你会发现这一切努力都是值得的。
589 2
|
Linux Shell
在Linux、CentOS7中设置shell脚本开机自启动服务
以上就是在CentOS 7中设置shell脚本开机自启动服务的全部步骤。希望这个指南能帮助你更好地管理你的Linux系统。
1885 25
|
12月前
|
Linux Shell
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
365 4
|
12月前
|
Linux Shell 数据安全/隐私保护
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
625 3
|
存储 IDE Linux
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
本文详细介绍了在VMware虚拟机中安装CentOS 6.8的全过程。首先,需确保已安装VMware并开启V-CPU虚拟化功能,可通过BIOS设置或使用LeoMoon CPU-V工具检测。接着,下载CentOS镜像文件,并在VMware中新建虚拟机,配置CPU、内存、硬盘等参数。最后,加载ISO镜像启动虚拟机,按照提示完成CentOS的安装,包括语言、键盘、存储方式、地区、密码设置及硬盘分区等步骤。安装完成后,以root用户登录即可进入系统桌面,开始学习Linux命令和操作。
1371 12
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
551 10
|
11月前
|
Oracle 关系型数据库 Linux
MyEMS开源系统安装之CentOS/RHEL/Rocky/AlmaLinux/Oracle Linux
本指南介绍如何在CentOS/RHEL/Rocky/AlmaLinux/Oracle Linux服务器上部署MyEMS开源能源管理系统。内容涵盖系统准备、数据库配置、多个MyEMS服务(如myems-api、myems-admin、myems-modbus-tcp等)的安装与配置,以及Nginx服务器设置和防火墙规则调整。通过完成所有步骤,您将能够访问MyEMS Admin UI和Web UI,默认端口分别为8001和80,初始登录凭据已提供。
789 0
|
缓存 Ubuntu Linux
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
1721 25
|
Linux
CentOS U盘挂载指南
在 CentOS 中挂载 U 盘的步骤如下:1. 使用 `sudo fdisk -l` 或 `lsblk` 检测 U 盘设备(如 `/dev/sdb1`)。2. 创建挂载点 `sudo mkdir /mnt/usb`。3. 根据格式挂载 U 盘,如 FAT32 使用 `sudo mount -t vfat /dev/sdb1 /mnt/usb -o rw,uid=1000,gid=1000`。4. 访问数据 `cd /mnt/usb && ls -l`。5. 卸载 `sudo umount /mnt/usb`。常见问题包括权限和中文乱码,可添加相应参数解决。
1209 2