centos 终端多起(centos终端命令)
centos怎么上传文件
使用Vsftpd服务传输文件。
你可以配置一个vsftpd服务,具体步骤参考如下:
[root@linuxprobe~]# yum install vsftpd-y
Loaded plugins: langpacks, product-id, subscription-manager
………………省略部分输出信息………………
=
iptables防火墙管理工具中默认禁止了ftp传输协议的端口号,因此咱们在正式配置vsftpd服务程序前还需要清空一下iptables防火墙的默认策略,并将当前已经被清理的防火墙策略状态保存下来:
[root@linuxprobe~]# iptables-F
[root@linuxprobe~]# service iptables save
iptables: Saving firewall rules to/etc/sysconfig/iptables:[ OK ]
vsftpd服务程序的主配置文件(/etc/vsftpd/vsftpd.conf)中参数总共有123行左右,但大多数都是以#(井号)开头的注释信息,咱们可以用grep命令的-v参数来过滤并反选出没有包含#(井号)的参数行,也就是把所有的注释信息都过滤掉,这样再通过输出重定向符写会到原始的主配置文件名称中即可:
[root@linuxprobe~]# mv/etc/vsftpd/vsftpd.conf/etc/vsftpd/vsftpd.conf_bak
[root@linuxprobe~]# grep-v"#"/etc/vsftpd/vsftpd.conf_bak>/etc/vsftpd/vsftpd.conf
[root@linuxprobe~]# cat/etc/vsftpd/vsftpd.conf
anonymous_enable=YES
l
刘遄老师给同学们整理出了vsftpd服务程序的主配置文件中常用的参数及作用介绍,您现在只要简单的浏览一下,接下来的实验中如果不明白再过来查阅就可以。
编辑
参数作用
listen=[YES|NO]是否以独立运行的方式监听服务。
listen_address=IP地址设置要监听的IP地址。
listen_port=21设置FTP服务的监听端口。
download_enable=[YES|NO]是否允许下载文件。
userlist_enable=[YES|NO]
userlist_deny=[YES|NO]是否启用“禁止登陆用户名单”。
max_clients=0最大客户端连接数,0为不限制。
max_per_ip=0同一IP地址最大连接数,0位不限制。
anonymous_enable=[YES|NO]是否允许匿名用户访问。
anon_upload_enable=[YES|NO]是否允许匿名用户上传文件。
anon_umask=022匿名用户上传文件的umask值。
anon_root=/var/ftp匿名用户的FTP根目录。
anon_mkdir_write_enable=[YES|NO]是否允许匿名用户创建目录。
anon_other_write_enable=[YES|NO]是否开放匿名用户其他写入权限。
anon_max_rate=0匿名用户最大传输速率(字节),0为不限制。
local_enable=[YES|NO]是否允许本地用户登陆FTP。
local_umask=022本地用户上传文件的umask值。
local_root=/var/ftp本地用户的FTP根目录。
chroot_local_user=[YES|NO]是否将用户权限禁锢在FTP目录,更加的安全。
local_max_rate=0本地用户最大传输速率(字节),0为不限制。
11.2 Vsftpd服务程序
vsftpd作为更加安全的FTP文件传输协议的服务程序,可以让用户分别通过匿名开放、本地用户和虚拟用户三种身份验证方式来登陆到FTP服务器上面,匿名开放是一种最不安全的验证模式,任何人都可以无需密码验证就登陆到FTP服务端主机,本地用户是通过Linux系统本地的帐号密码信息进行的验证模式,这种模式相比较匿名开放模式来说比较安全,配置起来也十分简单,不过如果被骇客暴力破解出FTP帐号信息,也就可以通过这个口令登陆到咱们的服务器系统中了,从而完全控制整台服务器主机,最后的虚拟用户是相比较最为安全的验证模式,需要为FTP传输服务单独建立用户数据库文件,虚拟出用来口令验证的帐户信息,这些帐号是在服务器系统中不存在的,仅供FTP传输服务做验证使用,因此这样即便骇客破解出了帐号口令密码后也无法登录到咱们的服务器主机上面,有效的降低了破坏范围和影响。
ftp命令是用来在命令行终端中对ftp传输服务进行控制连接的客户端工具,咱们需要先手动的安装一下这个ftp客户端工具,以便于接下来的实验中校验效果:
[root@linuxprobe~]# yum install ftp
Loaded plugins: langpacks, product-id, subscription-manager
………………省略部分输出信息………………
Installing:
ftp x86_64 0.17-66.el7 rhel 61 k
Transaction Summary
================================================================================
Install 1 Package
Total download size: 61 k
Installed size: 96 k
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing: ftp-0.17-66.el7.x86_64 1/1
Verifying: ftp-0.17-66.el7.x86_64 1/1
Installed:
ftp.x86_64 0:0.17-66.el7
Complete!
11.2.1匿名访问模式
vsftpd服务程序中匿名开放是一种最不安全的验证模式,任何人都可以无需密码验证就登陆到FTP服务端主机,这种模式一般只用来保存不重要的公开文件,尤其是在生产环境中更要注意不放敏感文件,当然也非常推荐用咱们第八章中学习的防火墙管理工具(例如Tcp_wrappers)将vsftpd服务程序的允许访问主机范围设置为企业内网,这样还算能够保证基本的安全性。
vsftpd服务程序默认已经开启了匿名访问模式,咱们需要做的就是进一步允许匿名用户的上传、下载文件的权限,以及让匿名用户能够创建、删除、更名文件的权限,这些权限对于匿名用户来讲非常的危险,咱们只是为了练习Linux系统中vsftpd服务程序的配置能力,十分不推荐在生产环境中使用,匿名用户的权限参数及介绍:
编辑
参数作用
anonymous_enable=YES允许匿名访问模式。
anon_umask=022匿名用户上传文件的umask值。
anon_upload_enable=YES允许匿名用户上传文件
anon_mkdir_write_enable=YES允许匿名用户创建目录
anon_other_write_enable=YES允许匿名用户修改目录名或删除目录
[root@linuxprobe~]# vim/etc/vsftpd/vsftpd.conf
anonymous_enable=YES
anon_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
确认参数填写正确后保存并退出vsftpd服务程序的主配置文件,还需要重启vsftpd服务程序来让新的配置服务参数生效,并且同学们在生产环境中或者红帽RHCSA、RHCE、RHCA认证考试中也请记得一定要把配置过的服务程序加入到开机启动项中,以保证下次服务器重启后依然能够为用户正常提供ftp文件传输服务:
[root@linuxprobe~]# systemctl restart vsftpd
[root@linuxprobe~]# systemctl enable vsftpd
ln-s'/usr/lib/systemd/system/vsftpd.service''/etc/systemd/system/multi-user.target.wants/vsftpd.service
这样咱们就可以在客户端上面使用ftp命令连接到远程的FTP服务器上面了,FTP服务的匿名开放模式的帐号统一为anonymous,密码为空。匿名模式登陆到FTP服务器后默认所在位置为/var/ftp目录,咱们可以切换至里面的pub目录中,然后尝试创建一个新的目录文件来检验是否已经有了写入权限:
[root@linuxprobe~]# ftp 192.168.10.10
Connected to 192.168.10.10(192.168.10.10).
220(vsFTPd 3.0.2)
Name(192.168.10.10:root): anonymous
331 Please specify the password.
Password:此处敲击回车即可
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd pub
250 Directory successfully changed.
ftp> mkdir files
550 Permission denied.
刚刚咱们已经把iptables防火墙策略清空,而且也在vsftpd服务程序的主配置文件中添加了允许匿名用户创建目录和写入文件的权限,那么为什么还会被拒绝呢?建议同学们先不要往下面看,思考后用自己的方法尝试解决下这个问题,长期这样您的Linux系统排错能力就一定会练出来的。
回想起前面操作的细节,咱们FTP服务的匿名开放模式是默认登陆到了/var/ftp目录中,查看下这个目录的权限后才发现原来只有root管理员用户才有写入权限的,怪不得会提示写入出错呢,咱们只需要把目录的所有者身份改成系统帐户ftp即可,这样就应该可以了吧~
[root@linuxprobe~]# ls-ld/var/ftp/pub
drwxr-xr-x. 3 root root 16 Jul 13 14:38/var/ftp/pub
[root@linuxprobe~]# chown-Rf ftp/var/ftp/pub
[root@linuxprobe~]# ls-ld/var/ftp/pub
drwxr-xr-x. 3 ftp root 16 Jul 13 14:38/var/ftp/pub
[root@linuxprobe~]# ftp 192.168.10.10
Connected to 192.168.10.10(192.168.10.10).
220(vsFTPd 3.0.2)
Name(192.168.10.10:root): anonymous
331 Please specify the password.
Password:此处敲击回车即可
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd pub
250 Directory successfully changed.
ftp> mkdir files
550 Create directory operation failed.
又报错了!!此时再次使用ftp命令登入到FTP服务器主机后依然会提示写入操作失败,但细心的同学一定发现报错信息已经产生了变化,在刚刚没有写入权限的时候提示说权限拒绝(Permission denied.)所以咱们怀疑是权限的问题,但现在是提示创建目录的操作失败(Create directory operation failed.)那么咱们同学应该也能马上意识到是SELinux服务在限制这个操作了吧,查看下所有与ftp相关的SELinux域策略有那些吧:
[root@linuxprobe~]# getsebool-a| grep ftp
ftp_home_dir--> off
ftpd_anon_write--> off
ftpd_connect_all_unreserved--> off
ftpd_connect_db--> off
ftpd_full_access--> off
ftpd_use_cifs--> off
ftpd_use_fusefs--> off
ftpd_use_nfs--> off
ftpd_use_passive_mode--> off
httpd_can_connect_ftp--> off
httpd_enable_ftp_server--> off
sftpd_anon_write--> off
sftpd_enable_homedirs--> off
sftpd_full_access--> off
sftpd_write_ssh_home--> off
tftp_anon_write--> off
tftp_home_dir--> off
根据策略的名称和经验可以猜测出是哪一条规则策略,咱们在设置的时候请记得使用-P参数来让配置过的策略永久生效,保证在服务器重启后依然能够顺利写入文件,咱们可以分别尝试下创建目录文件、对文件进行改名以及删除目录文件等等操作。最后,恭喜同学们完成了这个实验课程,建议您在进行一次实验课程前还原虚拟机到最初始的状态,以免多个配置参数之间产生冲突。
[root@linuxprobe~]# setsebool-P ftpd_full_access=on
[root@linuxprobe~]# ftp 192.168.10.10
Connected to 192.168.10.10(192.168.10.10).
220(vsFTPd 3.0.2)
Name(192.168.10.10:root): anonymous
331 Please specify the password.
Password:此处敲击回车即可
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd pub
250 Directory successfully changed.
ftp> mkdir files
257"/pub/files" created
ftp> rename files database
350 Ready for RNTO.
250 Rename successful.
ftp> rmdir database
250 Remove directory operation successful.
ftp> exit
221 Goodbye.
11.2.2本地用户模式
本地用户模式是通过Linux系统本地的帐号密码信息进行的验证方式,这种模式相比较匿名开放模式来说比较安全,不过如果被骇客暴力破解出FTP帐号信息,也就可以通过这个口令登陆到咱们的服务器系统中了,从而完全控制整台服务器主机。本地用户模式配置起来十分简单,而且既然本地用户模式确实要比匿名开放模式更加的安全,因此推荐既然开启了本地用户模式,就把匿名开放模式给关闭了吧~咱们对本地用户模式需要使用的权限参数及介绍如下表:
编辑
参数作用
anonymous_enable=NO禁止匿名访问模式。
local_enable=YES允许本地用户模式。
write_enable=YES设置可写入权限。
local_umask=022本地用户模式创建文件的umask值。
userlist_deny=YES参数值为YES即禁止名单中的用户,参数值为NO则代表仅允许名单中的用户。
userlist_enable=YES允许“禁止登陆名单”,名单文件为ftpusers与user_list。
[root@linuxprobe~]# vim/etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
当咱们确认参数信息已经填写正确就可以保存退出了,要想让新的配置参数生效还要记得重启一下vsftpd服务程序,并且在刚刚实验后还原了虚拟机的同学还请记得再把配置的服务加入到开机启动项中,让咱们的vsftpd服务程序在重启后依然能够正常使用。
[root@linuxprobe~]# systemctl restart vsftpd
[root@linuxprobe~]# systemctl enable vsftpd
ln-s'/usr/lib/systemd/system/vsftpd.service''/etc/systemd/system/multi-user.target.wants/vsftpd.service
按道理来说咱们现在就已经可以使用本地用户登陆到FTP服务器中了,但使用root用户登陆后会提示如下的错误信息:
[root@linuxprobe~]# ftp 192.168.10.10
Connected to 192.168.10.10(192.168.10.10).
220(vsFTPd 3.0.2)
Name(192.168.10.10:root): root
530 Permission denied.
Login failed.
ftp>
在咱们输入root管理员用户的密码前就已经提示被拒绝了,看来有什么东西再禁止着用户登陆,这是因为咱们vsftpd服务程序目录中默认存在着两个文件(ftpusers或user_list),这两个文件叫做禁止用户名单,不知道同学们有没有看过一个叫做“死亡笔记”的日本电影,里面就提到有一个黑色封皮的小本本,任何人的名字写进去都会死亡,其实咱们在配置的这个vsftpd服务程序的禁止文件也有类似的功能,只要里面写有某个用户的名字,那么就不再允许这个用户登陆到咱们的FTP服务器上面。
具体步骤参考文档:,可以部署一个vsftpd服务
虚拟机装centos7为什么一直没有网卡
如出现虚拟机装centos7总是没有网卡的情况,建议通过以下方式进行解决:
1、登录系统,虚拟机安装完成后,第一次登录系统,系统只有一个账号,即超级管理员root账户,输入安装时设定的密码,登录到系统终端;
2、编辑系统配置文件,虚拟机完成后,系统安装了一个默认的网卡,即eth0,其配置文件的路径为/etc/sysconfig/network-scripts/ifcfg-eth0,在系统终端中输入命令:vi/etc/sysconfig/network-scripts/ifcfg-eth0,启动vi编辑器编辑此文件
centos虚拟机启用网卡;
3、编辑默认网卡配置文件,将ONBOOT由no改为yes,编辑完成后,按ESC回至命令模板,输入":wq",回车,保存修改并退出;
4、修改配置文件后,并不会立即生效,需要让network服务重新加载配置文件,修改才生效,在系统终端中输入命令:service network reload;
5、在终端中输入命令:ifconfig,可心输出信息中可心看到,系统默认网卡eth0已启动。
如何在 Linux 终端下检查笔记本电池状态
在终端下检查笔记本电池状态
我们可以使用下面的三种方法来从命令行中查找到笔记本电池状态。
方法一–使用 upower命令
upower命令预装在大多数的 Linux发行版本中。为了使用upower命令来展示电池的状态,打开终端并运行如下命令:
$ upower-i/org/freedesktop/UPower/devices/battery_BAT0
示例输出:
native-path: BAT0vendor: Samsung SDImodel: DELL 7XFJJA2serial: 4448power supply: yesupdated: Sat 12 May 2018 06:48:48 PM IST(41 seconds ago)has history: yeshas statistics: yesbatterypresent: yesrechargeable: yesstate: chargingwarning-level: noneenergy: 43.3011 Whenergy-empty: 0 Whenergy-full: 44.5443 Whenergy-full-design: 48.84 Whenergy-rate: 9.8679 Wvoltage: 12.548 Vtime to full: 7.6 minutespercentage: 97%capacity: 91.2045%technology: lithium-ionicon-name:'battery-full-charging-symbolic'History(charge):1526131128 97.000 chargingHistory(rate):1526131128 9.868 charging
正如你所看到的那样,我的电池正处于充电状态,并且它的电量百分比是 97%。
假如上面的命令因为某些未知原因不起作用,可以尝试使用下面的命令:
$ upower-i `upower-e| grep'BAT'`
示例输出:
native-path: BAT0vendor: Samsung SDImodel: DELL 7XFJJA2serial: 4448power supply: yesupdated: Sat 12 May 2018 06:50:49 PM IST(22 seconds ago)has history: yeshas statistics: yesbatterypresent: yesrechargeable: yesstate: chargingwarning-level: noneenergy: 43.6119 Whenergy-empty: 0 Whenergy-full: 44.5443 Whenergy-full-design: 48.84 Whenergy-rate: 8.88 Wvoltage: 12.552 Vtime to full: 6.3 minutespercentage: 97%capacity: 91.2045%technology: lithium-ionicon-name:'battery-full-charging-symbolic'History(rate):1526131249 8.880 charging
upower不仅可以显示出电池的状态,它还可以显示出已安装电池的其他完整信息,例如电池型号,供应商名称,电池的序列号,电池的状态,电池的电压等信息。
当然,如果你只想显示电池的状态,你可以可以结合使用upower命令和grep命令,具体命令如下:
$ upower-i$(upower-e| grep BAT)| grep--color=never-E"state|to\ full|to\ empty|percentage"
示例输出:
state: fully-chargedpercentage: 100%
从上面的输出中可以看到我的笔记本电池已经完全充满了。
想知晓更多的细节,可以参看 man页:
$ man upower
方法二–使用 acpi命令
acpi命令可以用来显示你的 Linux发行版本中电池的状态以及其他 ACPI信息。
在某些 Linux发行版本中,你可能需要安装acpi命令。
要在 Debian、 Ubuntu及其衍生版本中安装它,可以使用如下命令:
$ sudo apt-get install acpi
在 RHEL、 CentOS、 Fedora等系统中使用:
$ sudo yum install acpi
或者使用如下命令:
$ sudo dnf install acpi
在 Arch Linux及其衍生版本中使用:
$ sudo pacman-S acpi
一旦acpi安装好后,运行下面的命令:
$ acpi-V
注意:在上面的命令中,V是大写字母。
示例输出:
Battery 0: Charging, 99%, 00:02:09 until chargedBattery 0: design capacity 4400 mAh, last full capacity 4013 mAh= 91%Battery 1: Discharging, 0%, rate information unavailableAdapter 0: on-lineThermal 0: ok, 77.5 degrees CThermal 0: trip point 0 switches to mode critical at temperature 84.0 degrees CCooling 0: Processor 0 of 3Cooling 1: Processor 0 of 3Cooling 2: LCD 0 of 15Cooling 3: Processor 0 of 3Cooling 4: Processor 0 of 3Cooling 5: intel_powerclamp no state information availableCooling 6: x86_pkg_temp no state information available
首先让我们来检查电池的电量,可以运行:
$ acpi
示例输出:
Battery 0: Charging, 99%, 00:01:41 until chargedBattery 1: Discharging, 0%, rate information unavailable
下面,让我们来查看电池的温度:
$ acpi-t
示例输出:
Thermal 0: ok, 63.5 degrees C
如果需要将温度以华氏温标显示,可以使用:
$ acpi-t-f
示例输出:
Thermal 0: ok, 144.5 degrees F
如果想看看交流电适配器是否连接上了没有,可以运行:
$ acpi-a
示例输出:
Adapter 0: on-line
假如交流电适配器没有连接上,则你将看到如下的输出:
Adapter 0: off-line
想获取更多的信息,可以查看 man页:
$ man acpi