馬哥教育網絡21期+第十三周練習博客

    馬哥教育網絡21期+第十三周練習博客

1、建立samba共享,共享目錄為/data,要求:(描述完整的過程)
1)共享名為shared,工作組為magedu;
在服務器上安裝samba
]# yum install samba
創建共享目錄/data
啟動samba的nmb和smb的服務
]# service nmb start; service smb start
這里我使用了單獨的磁盤分區進行samba的文件存儲
將區分好的磁盤空間掛載至data這個目錄下


2)添加組develop,添加用戶gentoo,centos和ubuntu,其中gentoo和centos以develop為附加組,ubuntu不屬于develop組;密碼均為用戶名;
增加用戶
useradd -s /sbin/nologin -G develop gentoo
echo "gentoo" | passwd --stdin gentoo
useradd -s /sbin/nologin -G develop centos
echo "centos" | passwd --stdin centos
useradd -s /sbin/nologin  ubuntu
echo "ubuntu" | passwd --stdin ubuntu

創建develop組編輯/etc/group配置文件將gentoo和centos加入到develop組組中
[root@ns2 samba]# id gentoo
uid=501(gentoo) gid=501(gentoo) groups=501(gentoo),504(develop)
[root@ns2 samba]# id centos
uid=502(centos) gid=502(centos) groups=502(centos),504(develop)

3)添加samba用戶gentoo,centos和ubuntu,密碼均為“mageedu”;
[root@ns2 samba]# smbpasswd -a gentoo
New SMB password:
Retype new SMB password:
Added user gentoo.
[root@ns2 samba]# smbpasswd -a centos
New SMB password:
Retype new SMB password:
Added user centos.
[root@ns2 samba]# smbpasswd -a ubuntu
New SMB password:
Retype new SMB password:
Added user ubuntu.
這里先進行測試查看在另外一臺服務器上是否可以使用以上的三個用戶進行訪問
[root@localhost ~]# smbclient -L 172.16.0.122 -U centos
Enter centos's password: 
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.23-36.el6_8]

    Sharename       Type      Comment
    ---------       ----      -------
    IPC$            IPC       IPC Service (Samba Server Version 3.6.23-36.el6_8)
    centos          Disk      Home Directories
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.23-36.el6_8]

    Server               Comment
    ---------            -------
    NS2                  Samba Server Version 3.6.23-36.el6_8
    WIN-21CF1KE3RK9      ADMIN

    Workgroup            Master
    ---------            -------
    WORKGROUP            WIN-21CF1KE3RK9


4)此samba共享shared僅允許develop組具有寫權限,其他用戶只能以只讀方式訪問;
編寫/etc/smb.conf配置文件
[shared]
commnet = WHK work
path = /data
valid users = gentoo,centos,ubuntu,@develop
read list = ubuntu
write list = @develop
writable = yes
printable = no
這里嘗試登錄
[root@localhost ~]# smbclient //172.16.0.122/data -U centos
Enter centos's password: 
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.23-36.el6_8]
tree connect failed: NT_STATUS_BAD_NETWORK_NAME
[root@localhost ~]# smbclient //172.16.0.122/shared -U centos
Enter centos's password: 
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.23-36.el6_8]
smb: \> 
smb: \> 
smb: \> ls
  .                                   D        0  Sat Sep 24 19:56:02 2016
  ..                                 DR        0  Sat Sep 24 19:22:08 2016
  lost+found                          D        0  Sat Sep 24 19:56:02 2016

    40330 blocks of size 524288. 37938 blocks available
這里出現了一個問題在使用develop組中的用戶想寫入文件發現沒有權限,這里需要提醒此服務當中使用的交集模式,默認使用權限最小的方式進行修改文件問屬性
[root@localhost ~]# smbclient //172.16.0.122/shared -U centos
Enter centos's password: 
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.23-36.el6_8]
smb: \> 
smb: \> 
smb: \> 
smb: \> 
smb: \> mkdir wanghongkai
smb: \> 
smb: \> 
smb: \> ls
  .                                   D        0  Sat Sep 24 20:41:55 2016
  ..                                 DR        0  Sat Sep 24 19:22:07 2016
  lost+found                          D        0  Sat Sep 24 19:56:02 2016
  wanghongkai                         D        0  Sat Sep 24 20:41:55 2016

        40330 blocks of size 524288. 37938 blocks available



5)此samba共享服務僅允許來自于172.16.0.0/16網絡的主機訪問; 
這里samba的共享服務僅允許來自于特定的網段進行主機訪問,那么就需要在全局配置中進行定義[glob]
workgroup = WORKGROUP
server string = Samba Server Version %v
netbios name = MYSERVER
;  interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24 
hosts allow = 172.16.0.0/16


2、搭建一套文件vsftp文件共享服務,共享目錄為/ftproot,要求:(描述完整的過程)
安裝所需要的軟件
]# yum -y install  mysql-server mysql-devel pam_mysql

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

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

3)禁錮所有的用戶于其家目錄當中;
chroot_local_user=YES
4)限制最大并發連接數為200:;
5)匿名用戶的最大傳輸速率512KB/s
6)虛擬用戶的賬號存儲在mysql數據庫當中。
7)數據庫通過NFS進行共享。
在服務器上啟動nfs服務
]# service nfs start
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                       [  OK  ]
Starting NFS mountd:                                       [  OK  ]
Stopping RPC idmapd:                                       [  OK  ]
Starting RPC idmapd:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]

為共享數據庫的提供特定的文件路徑
在/etc/exports上共享nfs服務器端共享的文件系統
]# cat /etc/exports 
/mydata/data    172.16.0.136(rw)
將NFS的文件系統掛載至mnt目錄上
]# mount -t nfs 172.16.0.136:/mydata/data/ /mnt
修改數據庫的配置文件
[mysqld]
datadir=/mydata/data
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

編寫vsftp的數據用戶列表
mysql> CREATE DATABASE vsftpd;-->創建數據庫
mysql>  grant select on vsftpd.* to vsftpd@'172.16.%.%' identified by 'www.magedu.com';-->允許172.16段的所有地址訪問數據庫
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> insert into users(name,password) values('magedu1',password('magedu'));
Query OK, 1 row affected (0.00 sec)

mysql> insert into users(name,password) values('magedu2',password('magedu'));
Query OK, 1 row affected (0.00 sec)

mysql> insert into users(name,password) values('wostop',password('password01!'));
Query OK, 1 row affected (0.00 sec)

建立pam認證所需要的文件
]# cat /etc/pam.d/vsftpd.mysql
auth required /lib/security/pam_mysql.so user=vsftpd passwd=www.magedu.com host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2
account required /lib/security/pam_mysql.so user=vsftpd passwd=www.magedu.com host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2
為虛擬用戶建立系統用戶
]# useradd -s /sbin/nologin -d /ftproot/ vuser
并修改權限
]#chmod go+rx /var/ftproot
編寫/etc/vsftpd/vsftpd.conf
加入如下:
guest_enable=YES
guest_username=vuser
pam_service_name=vsftpd.mysql-->啟用mysql認證
max_clients=200
anon_max_rate=512
使用其他服務器進行測試:
[root@ns1 htdocs]]# ftp 172.16.0.122
Connected to 172.16.0.122 (172.16.0.122).
220 (vsFTPd 2.2.2)
Name (172.16.0.122:root): magedu1
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls 
227 Entering Passive Mode (172,16,0,122,114,1).
150 Here comes the directory listing.
drwx------    2 500      500          4096 Sep 16 15:45 cd
226 Directory send OK.
ftp> mkdir wanghongkai 
257 "/wanghongkai" created
ftp> exit
221 Goodbye.

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

(0)
wostopwostop
上一篇 2016-10-31
下一篇 2016-10-31

相關推薦

  • httpd2.2基礎安裝

    編譯安裝前,首先要確認開發包組已經裝上。 開發包組: Developments tools server platform development(centos 7) 并且將apr 與 apr-unil 裝上。這是httpd 可移植運行所必須用到的組件.這里舉例說明的是httpd2.2版本。 若是安裝httpd2.4以上版本的話,還要安裝pcre庫。pcre…

    2017-04-24
  • select應用詳解及rpm、yum使用說明

    一.select相關用法解析 1.select variable in list;do   變量不用加$,和for極為相似         循環體     done 2.    (1)sel…

    Linux干貨 2016-08-29
  • 課后習題3–正則表達式

    1、查出分區空間使用率的最大百分比值 [root@centos7 ~]# df | grep "^/dev" | grep -v "cdrom$" | tr ' '&nb…

    Linux干貨 2016-08-07
  • rpm包管理

    rpm包管理 rpm(RedHat Package Manager) 是RedHat公司發展的一種將軟件安裝到Linux系統的管理機制,也是一種數據庫記錄方法。 Linux系統上軟件的安裝主要分兩種方式,從廠商發布的tarball通過編譯來安裝;或者使用廠商已經在相應平臺上編譯好的二進制文件。 從源碼編譯安裝的程序,在漏洞修補以及軟件功能升級時太過麻煩,并且…

    Linux干貨 2016-11-18
  • N26第五周博客作業

    1、顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行;grep “^[[:space:]]+” /boot/grub/grub.conf 2、顯示/etc/rc.d/rc.sysinit文件中以#開頭,后面跟至少一個空白字符,而后又有至少一個非空白字符的行;grep “^#[[:space:…

    Linux干貨 2017-03-06
  • 第二周作業

    作業

    Linux干貨 2018-03-20

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-11-10 20:34

    贊,版風獨特~~總結的也不錯,加油~

欧美性久久久久