Linux是一种常见的操作系统,很多人喜欢在这个系统上工作和学习。在Linux中,有很多的命令可以帮助我们完成各种任务。本文将重点介绍ftp和chmod这两个命令。
1. FTP命令
FTP是一个用于在Internet上传输文件的标准协议。在Linux中,我们可以使用FTP命令来连接远程服务器,从本地上传或下载文件。FTP命令的基本语法如下:
ftp [options] [host name or IP address]
在其中,[options]表示命令选项,[host name or IP address]表示要连接的主机名或IP地址。
FTP命令的常用选项如下:
– -d:启用调试模式。
– -i:关闭交互模式,这可以防止FTP程序提示确认信息。
– -n:禁用自动登录。
– -p:使用被动模式,这样FTP客户端将等待来自于FTP服务器的响应。
假设我们要连接到一个名为ftpserver的FTP服务器,那么我们可以使用以下命令:
ftp ftpserver
当我们连接成功后,将出现以下提示信息:
Connected to ftpserver.
220 Microsoft FTP Service
在这里,220表示服务器欢迎信息,也可以包含更详细的信息。
现在我们已经连接到了FTP服务器,下面就可以通过FTP命令上传或下载文件了。以下是一些FTP命令的示例:
– ls:显示当前目录的文件列表。
– pwd:打印当前工作目录的名称。
– cd:更改当前目录。
– get:将文件从远程服务器上下载到本地。
– put:将文件从本地上传到远程服务器。
例如,要下载一个文件名为file.txt的文件并保存为本地的test.txt,我们可以使用以下命令:
get file.txt test.txt
当下载完成后,我们将得到以下提示信息:
226 Transfer complete.
类似地,如果我们要将本地文件file.txt上传到远程服务器中,并将其命名为test.txt,我们可以使用以下命令:
put file.txt test.txt
当上传完成后,我们也会得到类似的提示信息。
2. CHMOD命令
chmod是一个Linux命令,它用于更改文件或目录的权限。在Linux中,权限是由三个基本权限(读取、写入和执行)组成的,每个权限对应于文件的所有者、文件所在组和所有其他用户。chmod命令的基本语法如下:
chmod [options] mode file name(s)
在其中,[options]表示命令的选项,[mode]表示要更改的权限,[file name(s)]表示要更改权限的文件或目录名称。
chmod命令的常用选项如下:
– -r:递归更改权限(包含子目录)。
– -v:显示所有正在更改权限的文件名。
– -f:在不提示的情况下强制更改权限。
chmod命令的权限模式使用八进制数表示的数字。每个数字表示文件的所有者、文件所在组和其他用户的权限。每个数字为三位数,其中之一位表示读权限、第二位表示写权限,第三位表示执行权限。例如,数字405表示文件所有者具有读取和执行权限,组用户具有读取权限,其他用户没有任何权限。
以下是一些常用的chmod命令示例:
– chmod 600 file:只允许文件所有者读取和写入该文件。
– chmod 644 file:允许文件所有者读取和写入该文件,组和其他用户均可读取该文件。
– chmod 777 file:允许所有用户读取、写入和执行该文件。
通过本文的介绍,我们了解了如何在Linux中使用ftp和chmod命令。FTP命令可以帮助我们连接远程服务器并进行文件的上传和下载,而chmod命令则可以更改文件或目录的权限。了解这些命令可以帮助我们在Linux系统中更高效地工作和学习。
相关问题拓展阅读:
FTP不安全,万不得已情况下,才可使用。
vsftp安全性相对较好
可采用sftp代替FTP
Linux另外常用的FTP:
proftp
vsftp
pureftp
下面以VSFTP为例:
安装方式一:源码包安装
useradd -s /bin/false -d /var/ftp ftpvirtual
cd ……
make
make install
cp vsftpd.conf /etc
/usr/local/in/vsftpd & #启动
安装方式二:rpm安装,推荐
rpm -ivh vsftpd-2.0.1-5.i386.rpm
或者 yum install vsftpd
/etc/init.d/vsftpd start
两种方式安装完成后,配置方法都一样,下面开始讲配置。
首先讲主配置文件常见配置
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO #禁止匿名登录
local_enable=NO #禁止本地用户登录
write_enable=YES #对本地用户的写权限
local_umask=022 #本地用户文件生成掩码
dirmessage_enable=YES #显示隐藏文件
xferlog_enable=YES #启用上传和下载日志
connect_from_port_20=YES #服务器将启用FTP数据耐好端口的连接请求
xferlog_std_format=YES #服务器将使用标准的ftpd xferlog日志格式
pam_service_name=vsftpd #设置PAM认证服务的配置文件名称
userlist_enable=YES #设置文件中指定的用户是否可以访问vsftpd服务则旅器
listen=YES #FTP服务器将处于独立启动模式
tcp_wrappers=YES #使用tcp_wrappers作为主机访问控制方式
chroot_local_user=YES #将FTP本地用户禁锢在宿主目录中
chroot_list_enable=YES #将用户禁锢在宿主目录中
listen_address=192.168.0.2 #侦听地址
pasv_enable=YES #是否允使用被动模式,默认是允许的。
pasv_min_port=10000 #指定使用被动模式时打开端口的最小值
pasv_max_port=10004 #指定使用被动模式时打开端口的更大昌盯铅值。
max_clients=100 #设置FTP服务器所允许的更大客户端连接数,值为0时表示不限制
max_per_ip=5 #同一IP地址允许的更大客户端连接数,值为0时表示不限制,即线程
local_max_rate=#设置本地用户的更大传输速率,单位为bytes/sec,值为0时表示不限制
anon_max_rate=#设置匿名用户的更大传输速率,单位为bytes/sec,值为0表示不限制
use_localtime=YES #在vsftp之中的时间默认值是显式GMT时间,因此我们会发现上面的时间与我们时寄存取的时间差八小时。改了这一项就好了。
listen_port=10021 改端口
one_process_model=NO yes可增加性能,增加负载,便降低安全,建议NO
nopriv_user=nobody 默认以nobody运行vsftp
对外服务,建议使用stand alone方式启动,性能好。
仅内部人员,建议用super daemon启动,修改如下:
listen=NO
……略
vsftp默认使用GMT时间,建议修改如下:
use_localtime=YES
/etc/vsftpd.ftpusers #保存不允许进行FTP登录的本地用户帐号,提高系统的安全性
/etc/vsftpd.user_list
#禁止vsftpd.user_list中的用户
userlist_enable=YES
userlist_deny=YES
#仅允许vsftpd.user_list中的用户
userlist_enable=YES
userlist_deny=NO
日志:
vsftpd_log_file=/var/log/vsftpd.log
下面开始讲vsftp四种“用户认证”的方式
一、匿名用户 ftp anonymous
/var/ftp 默认主目录
在/etc/vsftpd/vsftpd.conf中:
anonymous_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES #可删除
chmod -R 777 /var/ftp/pub/
修改/var/ftp/pub的SELinux权限
执行以下命令,修改/var/ftp/pub这目录的类型:
chcon -R -t ftpd_anon_rw_t /var/ftp/pub/
anon_root=/var/www/html/ftp #改匿名用户的宿主目录
二、本地用户
默认支持,使用各自的宿主目录。不安全
local_root=/opt #新增这一项,改成其他路径
三、虚拟用户 PAM文件方式 推荐
建立虚拟用户口令库文件
# cat logins.txt
mike
pwabcd
john
pw1234
生成vsftpd的认证文件
db_load -T -t hash -f logins /etc/vsftpd/vsftpd_login.db
chmod 600 /etc/vsftpd/vsftpd_login.db
新创建虚拟用户所需的PAM配置文件
cat /etc/pam.d/vsftpd.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
新创建虚拟用户的系统用户所要访问的目录并设置相应权限
# useradd -s /bin/false -d /home/ftpsite ftpvirtual
# chmod 700 /home/ftpsite
#设置vsftpd.conf配置文件,支持虚拟用户
guest_enable=YES
guest_username=ftpvirtual
pam_service_name=vsftpd.vu
user_config_dir=/etc/vsftpd/vsftpd_user_conf #添加用户配置文件目录设置
/etc/vsftpd/vsftpd_user_conf/mike (同名),这里没有的设置默认按vsftpd.conf的设置执行
anon_world_readable_only=NO #可以浏览FTP目录和下载文件
anon_upload_enable=YES #用户可以上传文件,等同于 write_enable=yes 允许上传
anon_mkdir_write_enable=YES #具有建立和删除目录的权利
anon_other_write_enable=YES #具有文件改名和删除文件的权限
local_root=/data/userspace #设置虚拟用户登录后的主目录
anon_max_rate=#以Bytes/s为单位,这里限8Mbit,范围大概在80%到120%之间
四、虚拟用户 mysql认证方式 推荐
1. mysql安装见mysql笔记
2.1 openssl-0.9.8e 源程序预编译时在日志中可能出现md5.h “Present But Cannot Be Compiled的错误,卸载下面某些包可能解决问题。
cyrus-sals-sql cyrus-sasl-ntlm cyrus-sasl-gssapi cyrus-sasl-devel openldap-devel
然后移除系统可能自带的:
mv /usr/bin/openssl /usr/bin/openssl.OFF
mv /usr/include/openssl /usr/include/openssl.OFF
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
配置库文件搜索路径
#echo “/usr/local/ssl/lib” >> /etc/ld.so.conf
#ldconfig -v
2.2 或者安装openssl-0.9.8e的rpm包
3. pam_mysql-0.7RC1.tar.gz
#./configure –with-mysql=/usr/local/mysql –with-openssl=/usr/local/ssl
如果mysql是rpm安装的,则不带–with-mysql参数,如果openssl是rpm安装的,参数为–with-openssl
make;make install
注意pam_mysql.so路径,可能在/usr/lib/security/pam_mysql.so或/lib/security/pam_mysql.so
vi /etc/pam.d/vsftp.mysql #新建,仅两行
auth required /lib/security/pam_mysql.so user=vsftpd passwd=host=localhost db=vsftp table=users usercolumn=name passwdcolumn=passwd crypt=2
account required /lib/security/pam_mysql.so user=vsftpd passwd=host=localhost db=vsftp table=users usercolumn=name passwdcolumn=passwd crypt=2
4.0 准备数据库、表和数据
mysql> create database vsftp;
mysql> grant select on vsftp.* to vsftpd@localhost identified by ‘123456’;
mysql> grant select on vsftp.* to identified by ‘123456’;
mysql> use vsftp;
mysql> create table users (
-> id int AUTO_INCREMENT NOT NULL,
-> name char(20) binary NOT NULL,
-> passwd char(48) binary NOT NULL,
-> primary key(id)
-> );
mysql> insert into users(name,passwd) values(‘hlc’,password(‘hlc’));
mysql> insert into users(name,passwd) values(‘holly’,password(‘holly’));
5.0 修改主配置文件
vi /etc/vsftpd/vsftpd.conf
guest_enable=YES
guest_username=vsftp
listen=YES
pam_service_name=vsftpd.mysql
以上完成了vsftp的配置,下面是补充:
dirmessage_enable=YES #设置欢迎语 在每个目录下建立.message,写入欢迎语即可。
db_load支持包(前面三个即可):
db4
db4-devel
db4-utils
db4-java
db4-tcl
Linux建议关闭selinux或征对FTP不做任何安全
setsebool -P -ftpd_disable_trans on
setsebool -P -allow_ftpd_full_access on
servie vsftpd restart
或者需要重启服务器
底下列出FTP访问中所出现数字代码的含意。
110 重新启动标记应答。
120 服务在多久时间内ready。
125 数据链路端口开启,准备传送。
150 文件状态正常,开启数据端口。
200 命令执行成功。
202 命令执行失败。
211 系统状态或是系统求助响应。
212 目录的状态。
213 文件的状态。
214 求助的讯息。
215 名称系统类型。
220 新的联机服务ready。
221 服务的控制端口关闭,可以注销。
225 数据链接开启,但无传输动作。
226 关闭数据端口,请求的文件操作成功。
227 进入passive mode。
230 用户登录。
250 请求的文件操作完成。
257 显示目前的路径名称。
331 用户名称正确,需要密码。
332 登入时需要帐户信息。
350 请求的操作需要进一部的命令。
421 无法提供服务,关闭控制连结。
425 无法开启数据链路。
426 关闭联机,终止传输。
450 请求的操作未执行。
451 命令终止:有本地的错误。
452 未执行命令:磁盘空间不足。
500 格式错误,无法识别命令。
501 参数语法错误。
502 命令执行失败。
503 命令顺序错误。
504 命令所接的参数不正确。
530 未登入。
532 储存文件需要账户登入。
550 未执行请求的操作。
551 请求的命令终止,类型未知。
552 请求的文件终止,储存位溢出。
553 未执行请求的的命令,名称不正确。
这宏毕是我自己蔽皮芹做的WORD文档握团,关于使用vsftp搭建ftp的
我最近也在研究ubuntu 9.10 搭建vsftp和proftpd.
关于linux ftp chmod的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
成都创新互联科技有限公司,是一家专注于互联网、IDC服务、应用软件开发、网站建设推广的公司,为客户提供互联网基础服务!
创新互联(www.cdcxhl.com)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。创新互联成都老牌IDC服务商,专注四川成都IDC机房服务器托管/机柜租用。为您精选优质idc数据中心机房租用、服务器托管、机柜租赁、大带宽租用,可选线路电信、移动、联通等。
新闻名称:学习Linux如何使用ftp和chmod命令(linuxftpchmod)
文章分享:http://www.shufengxianlan.com/qtweb/news46/310146.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联