zoukankan      html  css  js  c++  java
  • vsftpd的安装

    好像linux下的服务的配置和文件分布都差不多, 如httpd, vsftpd, named.
    都是: 在/etc/???下面进行配置???.conf, 然后在/var/???放置实际要处理的文件/目录等.在/usr/lib, /usr/bin下放相应的库和可执行文件

    vsftpd的chroot

    chroot是change root, 更改程序运行时所参考的根目录的位置
    原来是以"/"为根目录, chroot后通常以/home/curUser/为根目录
    目地是为了将远程登录的用户禁锢/限制/jail在curUser中,只能访问curUser以下的目录,不能访问curUser以上的目录
    这样是为了安全.

    chroot_local_user和chroot_list_...

    chroot是为了限制在主目录 /rootdir/也就是家目录:/home_login_user

    initrd?

    initrd是init ram disk初始化ram磁盘...
    在系统级别的chroot是指从initrd的根目录切换到linux系统下的根目录"/"

    system-config-packages

    system-config-packages是基于X11的软件包管理工具,可视化的
    在linux中软件包就相当于windows的应用程序

    outlook邮件客户端

    outlook express据说不是outlook的精简版
    outlook的账户默认的是用"收件箱"的名字来命名的,如收件箱是:pop.163.com,则账户名称就命名
    位pop.163.com
    注意,设置smtp协议时,不要把名字写错了, 如写成 smpt.163.com, 结果始终发不出邮件
    一般对smtp设置使用 登录邮箱使用验证信息,跟收件箱的配置相同
    163的pop,smtp的地址是: pop.163.com, smtp.163.com
    要启用163的pop,smtp服务,需要在网页163账户登录后,进行"客户端验证信息"后才可以,这个是163自己的设置问题了

    如何切换outlook中的账户?

    • 使用命令: msimn 启动outlook express程序
    • 通常在一个计算机中就你在使用, 就使用一个账户
    • 如果确实要在多个账户(邮箱)之间切换,可以使用"标识"
    • 使用标识,可以在不断网/不重启oe的情况下切换邮箱
    • 标识的设置/管理,在"文件"->"标识"....
    • 标识的切换,可以使用密码, 也可以不使用密码,如果有密码,需要输入密码才能切换标识
    • 163在客户端登录输入密码,那个密码如果开启了"客户端认证后",就不再是原来的密码,而是它重新给出的那个
      密码, 原来的那个密码始终登不上, 163的把戏真多,不注意这个,消耗很多时间,登不上,结果就无法收邮件,还怀疑邮箱
      的pop3功能没有开启

    putty['p^ti] n. 油灰,腻子?

    linux中配置文件是一个程序的核心

    配置文件有多个,其中如果修改了主配置文件后,就要重启该服务,然后程序服务在启动时
    就会去读取配置文件而生效
    推荐生产中服务的"重启"用: service serv_name reload(不用restart)

    vsftpd的用户有两种,一种是anonymous(一般简写为anon_), 一种是本地用户
    anon用户也可以设置上传权限: anon_upload_enable=YES
    ftp的上传和下载可以通过: "拖放" 操作, 也可以通过"复制/粘贴"
    ftp要实现上传, 要解决两个方面的问题:

    • 要有上传的权限
    • 上传目的文件夹要有 接收的允许

    这是linux的基本常识和思想 :不像Windows,对文件和目录的权限管理那么笼统? 那么松懈? linux下每个文件和文件夹都有严格的 针对用户/组 的读写执行权限rwx, 要对被操作的文件或目录本身也要做权限设置!! chmod -R 777 /var/ftp/ ## 可以只写到/var/ftp, 不必写到/var/ftp/pub
    ===pub目录是vsftpd安装时就已经自动创建了的目录.

    vsftpd 打开匿名用户的权限

    anon_upload_enable=YES
    anon_mkdir_write_enable=YES   ## 这个是打开匿名用户创建目录的写权限
    anon_other_write_enable=YES  
      ## 匿名用户可以创建文件夹权限后,并不意味着他可以修改名称/删除等权限.这个是启用其他权限如修改删除...
    

    ftpd通常不允许系统用户进行登录,如root, bin,daemon, 把这些账户放到 ftpusers 中就可以了
    一般要使用普通的/标准用户进行登录


    要注意区别 不允许哪些本地用户登录 && 限制用户chroot 的区别

    • 这两个是不同的概念, 不同的作用 ,不能搞混淆了
    • 限制本地用户登录是在这两个文件 中:
      • /etc/vsftpd/ftpusers文件中指定的用户,是一定不能访问ftp的,因为它们都是"系统用户"
      • /etc/vsftpd/user_list文件同样是用来控制本地用户登录的, 它里面的用户默认根ftpusers中的相同
      • 但是user_list中的用户是否能够登录,取决于 vsftpd.conf这个主配置文件中的设置
      • vsftpd.conf中的两个设置 userlist_enable=YES, ## 这个是默认有的, 是否让userlist生效?
      • userlist_deny=YES/NO ## 这个配置文件中默认没有,可以把它加上去
      • user_list的生效规则根userlist_deny的设置有关, 这个已经说得很详细了:
    # vsftpd userlist
    # If userlist_deny=NO, *only* allow users in this file
    # If userlist_deny=YES (default), never allow users in this file, and
    # do not even prompt for a password.
    

    (因此: 按照默认设置, 你想哪个本地用户不能登录, 就把它放到user_list文件中就是了)

    • 限制用户不能访问主目录以外的内容 是通过: chroot这个设置来的.chroot_local_user=YES
    • 排除用户chroot, 用chroot_list_enable=YES, chroot_list_file=/etc/vsftpd/chroot_list
    • 这时, 这个chroot_list文件是必须的(即使为空),因为服务要去读这个文件!

    在ftp命令行工具中, 匿名用户登录名: ftp/anonymous
    所有匿名用户登录的目录都是/var/ftp
    可以自己创建pub目录和upload目录, 分别用于下载和上传.
    匿名用户登录时,要求输入密码,可以直接回车
    匿名登录主要用于构建 公共的用于下载的文件服务器

    一些散落点

    ldd 用来查看可执行命令/程序使用了哪些动态库: ldd /usr/sbin/vsftpd
    服务,如httpd, vsftpd等进行排错,记住四线原则

      fw | config | files/dir permission | selinux 
    

    (~~这个是蓝狐杨坤老师讲的)
    lftp软件包系统如果没有安装,可以在base仓库源中进行安装

    lftp是linux下的首选ftp客户端软件,注意区分它可以操作两种目录:一种是远程目录,一种是本地目录,不要给搞混了
    本地目录的操作是相应的命令前面加上l,如lcd, lpwd
    lftp登录后, 进入到的是 ftp子系统, !命令切换到本地系统.
    lftp具有cache控制, 可以设置cache的on/off, flush等等, rels=re-ls强制不从cache读取
    lftp的常规操作如同一个shell一样,同样具有命令补全,历史记录等等.
    lftp的bookmark命令可以管理经常登录的ftp站点.
    du计算远程目录的大小.

    lftp 是一款非常著名的 老道的so'phisticated 字符界面的文件传输工具。功能强大的下载工具,它支持访问文件的协议:

    • ftp, ftps
    • http, https
    • hftp, fish.
      (其中ftps和https需要在编译的时候包含openssl库)
      lftp的界面非常想一个shell: 有命令补全,历史记录,允许多个后台任务执行等功能,使用起来非常方便。它还有书签、排队、镜像、断点续传、多进程下载等功能

    感觉linux操作时, 直接指定被操作/被查询 的对象, 比grep过滤来得更快更直接

    linux中的选项-R, 很多时候是指: --recursive对文件夹递归操作

    如: ```
    mkdir -p a/b/c
    chmod -R 777 a

    chmod o+w a ## 感觉chmod使用数字方式744等方式比使用o+w等方式更简洁

    
    ### yum 的list?
    list有两种,一种是list出仓库名, 一种是list出软件包
    a. yum repolist  # 列出仓库
    b. yum list [rpm_name] # 列出yum仓库源中**[如果具有的]**包/一组包情况
    
    ### 设定passwd
    可以不用输两次密码的方式, 直接用'重定向'命令:(***note: 这里是 > 重定向, 而不是用 管道 |***)
    

    echo 'foo'>passwd --stdin foouser ## 最好是加上--stdin
    passwd -d foouser # 删除密码

    md中如果开始和结束的 "两个" 后引号没有单独占一行, 那么后面的内容即使分成了多行, 显示时仍然按行级元素对待,会排在一行里面

    
    
    ### 用户的家目录
    家目录=主目录=home directory
    当用户登录时,进入的那个目录就是家目录,也就说说,用户一登录就跑到家目录中去了
    重要的是, linux会以"~"符合来代替家目录, 而且要切换到另一个用户的加目录去时,不必从/home/username
    而是可以直接用 `` cd  ~username `` 来切换.
    pwd显示当前working dir, 用pwd -P 可以显示链接目录的实际路径
    
    **要查看ls的selinux 上下文context, 使用-Z 选项:    ``` ls -alZ ```
    
    几乎所有的程序在 **多个标签直接切换时都是使用: Alt+1, Alt+2,...**
    
    ### 分类查看 服务 安装的内容
    服务安装好之后, 可以分类查看服务分别安装了哪些内容,如:
    + rpm -qa | grep 可以直接写成: rpm -ql "some_rpm_name"
    + 可以查看服务有哪些配置: rpm -ql vsftpd | grep etc;
    + 可以查看服务安装了哪些可执行文件:  rpm -ql vsftpd | grep bin   ## 服务通常放在/usr/sbin中
    + 可以查看有哪些启动服务脚本: rpm -ql |grep init.d      ## 因为启动脚本通常放在init.d中的
    + 可以查看安装了哪些lib库: rpm -ql | grep lib   ## 有些可能没有安装额外的库
    
    ## vsftpd禁止哪些本地用户登录?
    # vsftpd userlist
    # If userlist_deny=NO, only allow users in this file
    # If userlist_deny=YES (default), never allow users in this file, and
    # do not even prompt for a password.
  • 相关阅读:
    创建型模式
    react-React深入-一等公民-props-onChange
    [react] React 新手必须知道的 N 件事
    [react] 细数 React 的原罪
    创业一年,苟且偷生
    好书推荐-《人类简史》.md—/Users/zjh/Documents/我的文章/好书推荐-《人类简史》
    社会科学-主题阅读.md—/Users/zjh/Documents/我的文章
    好书推荐-《国富论》-15-09.md—/Users/zjh/Documents
    readme.md—/Users/zjh/Documents/我的文章/[PHP]swoole_server几个进程的分工
    [PHP]Yii2框架的坑.md—/Users/zjh/Documents/我的文章/[PHP]Yii2框架的坑
  • 原文地址:https://www.cnblogs.com/bkylee/p/5062617.html
Copyright © 2011-2022 走看看