Linux服务 、shell基础(命令)

FTP安全设置:
用户控制:
  ftp用户控制的两个文件:
    /etc/vsftpd/ftpusers
    /etc/vsftpd/user_list

   参数设置/etc/vsftpd/vsftpd.conf
   
    /etc/vsftpd/ftpusers相当于一个黑名单,这里显示的用户不能登录ftp
    如果想让某一个用户不能登录ftp,直接把用户名添加到/etc/vsftpd/ftpusers

    /etc/vsftpd/user_list 这个中的用户可变的,这个文件要起作用,
    必须userlist_enable=YES  参数设置为可为YES

    userlist_deny  设置这个参数
       YES:/etc/vsftpd/user_list相当与黑名单,即里面设置用户不允许登录。
       NO:/etc/vsftpd/user_list相当与白名单,即里面设置用户允>许登录。

   
    /etc/vsftpd/ftpusers和/etc/vsftpd/user_list两者之间冲突(一个用户两个文件中都有),以 /etc/vsftpd/ftpusers为准。
------------------------------------------
IP地址限制:
# vim /etc/vsftpd/vsftpd.conf

    tcp_wrappers=YES    启动TCP wrappers控制
    tcp_wrappers的两个控制文件:
     /etc/hosts.allow   表示允许访问列表
     /etc/hosts.deny    表示不允许访问列表

# vim /etc/hosts.allow  允许某一个IP登录

    vsftd:2.2.2.128 2.2.2.111
    服务器 允许访问的IP列表

# vim /etc/hosts.deny   不允许登录
     vsftpd:all  不允许所有IP登录


  /etc/hosts.allow和/etc/hosts.deny的工作流程:
  用户登录过来的时候,首先看是否在/etc/hosts.allow中(被允许登录的用户),如果这个名单中允许的IP,就直接登录,跳过所有的判断,如果不在/etc/hosts.allow中,看是否在/etc/hosts.deny文件中,如果在就不允许登录。
-------------------------------------------------------
优化与限制:
    修改配置文件的参数:#vim /etc/vsftpd/vsftpd.conf

    local_max_rate=102400    限制本地用户最大传输速度
    anon_man_rate            限制匿名用户最大传输速度

    max_clients=5              同时链接的客户数
    max_per_ip=5               单个用户的最大连接数

------------------------------------------------------------
http:
    超文本传输协议(http)也是一种通讯协议
    是目前使用最广泛的WEB服务器软件
------------------------------------
安装软件:
    yum install httpd*
    yum reinstall httpd*
    yum install httpd*  -y
--------------------------------
服务器名:
    httpd
---------------------------------
使用端口
   80
---------------------------------
配置文件:
    # vim /etc/httpd/conf/httpd.conf
---------------------------------
http如何共享文件

    # vim /etc/httpd/conf/httpd.conf

不去分大小写的搜索: set ic
    --------------
    DocumentRoot "/ule"   修改为自己共享的文件目录
    -------------------
    -------------------
    <Directory/ule>
         Options FollowSymLinks Indexes     表示列表的方式显示
        AllowOverride All
     </Directory>

# vim /etc/httpd/conf.d/welcome.conf
     <LocationMatch "^/+$">
             Options Indexes     去掉Indexes前面的—
            ErrorDocument403 /error/noindex.html
    </LocationMatch>
重启服务:service httpd restart

注意:如何出现443之类的错误:
    # vim /etc/httpd/conf.d/ssl.conf

    把443改成其他值。
 之后就可以访问了

把自己的IP解析成域名
    #vim /etc/hosts
     2.2.2.133    localhost.localdomain
---------------------------------------------------
多站点的实现:
  多站点就是在一个服务器上,架载多个WEB站点,。叫做虚拟主机方式,

虚拟主机的实现方式:
    基于IP的方式  基于端口的方式  基于域名的方式

采用基于域名一种方式实现多站点访问

# vim /etc/httpd/conf/httpd.conf

NameVirtualHost *:80   前面的注释去掉


<VirtualHost *:80>
    ServerAdminwebmaster@uplooking.com  表示邮箱
    DocumentRoot /ule                    共享文件
    ServerName www.uplooking.com         域名
    ErrorLoglogs/uplooking.com-error_log   错误日志
    CustomLoglogs/uplooking.com-access_log common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@baidu.com
    DocumentRoot /ule
    ServerName www.baidu.com
    ErrorLoglogs/baidu.com-error_log
    CustomLog logs/baidu.com-access_logcommon
</VirtualHost>



客户端设置:
#vim /etc/hosts
添加一行:
    2.2.2.133     www.uplooking.com
     2.2.2.133    www.baidu.com

就是把www.uplooking.com解析到2.2.2.133
----------------------------------------------------

shell编程
  shell是一个命令解释器,用于帧听用户输入的指令,并启动这些指令所启动的进程。
  shell也是一种程序设计语言,他又变量、关键字、各种流程控制。
----------------------------
查看shell信息
    ls /bin/*sh  查看所有的shell
    echo $SHELL  查看本机支持的shell
----------------------------
bash的初始化过程:
  从用户登录开始,用户一次执行的几个程序
    /etc/profile->~/.bash_profile->~/.bashrc->/etc/bashrc
  /etc:针对所有用户,每个用户启动的时候,都会启动这两个脚本
  ~:表示定义当前用户
例:
  对配置文件输出一句话,切换用户看执行顺序。
---------------------------
用户退出执行文件
    ~/.bash_logout
------------------------------
用户的命令历史:
  bash在工作的时候,会记录下用户输入的命令,共用户上下翻动查询,如果退出窗口后,会把这些命令保存起来,保存在~/.bash_history这个文件中
如何调用这些命令
  1、方向键调用
  2、ctrl+r
    自动搜索历史命令,回车就可以执行,方向键进行修改
  3、history  查看命令历史
    !954  运行954号命令
    !!:  运行最后一条命令
    !-3:运行倒数第三条命令
    !$: 最后一条命令的最后一个参数

与命令相关的文件:
  vim /etc/profile

     HISTSIZE=1000    内存中最大保留多少条命名
     HISTFILESIZE=1000  历史文件中保留多少条命令

禁用历史命令:
   方法一:HISTSIZE=0    内存没有,文件也就没有了。
   方法二:rm~/.bsah_history
    下次启动,会自动创建这个文件

---------------------------------------------
shell 变量
变量分类:
    按作用域分:局部变量和环境变量
  局部变量:
    只在本shell中有效
  环境变量:
    在本shell及子shell中有效。

注意:在上级shell环境变量也不起作用。

-------------------------
显示环境变量:env

-----------------------------
变量定义:
  定义局部变量:
    变量名=值
  定义环境变量:
    export 变量名=值

-----------------------------
删除一个变量:
    unset 变量名
------------------------------
查看所有的shell变量:
    set
例:
echo $PS1   输出变量值
重新定义:PS1='[\u@\h \w \t]\$ '
    \u:表示用户
    \h:表示主机名
    \W:表示当前路径
    \w:表示绝对路径
    \t:表示时间

参数在哪查找:man bash
输入/\/u  /表示查找 \表示转义 /表示是参数

--------------------------------------------
变量取值:
    $变量名
    或者
    ${变量名}
用{}更安全两者之间的区别?
例:   #a=apple
    #echo "how are you" >$a_ode.txt   会产生.txt文件
        并不是我们需要的结构
    #echo "how are you" >${a}_ode.txt  则会产生apple_ode.txt
        显示出我们需要的东西
    #cat apple_ode.txt
        则显示:howare you
---------------------------------------------
linux下的多条命令的执行:
1、无条件执行多条命令
  命令之间用分号分割
   mkdir a; touch b;cd /;ls

执行命令的时候,如果命令用()括起来,表示会在子shell中执行
    cd /etc/xml;ls
    (cd /etc/xml;ls)

()表示声明一个函数
例:
# aa()                      函数声明
> {
> echo this is aa
> ls                         函数体
> touch /test/ddd
> }
# aa                         调用函数
------------------
2、有条件多命令执行
  &&:前一个命令执行成功,才执行后一个命令
    mkdir ff && ls    执行成功再执行后一个
    ls /ttt  && ls    执行不成功,后一个命令也不执行。

  ||:前一个命令执行不成功,才执行后一个命令
    ls /ttt  || ls
    mkdir gg || ls

------------------
命令返回值
  linux每执行一条命令的时候,都会有一个返回值,来表示该命令的执行状态,
    获取返回值:echo$?

如果返回值为0:表示命令执行成功
    不为0:表示执行不成功

返回给系统 exit
-------------------
命令执行的顺序:
 ;优先级最低
 && 和 ||具有相同的优先级,从左到右的顺序执行   
 ()可以改变命令的执行顺序
--------------------------
运算符:
  字符运算:
    无需任何运算符,直接链接即可
    例:   
        a="abc"
        b="123"
        echo $a$b
  数值运算符:(linux不支持小数点运算)
    $(())或者$[]

  比较运算符
    字符比较
    =    等于
    !=   不等于
    \>    大于
    \<    小于
    -z string  字符是否为空(长度为0)
    -n string  字符是否不为空(长度不为0)

    数值比较:
    等于       -eq
    不等于     -ne
    大于       -gt
    大于等于   -ge
    小于       -lt
    小于等于   -le

    文件测试:
    -b file     文件是否存在,且是一个块设备文件
    -c file     文件是否存在,且是一个字符设备文件
    -d file     文件是否存在,且是一个目录
    -e file     文件是否存在
    -f file     文件是否存在,且是一个普通文件

    -r file     文件是否存在,且当前用户可读
    -w file     文件是否存在,且是可写
    -x file     文件是否存在,且是可执行

    -O file     文件是否存在,且当前用户为其属主
    -G file     文件是否存在,且当前用户为其数组
-----------------------------------------------------  














 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值