22期第十三周課堂練習

1、建立samba共享,共享目錄為/data,要求:(描述完整的過程)

  1)共享名為shared,工作組為magedu;

  2)添加組develop,添加用戶gentoo,centos和ubuntu,其中gentoo和centos以develop為附加組,ubuntu不屬于develop組;密碼均為用戶名;

  3)添加samba用戶gentoo,centos和ubuntu,密碼均為“mageedu”;

  4)此samba共享shared僅允許develop組具有寫權限,其他用戶只能以只讀方式訪問;

  5)此samba共享服務僅允許來自于172.16.0.0/16網絡的主機訪問; 

[root@localhost ~]#yum info samba.x86_64      #查看samba包的信息
[root@localhost ~]#yum -y install samba.x86_64   #安裝samba服務
[root@localhost ~]#rpm -ql samba       #查看samba安裝后的文件
[root@localhost ~]#groupadd develop    #添加develop組
[root@localhost ~]#useradd  -G develop gentoo      #添加gentoo用戶并給它指定附加組develop
[root@localhost ~]#useradd  -G develop centos      #添加centos用戶并給它指定附加組develop
[root@localhost ~]#useradd ubuntu                  #添加ubuntu用戶
[root@localhost ~]#echo "gentoo" | passwd --stdin gentoo   #添加密碼
[root@localhost ~]#echo "centos" | passwd --stdin centos
[root@localhost ~]#echo "ubuntu" | passwd --stdin ubuntu
[root@localhost ~]#smbpasswd -a centos    #為samba服務添加centos用戶,此處需要輸入密碼我設置為centos
[root@localhost ~]#smbpasswd -a gentoo  #此處需要輸入密碼我設置為gentoo
[root@localhost ~]#smbpasswd -a ubuntu #此處需要輸入密碼我設置為ubuntu
[root@localhost ~]#mkdir /data     #建分享目錄
[root@localhost ~]#chmod g+w /data #修改分享目錄的組寫權限
[root@localhost ~]#chown :develop /data    #修改分享目錄的數組
[root@localhost ~]# ll -d /data/
drwxrwxr-x 3 root develop 4096 Jan  3 20:31 /data/
[root@localhost ~]#vim  /etc/samba/smb.conf 
          
        hosts allow = 172.16.   //僅允許來自于172.16.0.0/16網絡的主機訪問        
        workgroup = magedu      //工作組為magedu
        security = user         // 使用SANBA服務自我管理的賬號和密碼進行用戶認證;
                                   用戶必須OS用戶,但密碼非為OS用戶的密碼;而是用訪問samba服務的專用密碼;
        passdb backend = tdbsam      
        [share]
        comment = myshare
        path = /data
        browseable = yes
        write list = @develop
        
測試:
[root@localhost ~]# smbclient //192.168.180.130/share -U centos
Enter centos's password: 
Domain=[MAGEDU] OS=[Unix] Server=[Samba 3.6.9-164.el6]
smb: \> mkdir test
smb: \> lcd /etc
smb: \> put fstab 
putting file fstab as \fstab (786.1 kb/s) (average 786.1 kb/s)  
[root@localhost ~]# smbclient //192.168.180.130/share -U gentoo
Enter centos's password: 
Domain=[MAGEDU] OS=[Unix] Server=[Samba 3.6.9-164.el6]
smb: \> mkdir test
smb: \> lcd /etc
smb: \> put fstab 
putting file fstab as \fstab (786.1 kb/s) (average 786.1 kb/s)    

[root@localhost ~]# smbclient //192.168.180.130/share -U gentoo
Enter gentoo's password: 
Domain=[MAGEDU] OS=[Unix] Server=[Samba 3.6.9-164.el6]
smb: \> lcd /etc/yum
yum/         yum.conf     yum.repos.d/ 
smb: \> lcd /etc/yum.repos.d/
smb: \> put local.repo 
putting file local.repo as \local.repo (24.4 kb/s) (average 24.4 kb/s)
smb: \>            

[root@localhost ~]# smbclient //192.168.180.130/share -U ubuntu
Enter ubuntu's password: 
Domain=[MAGEDU] OS=[Unix] Server=[Samba 3.6.9-164.el6]
smb: \> lcd /etc
smb: \> lcd yum.repos.d
smb: \> !ls
CentOS-Base.repo.bak   CentOS-Media.repo  epel.repo.bak      local.repo
CentOS-Debuginfo.repo  CentOS-Vault.repo  epel-testing.repo
smb: \> put local.repo 
NT_STATUS_ACCESS_DENIED opening remote file \local.repo

2、搭建一套文件vsftp文件共享服務,共享目錄為/ftproot,要求:(描述完整的過程)

  1)基于虛擬用戶的訪問形式;

  2)匿名用戶只允許下載,不允許上傳;

  3)禁錮所有的用戶于其家目錄當中;

  4)限制最大并發連接數為200:;

  5)匿名用戶的最大傳輸速率512KB/s

  6)虛擬用戶的賬號存儲在mysql數據庫當中。

  7)數據庫通過NFS進行共享。

1.安裝開發包
#yum -y groupinstall "Development Tools" "Server Platform Development"
2.安裝依賴包
#yum -y install pam-devel openssl-devel
3.編譯安裝pam_mysql
#./configure --with-mysql=/usr/local/mysql --with-openssl=/usr --with-pam=/usr --with-pam-mods-dir=/lib64/security
 #make && make install
4.創建本地用戶用于虛擬用戶的映射  
root@localhost ~]# useradd -s /sbin/nologin -d /ftproot vuser
[root@localhost ~]# chmod go+rx /ftproot
[root@localhost ~]# chmod -w /ftproot

5.編輯vsftpd配置文件:
[root@localhost ~]# vim /etc/vsftpd//vsftpd.conf   
anonymous_enable=YES //開啟匿名訪問
local_enable=YES      //啟用本地認證
write_enable=YES      //啟用寫入權限
anon_upload_enable=NO //禁用匿名用戶上傳
chroot_local_user=YES //鎖定用戶的目錄
max_clients=200       //最大并發數
anon_max_rate=512000   //限制匿名用戶傳輸速率
guest_enable=YES       //啟用來賓賬戶
guest_username=vuser   //來賓賬戶映射本地用戶
pam_service_name=vsftpd.mysql //pam文件
6.對mysql進行授權
root@localhost ~]# mysql   
MariaDB [(none)]> create database vsftpd;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> use vsftpd
Database changed
MariaDB [vsftpd]> create table users(
    -> id int auto_increment not null primary key,
    -> name char(30) not null,
    -> password char(48) binary not null );
Query OK, 0 rows affected (0.01 sec)
MariaDB [vsftpd]> insert into users (name,password) values ('test1',password('123456'));
Query OK, 1 row affected (0.00 sec)
MariaDB [vsftpd]> insert into users (name,password) values ('test2',password('123456'));
Query OK, 1 row affected (0.00 sec)
MariaDB [vsftpd]> grant select on vsftpd.* to vftpd@localhost identified by '123456';
Query OK, 0 rows affected (0.01 sec)
MariaDB [vsftpd]> grant select on vsftpd.* to vsftpd@'127.0.0.1' identified by '123456';
Query OK, 0 rows affected (0.00 sec)
MariaDB [vsftpd]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [vsftpd]> exit
Bye
7.編輯vsftpd.mysql
[root@localhost pam.d]vim /etc/pam.d/vsftpd.mysql
auth required pam_mysql.so user=vsftpd passwd=mageedu host=localhost db=vsftpd table=users 
usercolumn=name passwdcolumn=password crypt=2
account required pam_mysql.so user=vsftpd passwd=mageedu host=localhost db=vsftpd table=users 
usercolumn=name passwdcolumn=password crypt=2

8.測試
[root@localhost pam.d]# ftp 192.168.180.130
Connected to 192.168.180.130 (192.168.180.130).
220 (vsFTPd 2.2.2)
Name (192.168.180.130:root): test1
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> bye
221 Goodbye.
[root@localhost pam.d]# ftp 192.168.180.130
Connected to 192.168.180.130 (192.168.180.130).
220 (vsFTPd 2.2.2)
Name (192.168.180.130:root): test2
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
9.配置nfs
[root@localhost pam.d]# service nfs restart
Shutting down NFS daemon:                                  [  OK  ]
Shutting down NFS mountd:                                  [  OK  ]
Shutting down NFS quotas:                                  [  OK  ]
Shutting down RPC idmapd:                                  [  OK  ]
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                       [  OK  ]
Starting NFS mountd:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]
Starting RPC idmapd:                                       [  OK  ]
10.導出目錄
[root@localhost data]# cat /etc/exports 
/mydata/data 192.168.180.0/24(rw)
[root@localhost data]# mount -t nfs 192.168.180.130:/mydata/data /media

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

(0)
a295053193a295053193
上一篇 2017-01-09
下一篇 2017-01-09

相關推薦

  • grep的用法(CentOS7)及有關正則表達式的使用

    http://www.cnblogs.com/wzhuo/p/6659352.html

    Linux干貨 2017-04-08
  • 馬哥教育網絡班21期+第4周作業

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 [root@localhost ~]# cp -r /etc/skel /home/ && mv /home/skel&nbsp…

    Linux干貨 2016-08-02
  • bash變量詳解

       shell作為用戶和Unix/Linux溝通的橋梁,既可以是一個可執行的二進制程序,同時也是一個具備了編程能力的程序設計語言,定義了各種各樣的變量和參數,下面介紹一下shell之上的各種變量。 1、本地變量    特性:只對當前shell生效 [root@centos7 ~/bin]#cat …

    Linux干貨 2016-08-15
  • 馬哥教育網絡班22期+第三周課程練習

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 [xw@localhost ~]$ who | cut -d' ' -f1 | uniq xw root 2、取出最后登錄到當前系統的用戶的相關信息。 [xw…

    Linux干貨 2016-09-01
  • 腳本的進階與一些基本腳本

    1,腳本中用于表示數字大小寫和符號為: -gt(大于)-lt(小于)-ne(不等于)-eq(等于) 格式為 [[空格 ”符號”空格]] 2,測試文件類型的選項 -f(是否為普通文件)-l(是否為鏈接文件)-d(是否為目錄)-e(單獨測試文件是否存在) 3,if語句的格式:(其中path代表條件,elif鏈接多個條件,最后一個條件用else表示) if pat…

    Linux干貨 2017-05-22
  • Linux學習練習及作業&day07-正則表達式&文本處理工具

    第一部分、使用基本的文本處理工具(非grep)練習以下5題。 1、找出ifconfig命令結果中本機的所有IPv4地址     [root@localhost ~]# ifconfig |head -2 |tail -1     …

    Linux干貨 2016-08-08
欧美性久久久久