zoukankan      html  css  js  c++  java
  • FTP服务器 vsftp samba服务器 共享 smb

    FTP服务器 vsftp samba服务器 共享 smb

    马哥视频

    参考1

    参考3

    参考2

    参考4

    vsftp服务器实现匿名用户上传、修改权限和一些设置

    win7访问 地址栏输入   ftp://账号:密码@地址

    linux访问: ftp IP     (然后输入用户名和密码)

    [root@localhost var]# yum install -y *ftp*    (只安装vsftpd的话输入ftp提示命令错误  因为只安装了服务端没安装ftp客户端  要接着安装 yum install ftp)

    2、关闭SELinux
    #vi /etc/selinux/config
    将文件中的SELINUX="" 为 disabled ,然后重启。
    如果不想重启系统,使用命令setenforce 0注:setenforce 1 设置SELinux 成为enforcing模式

    查看SELinux状态:

    1、/usr/sbin/sestatus -v      ##如果SELinux status参数为enabled即为开启状态

     匿名用户

    系统用户

    虚拟用户(不能登录的)

    /var/ftp: ftp用户的家目录

    /var/ftp/pub  默认存储位置

    chroot功能 pwd的时候会显示 /   其实在/var/ftp

    [root@bogon hadoop]# ls -ld /var/ftp/    (匿名用户的pwd就是/var/ftp/)
    drwxr-xr-x. 4 root root 4096 May 10 23:17 /var/ftp/       属主属组都是root  只有root才能创建文件  匿名用户不能上传会提示can no create file

    可以创建一个ftp有读写执行的目录 这样匿名用户就可以上传了( anon_upload_enable=YES ) ps aux|grep vsftp  可以看到ftp用户只需vsftpd进程

    mkdir /var/ftp/upload

    setfacl -m u:ftp:rwx /var/ftp/upload/      设置ftp的权限

    getfacl uploads/         获取权限信息

     /etc/vsftpd/vsftpd.conf配置文件

    anonymous_enable=YES    #是否允许匿名用户

    local_enable=YES             #是否启用系统用户

    write_enable=YES           #运行上传

    anon_upload_enable=YES   #是否允许匿名用户上传

    anon_mkdir_write_enable=YES   匿名用户是否可以mkdir

    anon_other_write_enable=YES  匿名用户可以删除文件   这句要自己加 配置文件中可能没有

    dirmessage_enable=YES      当用户进入一个目录时是否显示欢迎信息  这个信息放在目录里面的 .message 注意是隐藏文件  自己创建然后  写一些提示文字,每次cd都会有文字提示
    xferlog_enable=YES            操作是否记录到日志中,需要配合下面的日志文件位置使用
    xferlog_file=/var/log/xferlog  日志文件位置    cat /var/log/xferlog就可以显示

    xferlog_std_format=YES    日志文件是否使用标准格式

    chroot_list_enable=YES    是否用一个文件定义用户在家目录中   禁锢用户在家目录/

    chroot_list_file=/etc/vsftpd/chroot_list  配合上面一起,创建这个文件再添加用户   比如添加hadoop用户后  用hadoop登录后pwd就是/  之前是/home/hadoop   这时候put上传的文件其实还是/home/hadoop 不过pwd只能显示成/

    chroot_local_user=YES   上面两条每个用户都要添加到文件中  如果不想这么麻烦就用这一条 将所有用户禁锢成/

    listen=YES  是否让vsftpd工作成一个独立守护进程(守护进程有两类 1独立2瞬时 由xinetd代为管理  用户量小用瞬时守护进程    独立守护进程用在用户量大在线时间长的服务)

    pam_service_name=vsftpd     /etc/pam.d/ 下叫什么名字 

    userlist_enable=YES 启用这个文件(userlist)    这是个禁止用户登入的文件  文件中的用户无法输入密码就被提示无法登入(root用户在userlist中删除(不删除的话不能输入密码就无法登录)还是无法登录 因为写在了了ftpusers文件中可以输入密码但不能登录)

    userlist_deny=NO 仅允许列表中(userlist)的用户登入 列表以外的用户都无法登入 相当于白名单        =YES 不允许列表中用户登入 黑名单   yes和no都得先启用这个文件  就是上面那条命令

    /etc/vsftpd/ftpusers   禁止访问的用户列表 例如root用户(ftp是明文的 为了防止抓包获取root用户的账号密码) 

    #chown_uploads=YES        用户上传文件后是否把属主改成其他用户(下面设置要改的用户) 
    #chown_username=whoever    上面一条如果要改改成谁

    #idle_session_timeout=600  会话连接超时时间

    #data_connection_timeout=120  数据连接相关的超时时间

    #ascii_upload_enable=YES   定义传输模式: 是否启用文本模式上传   不应该打开这两个
    #ascii_download_enable=YES  是否启用文本模式下载

     比如创建一个用户hadoop 然后用这个用户登录pwd时显示的就是vsftpd服务器上的家目录 /home/hadoop/   这样不安全(可以登录到/etc  /var等 ftp是明文的 所以传输的时候不安全)所以要加chroot

    centos6.5 安装成功  

    [root@localhost ~]# yum install -y *ftp*

    [root@localhost ~]# vi /etc/selinux/config     改disabled

    重启后关闭iptables  [root@localhost ~]# service iptables stop   

    [root@localhost ~]# service vsftpd start   (不启动的话连接ftp不会提示输入用户密码)

    设置开机启动vsftpd ftp服务   chkconfig vsftpd on


    [root@localhost ~]# ftp localhost     # 用户名 ftp  密码空  就进入ftp           匿名用户的用户名是 anonymous 密码为空   win下cmd输入ftp 192.168.1.115进行连接ftp

    500 OOPS: vsftpd: refusing to run with writable root inside chroot()
    Login failed.
    421 Service not available, remote server has closed connection

    建一个用户登入  

    [root@localhost hadoop]# useradd hadoop     

    [root@localhost hadoop]# passwd hadoop    输入密码1

    [root@localhost ~]# ftp localhost     # 用户名 hadoop  密码1  就进入ftp    pwd 显示  /home/hadoop  就是这个用户的家目录(/etc/passwd下显示的目录)  没有开启#chroot_list_enable=YES pwd后就会显示在家目录  开启后pwd会显示在/目录下 这样比较安全 (这里指的是linux下  win7没区别)      ls出目录下的文件和文件夹

    以下两行去掉注释  让文件中的用户在根目录(pwd 结果是 / ) 而不是家目录

    #chroot_list_enable=YES
    #chroot_list_file=/etc/vsftpd/chroot_list        #chroot_list中添加用户名

    如果不想一个个用户添加而是所有用户都在/目录登入就注释上面两个  把下面这行的注释

    #chroot_local_user=YES

     ftp 192.168.1.115  (本机112)

    输入账号密码

    pwd显示家目录 /home/hadoop

    lcd /etc   ( 进入112de /etc)

    put issue   (上传112的issue到115的/etc/hadoop)

    get  xxx   (从115下载文件到lcd后的目录中

    samba  参考   参考

    centos7

    [root@localhost samba]# yum -y install samba samba-client samba-common

    [root@localhost samba]# vi /etc/samba/smb.conf  #先备份文件

     65          [global]

     89     workgroup = WORKGROUP
     90     server string = Samba Server Version %v
     91
     92     security = user
     93     netbios name = MYSERVER

    16             [public]                                           #共享出来的文件夹就是public     在linux上的位置为  /home/samba 
    317     comment = Public Stuff
    318     path = /home/samba
    319     public = yes 

    [root@localhost samba]# testparm     #检查文件正确性

    [root@localhost samba]# service smb restart

    [root@localhost samba]# smbpasswd -a root     #设置root用户名 的密码    或者再添加一个系统用户  然后用这个命令设置密码

     解决:SMB.conf文件中注释掉 passdb backend = tdbsam 一行,

         加上 smb passwd file = /etec/samba/smbpasswd

     

    windows访问   \10.0.0.101public

    zzx@zzx120:~$ smbclient //10.0.0.101/public

  • 相关阅读:
    哪个项目管理工具好用到哭?JIRA VS 华为软件开发云
    华为软件开发云CloudIDE功能简测
    移动APP云测试平台测评分析
    华为软件开发云对比Jenkins-JavaWeb项目持续部署方式
    微服务究竟该如何理解
    如何将Android Studio与华为软件开发云代码仓库无缝对接(二)
    如何将Android Studio与华为软件开发云代码仓库无缝对接(一)
    微服务,真的适合你么?
    如何更换git托管
    Redmine迁移至华为软件开发云-项目管理
  • 原文地址:https://www.cnblogs.com/hanxing/p/4368553.html
Copyright © 2011-2022 走看看