xftp上传数据到ubuntu系统服务器时失败
我知道用SCP
比如我的文件在地址 X下的C盘叫TTXT
请问怎么写?SCP C盘的 LINUX的(LINUX的我会写)
很急,我的LINUX很菜,大哥大姐们无比帮我写全
条走到一半 中文版的话就是那个逗号那就不动了 等几个小时都一样 取消掉 就显示未找到最佳服务器 然后更新管理器就一直是灰的 关也关不掉
我是 VMware Workstation8装的Ubuntu1110 最近正在学 所以先自己玩玩 结果 就玩不明白了 求高手
1、安装有关Samba的RPM包(samba、samba-common、samba-client)
2、创建Samba用户
3、修改配置文件
4、重启samba服务
5、设置目录访问权限
6、测试
具体步骤如下:
1、安装RPM包(缺省情况下RHEL5安装了samba的相关软件包,可以用如下命令查看)
[root@localhost ~]#rpm -qa | grep samba
samba -----samba服务器程序的所有文件
samba-common -----提供了Samba服务器和客户机中都必须使用的公共文件
samba-client -----提供了Samba客户机的所有文件
samba-swat -----以Web界面的形式提供了对Samba服务器的管理功能
2、创建samba用户
[root@localhost ~]#smbpasswd -a user1 (“-a”是创建samba用户,“-x”是删 [root@localhost ~]#smbpasswd -a user2 除samba用户,“-d”是禁用samba用
[root@localhost ~]#smbpasswd -a user3 户帐号,“-e”是启用samba用户帐号)
3、修改配置文件
samba配置文件的位置:/etc/samba/smbconf
[root@localhost ~]#vim /etc/samba/smbconf
Vi大开配置文件后,首先介绍一下Samba服务器的安全级别,如图所示:系统默认设置“user”
Samba服务器的安全级别分为5种,分别是user、share、server、domain和ads。在设置不同的级别时,samba服务器还会使用口令服务器和加密口令。
1、user -----客户端访问服务器时需要输入用户名和密码,通过验证后,才能使用服务器的共享资源。此级别使用加密的方式传送密码。
2、share -----客户端连接服务器时不需要输入用户名和密码
3、server -----客户端在访问时同样需要输入用户名和密码,但是,密码验证需要密码验证服务器来负责。
4、domain -----采用域控制器对用户进行身份验证
5、ads -----若samba服务器加入到Windows活动目录中,则使用ads安全级别,ads安全级别也必须指定口令服务器
共享目录的配置
[homes] -----samba用户的宿主目录
comment = Home Directories -----设置共享的说明信息
browseable = no -----目录浏览权限
writable = yes -----用户对共享目录可写
这个共享目录只有用户本身可以使用,默认情况下,用户主目录位于/home目录下,每个Linux用户有一个以用户名命名的子目录。
以下是共享打印机的设置:
[printers] -----共享打印机
comment = All Printers -----设置共享的说明信息
path = /var/spool/samba -----指定共享目录的路径
browseable = no -----目录浏览权限
guest ok = no -----允许来宾访问
writable = no -----用户对共享目录可写
printable = yes -----可以打印
以上是系统默认设置
添加自定义的共享目录:( user1对/ASUS有所有权,user2拥有只读权限,其他用户不能访问;public共享目录允许所有用户访问及上传文件)
[ASUS]
comment = user1 Directories -----设置共享的说明信息
browseable = yes -----所有samba用户都可以看到该目录
writable = yes -----用户对共享目录可写
path = /ASUS -----指定共享目录的路径
[public]
comment = all user Directories -----设置共享的说明信息
browseable = yes -----所有samba用户都可以看到该目录
writable = yes -----用户对共享目录可写
path = /public -----指定共享目录的路径
guest ok = yes -----允许来宾访问
4、修改完配置文件后需要重启samba服务
[root@localhost ~]#service smb restart
Samba服务器包括两个服务程序
2 smbd
smbd服务程序为客户机提供了服务器中共享资源的访问
2 nmbd
nmbd服务程序提供了NetBIOS主机名称的解析,为Windows网络中域或者工作组内的主机进行主机名称的解析
5、设置目录权限
[root@localhost ~]#mkdir /ASUS ------创建要共享目录
[root@localhost ~]#mkdir /public ------创建要共享的目录
[root@localhost ~]#chmod 750 /ASUS ------修改/ASUS权限(属主拥有
所有权,属组只读,其它用户不能访问)
[root@localhost ~]#chown user1 /ASUS ------将/ASUS的属主改为user1
[root@localhost ~]#groupadd ASUS ------添加ASUS组
[root@localhost ~]#usermod –G ASUS user1 ------将user1加入到ASUS组
[root@localhost ~]#usermod –G ASUS user2 ------将user2加入到ASUS组
[root@localhost ~]#chgrp ASUS /ASUS ------将/ASUS的属组改为
ASUS
[root@localhost ~]#chmod 777 /public ------给所有用户分配完全控制
权限
配置完成后,还要检查/etc/service文件中以“netbios”开头的记录,正确的文件
记录如下所示,如果这些记录前有#或没有这些记录,应手工添加,否则用户无
法访问Linux服务器上的共享资源
6、测试
找一台内网windows客户端,打开“网上邻居 ”,输入samba服务器的IP点击
“搜索”
如图所示:已经搜索到
双击打开,如图所示:提示输入用户名和密码,先来输入user1的用户名和密码
作测试。
登录成功,
打开user1的宿主目录,此目录user1是拥有所有权限的,创建一个目录测试一
下,如图所示:可以创建
Public目录是允许任何用户上传、下载及删除文件,如图所示
User1对ASUS目录拥有完全控制权限,所以user1可以在此目录下作任何操作
切换另一个用户测试,由于我们在同一台计算机上作测试,测试之前首先要清楚
计算机上的缓存,如图所示:打开 “命令提示符模式”,“net use /del ”是清
除计算机上缓存
重新打开网上邻居,找到Samba 服务器的共享资源,以user2的身份登录
以下几幅可以看到,user2对ASUS目录拥有只读权限,对public、user2目
录拥有所有权
再切换一个用户登录,记得要清除缓存哦,输入user3的用户名及密码
如图所示:user3无法访问ASUS目录
User3只对user3和public目录拥有所有权
工具/原料
Linux系统
Ubuntu/CentOS都可以
方法/步骤
1
1、更新源列表
打开”终端窗口”,输入”sudo apt-get update” 回车--->输入当前登录用户的管理员密码,回车,等待该命令执行完成就可以了。如果不运行该命令,直接安装vsftpd就会出现几个软件包无法下载。
2
2、安装vsftpd
打开终端,输入”sudo apt-get install vsftpd” 回车,安装完成即可。
3、判断vsftpd是否安装成功
打开终端,输入”sudo service vsftpd restart” 重启vsftpd服务器,回车后,vsftpd处于运行状态,则安装成功。
4、新建”/home/test” 目录作为用户主目录
打开终端窗口,输入”sudo mkdir /home/test” 回车,在输入”sudo ls
/home” 回车,有一个test目录,则用户目录创建成功。
5、新建用户test并设置密码
打开终端,输入”sudo useradd –d /home/test –s /bin/bash test” 回车,新建用户成功,在输入”sudo passwd test” 设置test用户的密码(输入两次) 回车,密码设置成功。
6、配置文件/etc/vsftpdconf
打开终端,输入”sudo vim /etc/vsftpdconf” 回车,打开vsftpd文件,进入插入(编辑)模式向文件中追加”userlist_deny=NO
userlist_enable=YES userlist_file=/etc/allowed_users” 和 ”seccomp_sandbox=NO” 设置文件中的”local_enable=YES” 保存退出即可。
7、新建/etc/allowed_users文件
打开终端,输入”sudo vim /etc/allowed_users” 回车,输入test,保存并退出即完成该文件的创建。
8、使用vim查看/etc/ftpusers文件中的内容
打开"终端窗口",输入"sudo vim /etc/ftpusers" 回车-->打开这个文件后,检查是否有test这个用户名,若没有,就直接退出。若有就删除test用户名,因为这个文件中记录的是不能访问FTP服务器的用户清单。
9、使用WinSCP登录FTP服务器
用test用户名登录linux,打开终端,在根目录下新建文件ftpTestFiletxt和userTestDir目录,便于测试。
10、使用WinSCP工具远程登录到FTP服务器
打开WinSCP工具进入登录界面,输入FTP服务器的IP(192168220128)、用户名(test)、密码(123456)即可登录到FTP服务器,如图可看到FTP根目录下的文件。
11、测试文件的上传与下载
将本地文件UploadFiletxt上传到FTP服务器
从FTP服务器下载ftpTestFiletxt到本地
12、查看FTP服务器是否存在上传的文件
13
最后经过测试,能实现文件的上传与下载,
下载Ubuntu系统
首先是找到下载页面,然后点击服务器版的下载地址。下载完最新版本的软件后,你把ISO文件刻录到CD上。于是,你就可以从光盘启动服务器了,整个操作系统的安装大概需要20分钟的时间。
安装完成后,操作系统自动启动到命令行提示符。这时,你登录你的姓名,按ENTER键,添加你的密码。然后,键入“sudo apt-get install ubuntu-desktop”命令就会解开Ubuntu系统的图形界面。
服务器版的Ubuntu通常只包含一个命令行界面。经过约20分钟,你就可以重新启动机器,并使用鼠标来操作你的桌面了。
更改IP设置
如果你目前连接到一个DHCP路由器,Ubuntu在网络链路方面不会有任何问题。 当你准备开始提供文件服务时,你可能会希望手动配置IP地址,以使客户端更容易恢复。
然后对系统访问、参数设置、网络配置进行更改。点击IPv4设置选项卡,改成手工设置。点击加入IP地址,然后选择“OK”。
最后对你的路由器进行设置,或者储备一个静态地址并将DHCP设置动态发送到其它客户端,或整个网络都采用手动设置IP地址的方式。
添加用户
在系统、管理器、用户和组里增加新的用户。按一下解锁键,输入你的密码,然后点击验证。单击添加用户,增加一个新的网络登录名和密码,如此重复增加那些需要访问该服务器的用户。
如果他们不需要访问服务器,那设置的配置文件就不需要访问权限,而只要成为桌面用户即可。单击管理组,把那些所有需要访问服务器的用户添加到一个组里。
共享文件
接下来开始选择那些需要共享的主文件夹,设定为本地属性或者共享属性。继续打开下一层的文件夹,激活共享文件夹,然后点击创建共享。
如果要对整个组的用户赋予文件夹的访问权限,那只要打开权限表,给相应的组设置打开、关闭和写、删除文件的权限就可以了。
通过上述步骤,就用Ubuntu系统建立起了一个免费的文件服务器。
一、安装
复制代码
代码如下:
sudo apt-get install proftpd
安装过程中会让选择运行模式:Standalone和Inetd,前者是单一服务器模式,后者是超级服务器模式,
我选的Standalone。
二、配置
复制代码
代码如下:
sudo vim /etc/shells
加入如下代码
复制代码
代码如下:
/bin/false
新建用户ftpuser1和用户组ftp并设置密码,此用户不需要有效的shell(更安全),所以选择/bin/false
给fptuser1
复制代码
代码如下:
sudo groupadd ftp
sudo useradd ftpuser1 -p pass -g ftp -d /home/ftp -s /bin/false
在/home/ftp目录下新建upload和download目录并修改权限
复制代码
代码如下:
cd /home/ftp
sudo mkdir download
sudo mkdir upload
cd /home
sudo chmod 755 ftp
cd /home/ftp
sudo chmod 755 download
sudo chmod 777 upload
三、修改proftpd核心配置文件proftpdconf
复制代码
代码如下:
sudo vim /etc/proftpd/proftpdconf
#
# /etc/proftpd/proftpdconf -- This is a basic ProFTPD configuration file
# To really apply changes reload proftpd after modifications
#
# Includes DSO modules
Include /etc/proftpd/modulesconf
# Set off to disable IPv6 support which is annoying on IPv4 only boxes
UseIPv6 off # 我们不需要IPv6,所以off
ServerName "xiaoyigeng's FTP Server" # 修改服务器名
ServerType standalone # 服务器运行模式,这里填standalone,也可以选
inetd
DeferWelcome on # 用户登陆时是否显示欢迎信息
MultilineRFC2228 on
DefaultServer on
ShowSymlinks on
TimeoutNoTransfer 600
TimeoutStalled 600 # 可以降到100
TimeoutIdle 1200 # 发呆超时
DisplayLogin welcomemsg # 如果上边DeferWelcom设置成on,则显示
welcomemsg中的内容
DisplayFirstChdir message # 更改目录时显示的内容
ListOptions "-l"
DenyFilter //
# Use this to jail all users in their homes
DefaultRoot /home/ftp # ftp用户被限制在这个目录中
# Users require a valid shell listed in /etc/shells to login
# Use this directive to release that constrain
# RequireValidShell off # 匿名用户要选on
# Port 21 is the standard FTP port
Port 21 # 服务运行的端口
# In some cases you have to specify passive ports range to by-pass
# firewall limitations Ephemeral ports can be used for that, but
# feel free to use a more narrow range
# PassivePorts 49152 65534 # PASV模式下用到的端口
# If your host was NATted, this option is useful in order to
# allow passive tranfers to work You have to use your public
# address and opening the passive ports used on your firewall as well
# MasqueradeAddress 1234
# To prevent DoS attacks, set the maximum number of child processes
# to 30 If you need to allow more than 30 concurrent connections
# at once, simply increase this value Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd)
MaxInstances 30
# Set the user and group that the server normally runs at
User nobody # 服务器运行在nobody用户下
Group nobody # 服务器运行在nobody组下
# Umask 022 is a good standard umask to prevent new files and dirs
# (second parm) from being group and world writable
Umask 022 022 # 默认新建文件的权限
# Normally, we want files to be overwriteable
AllowOverwrite on # 文件可以被覆盖
# Uncomment this if you are using NIS or LDAP to retrieve passwords:
# PersistentPasswd off
# Be warned: use of this directive impacts CPU average load!
# Uncomment this if you like to see progress and transfer rate with ftpwho
# in downloads That is not needed for uploads rates
#
# UseSendFile off
# Choose a SQL backend among MySQL or PostgreSQL
# Both modules are loaded in default configuration, so you have to specify the backend
# or comment out the unused module in /etc/proftpd/modulesconf
# Use 'mysql' or 'postgres' as possible values
#
#IfModule mod_sqlc
# SQLBackend mysql
#/IfModule
TransferLog /var/log/proftpd/xferlog # 传送文件日志
SystemLog /var/log/proftpd/proftpdlog # 系统运行日志
IfModule mod_tlsc
TLSEngine off
/IfModule
IfModule mod_quotac
QuotaEngine on
/IfModule
IfModule mod_ratioc
Ratios on
/IfModule/pp# Delay engine reduces impact of the so-called Timing Attack described in
# a href="http://securitylsshr/indexphppage=detailsID=LSS-2004-10-02"http://securitylsshr/indexphppage=detailsID=LSS-2004-10-02/a
# It is on by default
IfModule mod_delayc
DelayEngine on
/IfModule
IfModule mod_ctrlsc
ControlsEngine on
ControlsMaxClients 2
ControlsLog /var/log/proftpd/controlslog
ControlsInterval 5
ControlsSocket /var/run/proftpd/proftpdsock
/IfModule
IfModule mod_ctrls_adminc
AdminControlsEngine on
/IfModule
# A basic anonymous configuration, no upload directories
# Anonymous ~ftp
# User ftp
# Group nogroup
# # We want clients to be able to login with "anonymous" as well as "ftp"
# UserAlias anonymous ftp
# # Cosmetic changes, all files belongs to ftp user
# DirFakeUser on ftp
# DirFakeGroup on ftp
#
# RequireValidShell off
#
# # Limit the maximum number of anonymous logins
# MaxClients 10
#
# # We want 'welcomemsg' displayed at login, and 'message' displayed
# # in each newly chdired directory
# DisplayLogin welcomemsg
# DisplayFirstChdir message
#
# # Limit WRITE everywhere in the anonymous chroot
# Directory
# Limit WRITE
# DenyAll
# /Limit
# /Directory
#
# # Uncomment this if you're brave
# # Directory incoming
# # # Umask 022 is a good standard umask to prevent new files and dirs
# # # (second parm) from being group and world writable
# # Umask 022 022
# # Limit READ WRITE
# # DenyAll
# # /Limit
# # Limit STOR
# # AllowAll
# # /Limit
# # /Directory
#
# /Anonymous
# Valid Logins # 以下部分为设置用户权限部分
Limit LOGIN
AllowUser ftpuser1
DenyAll
/Limit
Directory /home/ftp
Umask 022 022
AllowOverwrite off
Limit MKD STOR DELE XMKD RNRF RNTO RMD XRMD
DenyAll
/Limit
/Directory
Directory /home/ftp/download/
Umask 022 022
AllowOverwrite off
Limit MKD STOR DELE XMKD RNEF RNTO RMD XRMD
DenyAll
/Limit
/Directory
Directory /home/ftp/upload/
Umask 022 022
AllowOverwrite on
Limit READ RMD DELE
DenyAll
/Limit
Limit STOR CWD MKD
AllowAll
/Limit
/Directory
四、启动、停止、重启服务器
复制代码
代码如下:
sudo /etc/initd/proftpd start
sudo /etc/initd/proftpd stop
sudo /etc/initd/proftpd restart
五、维护
可以到/var/log/proftpd目录查看日志
查看ftp服务器负载命令 ftptop
查看什么认登陆服务器 ftpwho
PS:proftpd中Limit的使用介绍
我们用到的比较多的可能是Limit的使用,Limit大致有以下动作,基本能覆盖全部的权限了。
CMD:Change Working Directory 改变目录
MKD:MaKe Directory 建立目录的权限
RNFR: ReName FRom 更改目录名的权限
DELE:DELEte 删除文件的权限
RMD:ReMove Directory 删除目录的权限
RETR:RETRieve 从服务端下载到客户端的权限
STOR:STORe 从客户端上传到服务端的权限
READ:可读的权限,不包括列目录的权限,相当于RETR,STAT等
WRITE:写文件或者目录的权限,包括MKD和RMD
DIRS:是否允许列目录,相当于LIST,NLST等权限,还是比较实用的
ALL:所有权限
LOGIN:是否允许登陆的权限
针对上面这个Limit所应用的对象,又包括以下范围
AllowUser 针对某个用户允许的Limit
DenyUser 针对某个用户禁止的Limit
AllowGroup 针对某个用户组允许的Limit
DenyGroup 针对某个用户组禁止的Limit
AllowAll 针对所有用户组允许的Limit
DenyAll 针对所有用户禁止的Limit
关于限制速率的参数为:
TransferRate STOR|RETR 速度(Kbytes/s) user 使用者
0条评论