N25-第13周博客作業

1、建立samba共享,共享目錄為/data,要求:(描述完整的過程)
  1)共享名為shared,工作組為magedu;
  2)添加組develop,添加用戶gentoo,centos和ubuntu,其中gentoo和centos以develop為附加組,ubuntu不屬于develop組;密碼均為用戶名;
  3)添加samba用戶gentoo,centos和ubuntu,密碼均為“magedu”;
  4)此samba共享shared僅允許develop組具有寫權限,其他用戶只能以只讀方式訪問;
  5)此samba共享服務僅允許來自于10.0.0.0/16網絡的主機訪問; 
  
2、搭建一套文件vsftp文件共享服務,共享目錄為/ftproot,要求:(描述完整的過程)
  1)基于虛擬用戶的訪問形式;
  2)匿名用戶只允許下載,不允許上傳;
  3)禁錮所有的用戶于其家目錄當中;
  4)限制最大并發連接數為200:;
  5)匿名用戶的最大傳輸速率512KB/s
  6)虛擬用戶的賬號存儲在mysql數據庫當中。
  7)數據庫通過NFS進行共享。
  
題目1:
1.安裝samba
    [root@rs1 ~]# yum -y install samba
    
2.添加組,用戶以及創建共享目錄
    [root@rs1 ~]# groupadd develop
    [root@rs1 ~]# useradd -G develop gentoo
    [root@rs1 ~]# useradd -G develop centos
    [root@rs1 ~]# for user in {gentoo,centos,ubuntu};do echo $user;done
    [root@rs1 ~]# mkdir /data
    
3.修改共享目錄權限
    [root@rs1 ~]# chmod g+w /data
    
4.編輯samba配置文件:
    /etc/samba/smb.conf,添加如下配置:
        [shared]
        comment = week test
        path = /data
        browseable = yes
        public = no
        write = yes
        write list = +develop
        hosts allow = 10.0.0.0/255.255.0.0
        
5.啟動服務:
    [root@rs1 ~]# systemctl start smb.service 
    查看是否啟用端口445,139
    
6.測試:
    [root@rs2 ~]# smbclient -L 10.0.0.21 -U ubuntu
    Enter gentoo's password: 
    Domain=[MAGEDU] OS=[Windows 6.1] Server=[Samba 4.2.10]
    Sharename       Type      Comment
    ---------       ----      -------
    shared          Disk      week test
    IPC$            IPC       IPC Service (Samba Server Version 4.2.10)
    Domain=[MAGEDU] OS=[Windows 6.1] Server=[Samba 4.2.10]
    Server               Comment
    ---------            -------
    RS1                  Samba Server Version 4.2.10
    Workgroup            Master
    ---------            -------
    MAGEDU               RS1
    
    [root@rs2 ~]# mount -t cifs //10.0.0.21/shared /mnt -o username=ubuntu -o password=magedu
    mount: //10.0.0.21/shared is write-protected, mounting read-only
    mount: cannot mount //10.0.0.21/shared read-only
    [root@rs2 ~]# mount -t cifs //10.0.0.21/shared /mnt -o username=gentoo -o password=magedu
    [root@rs2 ~]# df -hT|grep mnt
    //10.0.0.21/shared           cifs       18G  2.3G   16G  13% /mnt
    [root@rs2 ~]# cd /mnt
    [root@rs2 mnt]# touch test1
    [root@rs2 mnt]# ll
    total 0
    -rw-r--r-- 1 1003 1006 0 Nov 11 23:01 test1
    [root@rs1 ~]# id gentoo
    uid=1003(gentoo) gid=1006(gentoo) groups=1006(gentoo),1005(develop)
    
題目2:
    環境:
        rs2:mysql+vsftpd
        rs1:smaba

    1.安裝MySQL
        [root@rs2 ~]# groupadd -g 1100 mysql
        [root@rs2 ~]# useradd -u 1100 -g mysql -M mysql
        [root@rs2 ~]# mount -t cifs //10.0.0.21/mysql /opt/mysql -o username=mysql -o password=magedu
        [root@rs2 ~]# chown -R mysql.mysql /opt/mysql
        
        [root@rs2 ~]# tar xf mysql-5.6.31-linux-glibc2.5-x86_64.tar.gz -C /usr/local/
        [root@rs2 ~]# cd /usr/local
        [root@rs2 local]# ln -sv mysql-5.6.31-linux-glibc2.5-x86_64 mysql
        [root@rs2 local]# cd mysql
        [root@rs2 mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/opt/mysql
        [root@rs2 mysql]# cp support-files/mysql.server /etc/init.d/mysqld
        [root@rs2 mysql]# chmod +x /etc/init.d/mysqld
        [root@rs2 mysql]# cp support-files/my-default.cnf /etc/my.cnf
        
        [root@rs2 mysql]# vim /etc/my.cnf
            basedir = /usr/local/mysql
            datadir = /opt/mysql
            skip_name_resolve = 1
            character_set_server = utf8
            innodb_file_per_table = 1
            
        [root@rs2 mysql]# ln -sv /usr/local/mysql/include/ /usr/include/mysql
        [root@rs2 mysql]# vim /etc/ld.so.conf.d/mysql.conf
            /usr/local/mysql/lib
        
        [root@rs2 mysql]# ldconfig -v
        [root@rs2 mysql]# vim /etc/profile.d/mysql.sh
            export PATH=/usr/local/mysql/bin:$PATH
        [root@rs2 mysql]# source /etc/profile.d/mysql.sh
        [root@rs2 mysql]# service mysqld start
        
2.安裝vsftpd
    [root@rs2 ~]# yum -y install vsftpd pam-devel
    
    安裝pam_mysql:
    [root@rs2 ~]# tar xf pam_mysql-0.7RC1.tar.gz 
    [root@rs2 ~]# cd pam_mysql-0.7RC1
    [root@rs2 pam_mysql-0.7RC1]# ./configure --with-mysql=/usr/local/mysql/ --with-pam-mods-dir=/lib64/security/
    [root@rs2 pam_mysql-0.7RC1]# make install
      編輯vsftpd.conf配置文件:
        anonymous_enable=YES
        anon_upload_enable=NO
        anon_mkdir_write_enable=NO
        anon_max_rate=512000
        max_clients=200
        local_enable=YES
        write_enable=YES
        local_umask=022
        dirmessage_enable=YES
        xferlog_enable=YES
        connect_from_port_20=YES
        xferlog_file=/var/log/xferlog
        xferlog_std_format=YES
        download_enable=YES
        ascii_upload_enable=YES
        ascii_download_enable=YES
        chroot_local_user=YES
        listen=YES
        listen_ipv6=NO
        guest_enable=YES
        guest_username=mysqlftp
        virtual_use_local_privs=YES
        pam_service_name=vsftpd
        tcp_wrappers=YES
        vsftpd_log_file=/var/log/vsftpd.log
        allow_writeable_chroot=YES
        
    創建虛擬用戶映射賬戶:
        [root@rs2 ~]# useradd mysqlftp -d /ftproot
        
    編輯vsftpd的pam認證文件:/etc/pam.d/vsftpd
        #%PAM-1.0
        session    optional     pam_keyinit.so    force revoke
        auth       sufficient   /lib64/security/pam_mysql.so user=vsftp passwd=redhat \
        host=127.0.0.1 db=ftp table=users usercolumn=name passwdcolumn=password crypt=2
        auth       requiredpam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
        auth       requiredpam_shells.so
        auth       includepassword-auth
        account    sufficient   /lib64/security/pam_mysql.so user=vsftp passwd=redhat \
        host=127.0.0.1 db=ftp table=users usercolumn=name passwdcolumn=password crypt=2
        account    includepassword-auth
        session    required     pam_loginuid.so
        session    includepassword-auth
        
    備注:此認證文件可以使vsftpd服務應用虛擬賬號和本地賬號;如果只想使用虛擬賬號機制,
    則只使用pam_mysql相關的2行;此文件認證機制順序:先檢查pam_mysql認證機制;后檢查本地賬號密碼認證機制;
    
    創建vsftpd使用的數據庫:
        mysql> create database ftp;
        mysql> use ftp;
        mysql> create table users (
        id INT AUTO_INCREMENT NOT NULL,
        name CHAR(20) BINARY NOT NULL,
        password CHAR(48) BINARY NOT NULL,
        primary key(id)
        );
        mysql> grant SELECT on ftp.* to vsftp@localhost identified by 'redhat';
        mysql> grant SELECT on ftp.* to vsftp@127.0.0.1 identified by 'redhat';
        添加一個虛擬賬號:
        mysql> insert into users(name,password) values('nginx',password('redhat'));
        
    啟動服務:
        [root@rs2 ~]# systemctl start vsftpd
        
3.測試
    [root@rs1 ~]# lftp -u nginx,redhat 10.0.0.22
    lftp nginx@10.0.0.22:~> ls
    -rw-r--r--    1 0        0            1667 Nov 12 08:58 passwd
    lftp nginx@10.0.0.22:/> exit
    [root@rs1 ~]# lftp 10.0.0.22
    lftp 10.0.0.22:~> ls
    drwxr-xr-x    2 0        0               6 Mar 31  2016 pub
    lftp 10.0.0.22:/> quit
    [root@rs1 ~]# lftp -u devon,redhat 10.0.0.22
    lftp devon@10.0.0.22:~> ls
    -rw-r--r--    1 0        0            1667 Nov 12 08:58 passwd
    lftp devon@10.0.0.22:/> quit
    [root@rs1 ~]# lftp -u nginx,redhat 10.0.0.22
    lftp nginx@10.0.0.22:~> ls
    -rw-r--r--    1 0        0            1667 Nov 12 08:58 passwd
    lftp nginx@10.0.0.22:/> quit

原創文章,作者:oranix,如若轉載,請注明出處:http://www.www58058.com/76616

(0)
oranixoranix
上一篇 2017-05-21
下一篇 2017-05-21

相關推薦

  • Linux basics–part2

    一、Linux上的文件管理類命令,及常用的使用方法 1.ls:list, 列出指定目錄下的內容 常用選項: ls: list, 列出指定目錄下的內容 ls [OPTION]… [FILE]… -a: 顯示所有文件,包括隱藏文件; -A:顯示除.和..之外的所有文件; -l: –long, 長格式列表,即顯示文件的詳細屬性信…

    Linux干貨 2017-07-14
  • 第二十二周作業

    1、請描述本地文件系統和分布式文件系統的特點; 本地文件系統: 本地文件系統主要是指Ext2,Ext3,Btrfs,XFS這類(很難概括,只好舉例子),它們通常提供以下功能: 1.擴展性:隨著系統容量的增加保持性能,不隨容量變化而導致性能震蕩。比如一個目錄下的海量文件,在EXT2/3中由于目錄設計問題會導致較大的性能問題。再比如EXT2/3中的Metadat…

    2017-09-23
  • 文件權限

    文件權限 文件屬性       rw-r–r–表示文件權限     Root 表示文件所有者     Root 表示文件所屬組     0 表示文件的大小 …

    Linux干貨 2016-08-11
  • 第一周:Linux基礎及哲學思想

    1.現代計算機的組成及功能    現代計算機由運算器、控制器、存儲器、輸入和輸出設備5大部分組成。分別擔當著計算機的計算,控制,存儲,輸入和輸出等功能. 2.Linux的發行版及其之間的聯系與區別     Linux發行版主要分支分為三大系列: Slackware、debian 、redhat  &…

    Linux干貨 2016-06-23
  • sed&awk

    Evernote Export 1、總結sed和awk的詳細用法; awk Linux文本處理工具三劍客:grep、sed和awk。其中grep是一種文本過濾工具,sed是文本編輯器,而awk是一種報表生成器,就是對文件進行格式化處理的,這里的格式化不是文件系統的格式化,而是對文件內容進行各種“排版”,進而格式化顯示。 在Linux之上我們使用的是GNU a…

    Linux干貨 2017-01-05
欧美性久久久久