问题
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