Linux实现 ftp服务器搭建,nfs服务器搭建,ssh服务器搭建
Linux配置FTP服务_Ling-cheng的博客-CSDN博客_linux 配置ftp
(一)vsftpd服务配置(匿名,用户,虚拟用户)_Echo flower的博客-CSDN博客_vsftpd
(二)vsftpd服务配置多用户多目录权限_Echo flower的博客-CSDN博客_vsftpd目录权限
Linux搭建httpd服务实例_野原皮皮虾的博客-CSDN博客_linux搭建httpd
ftp服务器
作用:文件的上传和下载
1、服务器端:
- 修改配置文件 - 如何修改配置文件 —
/etc/vsftpd.conf
- 重启服务 — 什么命令能够重启服务
2、客户端:
- 实名用户登录:
ftp ip
- 输入用户名
- 输入密码
- 上传文件
put file
- 下载文件
get file
- 不能操作目录,只能先打包目录
- 匿名用户登录
ftp ip
- 用户名:
anonymous
- 密码:空
- 不允许匿名用户在任意目录直接切换,只能在一个指定的目录范围内工作,需要再ftp服务器上创建一个匿名用户的目录 — 匿名用户的根目录
使用vsftpd
软件实现
1、下载vsftpd
软件:sudo apt-get install vsftpd
2、修改配置文件/etc/vsftpd.conf
1 | anonymous_enable=YES #允许匿名登录 |
3、重启vsftpd
服务:sudo service vsftpd restart
实名用户登录,用户的权限为该用户在系统中的权限
匿名用户登录
- 默认根目录
/srv/ftp
,可以在/etc/passwd
文件中看到ftp
用户的相关信息 - 指定匿名用户ftp根目录,在
/etc/vsftpd.conf
中添加anon_root=/home/yang/myftp
- 修改根目录权限,供匿名用户使用:
sudo chown ftp myftp
或chmod 755 myftp
,记得重启服务
问题:
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
“如果启用chroot, 必须保证ftp根目录不可写, 这样对于ftp根直接为网站根目录的用户不方便, 所以建议假如ftp根目录是/home/${cjh}, 则将访问权限改写chmod a-w /home/cjh
nfs服务器
net file system
-> 网络文件系统,它允许网络中的计算机之间通过TCP/IP网络共享资源。
0)安装软件:sudo apt-get install nfs-kernel-server
1)创建共享目录。如:mkdir /home/yang/NfsShare
2)修改配置文件/etc/exports
- 追加共享目录的绝对路径,ip,权限。如:
/home/yang/NfsShare *(rw,sync)
- 其中 代表一个IP地址段,如:192.168.10. (有的版本这样写有问题,目录无法共享出去)
ro
-> 只读权限rw
-> 读写权限sync
-> 资料同步写入到内存与硬盘当中async
-> 资料会先暂存于内存当中,而非直接写入硬盘no_root_squash
-> 登入NFS主机,使用该共享目录时相当于该目录的拥有者,如果是root的话,那么对于这个共享的目录来说,他就具有root的权 限,这个数『极不安全』,不建议使用root_squash
-> 登入NFS主机,使用该共享目录时相当于该目录的拥有者。但是如果是以root身份使用这个共享目录的时候,那么这个使用者(root)的权限将被压缩成为匿名使用者,即通常他的UID与GID都会变成nobody那个身份all_squash
-> 不论登入NFS的使用者身份为何,他的身份都会被压缩成为匿名使用者,通常也就是nobody
3)重启服务
sudo service nfs-kernel-server restart
客户端访问共享目录:
mount serviceIP:/共享目录 挂载目录
- 如:
sudo mount 192.168.32.75:/home/yang/NfsShare /mnt
ssh服务器
Secure Shell
1)安装ssh:sudo apt-get install openssh-server
- 查看ssh是否安装:
sudo aptitude show openssh-server
2)远程登录:ssh userName@serviceIP
- 确认连接,然后输入密码
scp
命令 -> super copy
前提:目标主机已安装openssh-server
使用方法:scp -r userName@serviceIP:目标文件绝对路径 保存至本机的绝对(相对)路径
- 如:
scp -r itcast@192.168.1.100:/home/itcast/QQ_dir/ ./mytest/360
- 拷贝目录表需要使用参数
-r
http服务
安装和启动
1 | yum install httpd # 安装httpd包 |
httpd主配置文件:/etc/httpd/conf/httpd.conf
1 | ServerRoot /etc/httpd #httpd服务的顶级目录为/etc/httpd |
/etc/httpd/conf.d/*.conf
额外的参数文件。如果你不想要修改原始配置文件httpd.conf的话,那么你可以将你自己的额外参数文件独立出来,例如你想要有自己的额外设置值,可以将它写入/etc/httpd/conf.d/vhosts.conf
(注意,扩展名一定是.conf),而启动Apache时,这个文件就会被读入主要配置文件当中了。
/var/www/html/
这就是默认的首页所在目录,当输入网址时所显示的数据,就是放在这个目录当中的首页文件(默认为index.html)
浏览器访问:http://ip:80
即可看到index.html文件的内容
访问控制
新建/etc/httpd/conf.d/testCtl.conf
,设置只有指定的用户才能访问特定的目录:
1 | <Directory "/var/www/html/testCtl"> |
通过httpd服务自带的htpasswd工具来定义存放用户的文件以及用户的账号密码
1 | htpasswd [options] /PATH/HTTPD_PASSWD_FILE username password |
1 | [root@CentOS conf.d]# htpasswd -c /etc/httpd/.passwd yang # 创建用户yang |
使用浏览器访问http://ip/testCtl
就会提示输入账号和密码