“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網絡的主機訪問;
1.下載samba
[root@localhost ~]# yum install samba –y
2.創建develop組以及用戶。
[root@localhost ~]# groupadd develop
[root@localhost ~]# useradd gentoo -G develop
[root@localhos/ft ~]# useradd centos -G develop
[root@localhost ~]# useradd ubuntu
[root@localhost ~]# for i in gentoo centos ubuntu ;do echo “$i” |passwd –stdin $i;done
更改用戶 gentoo 的密碼 。
passwd:所有的身份驗證令牌已經成功更新。
更改用戶 centos 的密碼 。
passwd:所有的身份驗證令牌已經成功更新。
更改用戶 ubuntu 的密碼 。
passwd:所有的身份驗證令牌已經成功更新
[root@localhost ~]# smbpasswd -a gentoo
New SMB password:
Retype new SMB password:
Added user gentoo.
3.創建samba用戶
[root@localhost ~]# smbpasswd -a centos
New SMB password:
Retype new SMB password:
Added user centos.
[root@localhost ~]# smbpasswd -a ubuntu
New SMB password:
Retype new SMB password:
Added user ubuntu.
4.創建共享目錄/data
[root@CentOS7 ~]# mkdir /data
[root@CentOS7 ~]# chgrp develop /data
[root@CentOS7 ~]# chmod g+w /data
5.按需修改配置文件(/etc/samba/smb.conf),開啟服務(需開啟smb和nmb服務)
[root@CentOS7 samba]# vim /etc/samba/smb.conf
[global]
workgroup = mageedu
[shared]
comment = test data
path = /data
read only = Yes
write list = @develop
hosts allow = 192.168.1.0/24
browseable = No
[root@CentOS7 ~]# systemctl start smb.service
[root@CentOS7 ~]# systemctl start nmb.service
6.用客戶端命令測試
[root@CentOS7 ~]# smbclient //192.168.1.108/shared -U centos
Enter centos’s password:
Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.4.4]
smb: \> lcd /etc
smb: \> put issue
putting file issue as \issue (0.5 kb/s) (average 0.5 kb/s)
2、搭建一套文件vsftp文件共享服務,共享目錄為/ftproot,要求:(描述完整的過程)
1)基于虛擬用戶的訪問形式;
2)匿名用戶只允許下載,不允許上傳;
3)禁錮所有的用戶于其家目錄當中;
4)限制最大并發連接數為200:;
5)匿名用戶的最大傳輸速率512KB/s
6)虛擬用戶的賬號存儲在mysql數據庫當中。
7)數據庫通過NFS進行共享。
前提關閉防火墻和seliunx(192.168.1.106)
1.開啟NFS服務,建立共享目錄并設定權限(下載nfs-utils),供客戶端共享。
[root@localhost /]# yum install nfs-utils –y
[root@localhost /]# mkdir /mydata
[root@localhost /]# vim /etc/exports # NFS配置文件
/mydata 192.168.1.0/24(rw,sync,no_root_squash)
[root@localhost mydata]# systemctl start nfs.service
[root@localhost mydata]# exportfs
/mydata 192.168.1.0/24
[root@localhost mydata]# showmount -e 192.168.1.109 #查看共享目錄
Export list for 192.168.1.109:
/mydata 192.168.1.0/24
2.安裝配置mariadb數據庫
(mariadb-server,mariadb-devel,openssl-devel, pam-devel)
[root@localhost /]# yum install mariadb-server mariadb-devel openssl-devel –y
修改數據庫配置(目錄為/mydata),建立vsftpd庫以及users表;
[root@CentOS7 textmysql]# chown -R mysql.mysql /mydata
[root@CentOS7 textmysql]# systemctl start mariadb.service
[root@CentOS7 /]# rm -fr /var/lib/mysql
[root@CentOS7 etc]# vim /etc/my.cnf #修改mariadb的配置文件
[mysqld]
datadir=/mydata
socket=/mydata/mysql.sock
[mysqladmin]
socket=/mydata/mysql.sock
[root@localhost /]# mysql_install_db –defaults-file=/etc/my.cnf –datadir=/mydata –user=mysql #初始化
[root@localhost /]# systemctl restart mariadb.service
[root@CentOS7/]# ln -s /textmysql/mysql.sock /var/lib/mysql/mysql.sock
[root@CentOS7 /]# mysqladmin -u root password ‘111111’
[root@CentOS7 /]# mysql -uroot -p111111 #創建數據庫
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 5.5.52-MariaDB MariaDB Server
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
MariaDB [(none)]> quit
Bye
[root@CentOS7 /]# mysql -uroot -p111111
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 5
Server version: 5.5.52-MariaDB MariaDB Server
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
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) NOT NULL );
Query OK, 0 rows affected (0.04 sec)
MariaDB [vsftpd]> desc users;
+———-+———-+——+—–+———+—————-+
| Field | Type | Null | Key | Default | Extra |
+———-+———-+——+—–+———+—————-+
| ID | int(11) | NO | PRI | NULL | auto_increment |
| name | char(30) | NO | | NULL | |
| password | char(48) | NO | | NULL | |
+———-+———-+——+—–+———+—————-+
3 rows in set (0.05 sec)
MariaDB [vsftpd]> INSERT INTO users(name,password) VALUES (‘tom’,password(‘mageedu’));
Query OK, 1 row affected (0.05 sec)
MariaDB [vsftpd]> INSERT INTO users(name,password) VALUES (‘jerry’,password(‘mageedu’));
Query OK, 1 row affected (0.01 sec)
MariaDB [vsftpd]> select * from users;
+—-+——-+——————————————-+
| ID | name | password |
+—-+——-+——————————————-+
| 1 | tom | *9A94EE7D14C10908118B62D2DA88E6932E11E438 |
| 2 | jerry | *9A94EE7D14C10908118B62D2DA88E6932E11E438 |
+—-+——-+——————————————-+
2 rows in set (0.02 sec)
Database changed
MariaDB [vsftpd]> grant select on vsftpd.* to vsftpd@localhost identified by ‘111111’;
Query OK, 0 rows affected (0.04 sec)
MariaDB [vsftpd]> grant select on vsftpd.* to vsftpd@127.0.0.1 identified by ‘111111’;
MariaDB [vsftpd]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [vsftpd]> quit
Bye
3.編譯安裝pam_mysql
[root@localhost /]# tar -xf pam_mysql-0.7RC1.tar.gz
[root@localhost /]# cd pam_mysql-0.7RC1
[root@localhost pam_mysql-0.7RC1]# ./configure –with-mysql=/usr –with-pam=/usr –with-pam-mods-dir=/usr/lib
[root@localhost pam_mysql-0.7RC1]# make && make install
4.虛擬用戶的賬號保存在mariadb中,新建pam配置文件(目錄/etc/pam.d下)
[root@CentOS7 /]# vim /etc/pam.d/vsftpd.mysql
auth required pam_mysql.so user=vsftpd passwd=111111 host=localho
st db=vsfftpd tables=users usercolumn=name passwdcolumn=password
crpyt=2
account required pam_mysql.so user=vsftpd passwd=111111 host=localhost db=vsfftpd tables=users usercolumn=name passwdcolumn=password crpyt=2
5.安裝vsftpd,修改配置
[root@CentOS7 /]# yum install vsftpd -y
[root@CentOS7 /]# systemctl start vsftpd.service
修改配置(/etc/vsftpd/vsftpd.conf文件)
[root@CentOS7 /]# vim /etc/vsftpd/vsftpd.conf
guest_enable=YES
guest_username=vuser
anon_max_rate=512000
anon_world_readable_only=YES
max_clients=200
anon_other_write_enable=YES
chroot_local_user=YES
write_enable=YES
anon_root=/ftproot/pub
pam_service_name=vsftpd.mysql
創建共享目錄/ftproot,以及虛擬用戶身份vuser
[root@CentOS7 /]# useradd -s /sbin/nologin -d /ftproot/
[root@CentOS7 /]# chmod 755 /ftproot/
[root@CentOS7 /]# ls /ftproot/ -ld
drwxr-xr-x. 5 vuser vuser 97 8月 11 11:11 /ftproot/
[root@CentOS7 /]# chmod -w /ftproot/
[root@CentOS7 /]# mkdir -p /ftproot/{put,upload}
重啟服務
[root@CentOS7 /]# systemctl restart vsftpd.service
測試(客戶端192.168.1.109)
[root@localhost /]# ftp 192.168.1.106
Connected to 192.168.1.106 (192.168.1.106).
220 (vsFTPd 3.0.2)
Name (192.168.1.106:root): tom
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 (192,168,1,106,40,200).
150 Here comes the directory listing.
drwxr-xr-x 2 0 0 18 Aug 11 03:47 pub
drwxr-xr-x 2 0 0 6 Aug 11 09:35 put
drwxr-xr-x 2 0 0 6 Aug 11 09:35 upload
226 Directory send OK.
ftp> cd /pub
250 Directory successfully changed.
ftp> ls
227 Entering Passive Mode (192,168,1,106,165,9).
150 Here comes the directory listing.
-rw-r–r– 1 0 0 689 Aug 11 03:47 fstab
226 Directory send OK.
ftp> get fstab
local: fstab remote: fstab #測試下載
227 Entering Passive Mode (192,168,1,106,66,241).
150 Opening BINARY mode data connection for fstab (689 bytes).
226 Transfer complete.
689 bytes received in 0.0385 secs (17.91 Kbytes/sec) #成功下載
ftp> put issue # 測試上傳
local: issue remote: issue
227 Entering Passive Mode (192,168,1,106,89,148).
553 Could not create file. #不能上傳文件
ftp>
原創文章,作者:ning407631632,如若轉載,請注明出處:http://www.www58058.com/84606