nfs自动挂载家目录(解决ftp服务器空间不够用)

问题

ftp-server的本地用户上传文件,现在空间不够用
需要用户上传文件放在nfs-server上面来解决

方法

1、ftp-server主机:创建相应用户user1~user3,指定家目录
2、nfs-server主机:搭建nfs服务,共享/nfs/share
3、挂载nfs-server上的共享目录到指定挂载点上

实施环境

RHEL6.5
nfs-server:192.168.169.133
ftp-server:192.168.169.134
client:192.168.169.131
ftp服务搭建见:https://blog.csdn.net/Ying_smile/article/details/80258092
nfs服务搭建见:https://blog.csdn.net/Ying_smile/article/details/80601519

实施步骤

方法一:

1、ftp-server:创建用户,并指定家目录

[root@ftp-server ~]# mkdir /rhome
[root@ftp-server ~]# useradd -d /rhome/user1 -M user1   #-d指定新家,-M不创建家
[root@ftp-server ~]# su - user1    #默认的家目录不存在,所以会有警告,家不完整
su: 警告:无法切换到目录/rhome/user1: 没有那个文件或目录
-bash-4.1$ exit
logout
[root@ftp-server ~]# useradd -d /rhome/user2 -M user2
[root@ftp-server ~]# useradd -d /rhome/user3 -M user3
[root@ftp-server ~]# echo 123|passwd --stdin user1
更改用户 user1 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
[root@ftp-server ~]# echo 123|passwd --stdin user2
更改用户 user2 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
[root@ftp-server ~]# echo 123|passwd --stdin user3
更改用户 user3 的密码 。
passwd: 所有的身份验证令牌已经成功更新。

注意:不能通过这些用户访问ftp,因为这些用户的家没有
2、nfs-server:发布共享目录

[root@nfs-server /]# mkdir -p /nfs/share
[root@nfs-server /]# vim /etc/exports 
/nfs/share 192.168.169.134(rw)
[root@nfs-server /]# service nfs restart

3、ftp-server:挂载

为了更清楚的分配,给每个用户创建一个目录
[root@nfs-server /]# cd /nfs/share/
[root@nfs-server share]# mkdir user{1..3}
[root@nfs-server share]# ls
user1  user2  user3
在ftp上建立家目录(挂载点)
[root@ftp-server ~]# mkdir /rhome/user{1..3}   #创建家目录
[root@ftp-server ~]# mount.nfs 192.168.169.133:/nfs/share/user1 /rhome/user1   #手动挂载
[root@ftp-server ~]# df -h  #查看挂载
Filesystem                        Size  Used Avail Use% Mounted on
192.168.169.133:/nfs/share/user1   50G  4.2G   43G   9% /rhome/user1
[root@ftp-server ~]# tail -3 /etc/passwd
user1:x:500:500::/rhome/user1:/bin/bash
user2:x:501:501::/rhome/user2:/bin/bash
user3:x:502:502::/rhome/user3:/bin/bash

4、测试:

1、首先在nfs-server的user1共享目录里建立新的文件
[root@nfs-server user1]# echo hello > file1

2、ftp-server测试查看
[root@ftp-server ~]# su - user1
-bash-4.1$ pwd
/rhome/user1
-bash-4.1$ ls
file1
-bash-4.1$ touch file2      #因为nfs-server的共享目录没有写权限,无法创建文件
touch: 无法创建"file2": 权限不够
现在添加权限:
[root@nfs-server user1]# ll -d /nfs/share/
drwxr-xr-x 5 root root 4096 4月  14 22:42 /nfs/share/
[root@nfs-server user1]# chmod 1777 /nfs/share -R    
#设定高级权限粘制位,只有root和文件的创建者才可以删除,但是所有人都可以创建
#-R  表示递归
测试:
-bash-4.1$ touch file2
-bash-4.1$ ls
file1  file2

3、client登陆user1用户测试查看
[root@client ~]# yum install ftp -y
[root@client ~]# ftp 192.168.169.134
Connected to 192.168.169.134 (192.168.169.134).
220 (vsFTPd 2.2.2)
Name (192.168.169.134:root): user1    #输入用户名
331 Please specify the password.
Password:   #输入用户密码
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls   #查看文件
227 Entering Passive Mode (192,168,169,134,91,191).
150 Here comes the directory listing.
-rwxrwxrwt    1 0        0               6 Apr 14 15:03 file1
-rw-rw-r--    1 500      500             0 Apr 14 15:21 file2
226 Directory send OK.
ftp> put install.log    #上传文件
local: install.log remote: install.log
227 Entering Passive Mode (192,168,169,134,189,227).
150 Ok to send data.
226 Transfer complete.
54592 bytes sent in 0.0891 secs (612.57 Kbytes/sec)

4、nfs-server可以查看到上传的文件
[root@nfs-server ~]# cd /nfs/share/user1
[root@nfs-server user1]# ll
总用量 60
-rwxrwxrwt 1 root root     6 4月  14 23:03 file1
-rw-rw-r-- 1  500  500     0 4月  14 23:21 file2
-rw-r--r-- 1  500  500 54592 4月  14 23:24 install.log

5、user2、user3使用相同的办法

方法二:

1、ftp-server:创建用户

[root@ftp-server ~]# useradd user4
[root@ftp-server ~]# useradd user5
[root@ftp-server ~]# echo 123| passwd --stdin user4
[root@ftp-server ~]# echo 123| passwd --stdin user5

2、nfs-server:发布共享目录

[root@nfs-server share]# mkdir user{4,5}
[root@nfs-server share]# ls
user1  user2  user3  user4  user5
[root@nfs-server share]# chmod -R 1777 /nfs/share/
[root@nfs-server share]# vim /etc/exports 
/nfs/share 192.168.169.134(rw)
[root@nfs-server share]# service nfs restart

3、ftp-server:挂载

[root@ftp-server ~]# mount.nfs 192.168.169.133:/nfs/share/user4 /home/user4
[root@ftp-server ~]# mount.nfs 192.168.169.133:/nfs/share/user5 /home/user5

4、测试

1、nfs-server端创建目录
[root@nfs-server user4]# touch test1
[root@nfs-server user4]# ll
总用量 0
-rw-r--r-- 1 root root 0 4月  15 00:06 test1

2、ftp-server查看
[root@ftp-server ~]# su - user4
-bash-4.1$ 
-bash-4.1$ pwd
/home/user4
-bash-4.1$ ll
总用量 0
-rw-r--r-- 1 root root 0 4月  15 00:06 test1

3、client测试
[root@client ~]# ftp 192.168.169.134
Connected to 192.168.169.134 (192.168.169.134).
220 (vsFTPd 2.2.2)
Name (192.168.169.134:root): user4   #登陆用户
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls     #查看文件是否共享
227 Entering Passive Mode (192,168,169,134,69,5).
150 Here comes the directory listing.
-rw-r--r--    1 0        0               0 Apr 14 16:06 test1
226 Directory send OK.
ftp> get test1    #下载文件
local: test1 remote: test1
227 Entering Passive Mode (192,168,169,134,147,151).
150 Opening BINARY mode data connection for test1 (0 bytes).
226 Transfer complete.
ftp> put install.log    #上传文件
local: install.log remote: install.log
227 Entering Passive Mode (192,168,169,134,157,219).
150 Ok to send data.
226 Transfer complete.
54592 bytes sent in 0.00394 secs (13862.87 Kbytes/sec)
ftp> 
nfs-server可以查看到上传完文件:
[root@nfs-server user4]# ll
总用量 56
-rw-r--r-- 1  503  503 54592 4月  15 00:08 install.log
-rw-r--r-- 1 root root     0 4月  15 00:06 test1
解决家不完整
 一般创建用户时,系统会自动创建家目录,并将
 [root@ftp-server ~]# ls -a /etc/skel/.
.  ..  .bash_logout  .bash_profile  .bashrc  .gnome2  .mozilla
底下的文件拷贝到家里面,家就完整了

解决:
1、拷贝文件
[root@ftp-server ~]# cp -a /etc/skel/. /rhome/user1
cp: 无法保留"/rhome/user1/./.mozilla/extensions" 的所有者: 不允许的操作
cp: 无法保留"/rhome/user1/./.mozilla/plugins" 的所有者: 不允许的操作
cp: 无法保留"/rhome/user1/./.mozilla" 的所有者: 不允许的操作
cp: 无法保留"/rhome/user1/./.gnome2" 的所有者: 不允许的操作
cp: 无法保留"/rhome/user1/./.bash_logout" 的所有者: 不允许的操作
cp: 无法保留"/rhome/user1/./.bash_profile" 的所有者: 不允许的操作
cp: 无法保留"/rhome/user1/./.bashrc" 的所有者: 不允许的操作
cp: 正在保留 "/rhome/user1/." 的时间: 不允许的操作

2、发现nfs-server已经有上面的文件
[root@nfs-server user1]# ls -a
.   .bash_history  .bash_profile  file1  .gnome2      .mozilla
..  .bash_logout   .bashrc        file2  install.log
[root@nfs-server user1]# chmod 777 .*   #给文件添加权限
[root@nfs-server user1]# ls -la
总用量 92
drwxrwxrwx 4 root      root       4096 4月  14 23:37 .
drwxrwxrwx 5 root      root       4096 4月  14 22:42 ..
-rwxrwxrwx 1       500       500    45 4月  14 23:34 .bash_history
-rwxrwxrwx 1 nfsnobody nfsnobody    18 7月   9 2013 .bash_logout
-rwxrwxrwx 1 nfsnobody nfsnobody   176 7月   9 2013 .bash_profile
-rwxrwxrwx 1 nfsnobody nfsnobody   124 7月   9 2013 .bashrc
-rw-r--r-- 1 root      root          6 4月  14 23:03 file1
-rw-r--r-- 1       500       500     0 4月  14 23:21 file2
drwxrwxrwx 2 nfsnobody nfsnobody  4096 7月  14 2010 .gnome2
-rw-r--r-- 1       500       500 54592 4月  14 23:24 install.log
drwxrwxrwx 4 nfsnobody nfsnobody  4096 8月   6 2018 .mozilla

3、测试家目录
[root@ftp-server ~]# su - user1
[user1@ftp-server ~]$ exit
logout

猜你喜欢

转载自blog.csdn.net/Ying_smile/article/details/89303357
今日推荐