(1)搭建php-fpm工作方式的LAMP環(huán)境,實(shí)現(xiàn)wordpress正常訪問
step1.安裝環(huán)境:
[root@CentOS7 ~]#cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
[root@CentOS7 ~]#uname -r
3.10.0-862.el7.x86_64
step2.安裝mariadb構(gòu)建數(shù)據(jù)庫服務(wù)
[root@CentOS7 ~]#yum install mariadb-server -y ##安裝數(shù)據(jù)庫服務(wù)
[root@CentOS7 ~]#vim /etc/my.cnf.d/server.cnf ##編輯服務(wù)端數(shù)據(jù)庫主文件
添加對(duì)應(yīng)參數(shù)
[mysqld]
skip_name_resolve=ON
innodb_file_per_table=ON
[root@CentOS7 ~]#systemctl start mariadb.service
[root@CentOS7 ~]#ss -tnl
[root@CentOS7 ~]#systemctl enable mariadb.service ##啟動(dòng)mariadb服務(wù)并添加開機(jī)啟動(dòng)項(xiàng)
Step3.安裝php-fpm
[root@CentOS7 ~]#yum install php-fpm php-mysql php-mbstring -y ##安裝php-fpm的對(duì)應(yīng)組件
[root@CentOS7 ~]#ss -tnl
[root@CentOS7 ~]#vim /etc/php-fpm.d/www.conf ##配置對(duì)應(yīng)的主文件
[root@CentOS7 ~]#mkdir /var/lib/php/session -pv
[root@CentOS7 ~]#chown apache.apache /var/lib/php/session ##創(chuàng)建文件夾并讓apache成為屬主和屬組
[root@CentOS7 html]#systemctl start php-fpm.service
[root@CentOS7 html]#systemctl enable php-fpm.service ##啟動(dòng)php-fpm服務(wù)并添加開機(jī)啟動(dòng)項(xiàng)
Step4.安裝Apache服務(wù)
[root@CentOS7 ~]#yum install httpd -y
[root@CentOS7 ~]#httpd -M ##查看是否具有fcgi模塊
[root@CentOS7 ~]#systemctl start httpd.service
[root@CentOS7 ~]#ss -tnl
[root@CentOS7 ~]#systemctl enable httpd.service ##啟動(dòng)httpd服務(wù)并添加開機(jī)啟動(dòng)項(xiàng)
[root@CentOS7 ~]#cd /etc/httpd/conf.d/
[root@CentOS7 conf.d]#vim vhosts.conf ##進(jìn)入httpd主文件目錄,創(chuàng)建虛擬主機(jī)文件并編輯如下參數(shù)
<VirtualHost *:80>
DocumentRoot "/data/www/html"
ServerName "www.ilinux.io"
<Directory "/data/www/html">
Options None
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
[root@CentOS7 conf.d]#mkdir /data/www/html -pv ##創(chuàng)建默認(rèn)網(wǎng)頁數(shù)據(jù)路徑目錄
[root@CentOS7 conf.d]#cd /data/www/html/
[root@CentOS7 html]#vim index.html ##編輯index的html網(wǎng)頁測(cè)試httpd服務(wù)是否生效
[root@CentOS7 html]#httpd -t
[root@CentOS7 html]#systemctl restart httpd.service
[root@CentOS7 conf.d]#vim vhosts.conf ##再次編輯虛擬主機(jī)文件,添加如下參數(shù)
DirectoryIndex index.php
<VirtualHost *:80>
DocumentRoot "/data/www/html"
ServerName "www.ilinux.io"
ProxyRequests off
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/data/www/html/$1
ProxyPassMatch ^/(ping|pmstatus)$ fcgi://127.0.0.1:9000/$1
<Directory "/data/www/html">
Options FollowSymLinks
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
[root@CentOS7 html]#vim index.php ##編輯index的php文件,查看php頁面是否能正常解析
[root@CentOS7 conf.d]#httpd -t
[root@CentOS7 conf.d]#systemctl restart httpd.service
Step5.下載wordpress程序包
[root@CentOS7 html]#tar xf wordpress-4.9.4-zh_CN.tar.gz
[root@CentOS7 html]#ln -sv wordpress blog ##軟鏈接到blog目錄
[root@CentOS7 blog]#cp wp-config-sample.php wp-config.php ##復(fù)制主配置文件
##登錄數(shù)據(jù)庫創(chuàng)建對(duì)應(yīng)的wordpress數(shù)據(jù)
MariaDB [(none)]> CREATE DATABASE wordpress; ##創(chuàng)建數(shù)據(jù)庫wordpress
MariaDB [(none)]> GRANT ALL ON wordpress.* TO "wpuser"@"192.168.%.%" IDENTIFIED BY "password"; ## 授權(quán)wpuser對(duì)wordpress數(shù)據(jù)庫具有所有權(quán)限并分配密碼
MariaDB [(none)]> FLUSH PRIVILEGES; ##刷新數(shù)據(jù)庫
[root@CentOS7 blog]#vim wp-config.php ##編輯wordpress主配置文件并填入如下對(duì)應(yīng)的參數(shù)
image.png
image.png
image.png
image.png
(2).什么是DML?常用SQL舉例扳抽,每個(gè)命令至少1個(gè)例子秸侣,最多不超過3個(gè)例子.
DML:數(shù)據(jù)操縱語言摊册,主要用于管理表中的數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)的增抗斤、刪禽篱、改畜伐、查.
對(duì)應(yīng)的操作為INSERT、DELETE谆级、UPDATE、SELECT
命令相關(guān):
(一)讼积、INSERT INTO
- 具體格式:
INSERT [INTO] tbl_name [(col1,...)] {VALUES|VALUE} (val1,...),(...),...
- 常用示例:
CREATE TABLE test1(id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, name CHAR(30),age INT)
INSERT INTO test1(id,name,age) VALUES (1,"tom","18")
(二)肥照、SELECT
- 具體格式:
(1) SELECT col1,col2,...FROM tbl_name
(2) SELECTT col1,... FROM tbl_name WHERE clause
(3) SELECT col1,... FROM tbl_name [WHERE clause] ORDER BY col_name, col_name2,...[ASC|DESC]
- 常用示例:
SELECT * FROM test1
SELECT Host,User,Password From mysql.user
SELECT age FROM test1 WHERE age>16
SELECT * FROM test1 WHERE age>16 and id>=5
SELECT * FROM test1 WHERE age!=20
SELECT avg(age) FROM test1 WHERE age>=18 ORDER BY age
SELECT max(age) FROM test1 ORDER BY age
SELECT sum(age) FROM test1 ORDER BY age
(三)、DELETE
- 具體格式:
(1) DELETE FROM tbl_name WHERE where_condition
(2) DELETE FROM tbl_name [ORDER BY...] [LIMIT row_count]
- 常用示例:
DELETE * FROM test1
DELETE FROM test1 WHERE age>30
DELETE FROM test1 WHERE age>16 limit 2
(四)勤众、UPDATE
- 具體格式:
UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET col_name1=value1 [,col_name2=value2]...[WHERE where condition] [ORDER BY...] [LIMIT row_count]
- 常用示例:
UPDATE test1 SET age=40
UPDATE test1 SET age=35 WHERE id>=5
UPDATE test1 SET age=22 WHERE id>=3 LIMIT 3
(3)舆绎、簡述ftp的主動(dòng)和被動(dòng)模式,并實(shí)現(xiàn)基于pam認(rèn)證的vsftpd.
- 主動(dòng)模式: FTP服務(wù)器主動(dòng)向客戶端發(fā)起連接請(qǐng)求
- 被動(dòng)模式: FTP服務(wù)器等待客戶端發(fā)起連接請(qǐng)求(FTP的默認(rèn)工作模式)
i.路徑映射:
- 用戶家目錄: 每個(gè)用戶的URL的/映射到當(dāng)前用戶的家目錄;
vsftpd以ftp用戶的身份運(yùn)行進(jìn)程,默認(rèn)用戶即為ftp用戶,匿名用戶的默認(rèn)路徑即ftp用戶的家目錄: /var/ftp
ftp,anonymous
注意: 一個(gè)用戶通過文件共享服務(wù)訪問文件系統(tǒng)上的文件的生效權(quán)限為此二者的交集
ii.程序環(huán)境:
主程序: /usr/sbin/vsftpd
主配置文件: /etc/vsftpd/vsftpd.conf
數(shù)據(jù)庫目錄: /var/ftp
Systemd Unit File: /usr/lib/systemd/system/vsftpd.service
iii.配置vsftpd:
用戶類別:
匿名用戶: anonymous--> ftp, /var/ftp
系統(tǒng)用戶: 至少禁止系統(tǒng)用戶訪問ftp服務(wù), /etc/vsftpd/ftpusers, PAM(/etc/pam.d/vsftpd);
虛擬用戶: 非系統(tǒng)用戶,用戶賬號(hào)非可登錄操作系統(tǒng)的用戶賬號(hào)(非/etc/passwd);
配置文件: /etc/vsftpd/vsftpd.conf
directive value
注意: directive之前不能有多余字符
-
匿名用戶:
anonymous_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_umask=077
-
系統(tǒng)用戶:
local_enable=YES
write_enable=YES
local_umask=022
輔助配置文件:
/etc/vsftpd/ftpusers ###列在此文件中的用戶均禁止使用ftp服務(wù)
chroot_local_user=YES ###禁錮所有本地用戶于其家目錄;需要事先去除用戶對(duì)家目錄的寫權(quán)限;
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list ###禁錮列表中文件存在的用戶于其家目錄中;需要事先去除用戶對(duì)家目錄的寫權(quán)限;
傳輸日志:
xferlog_enable=YES
xferlog_file=/var/log/xferlog
xferlog_std_format=YES
守護(hù)進(jìn)程的類型:
standalone: 獨(dú)立守護(hù)進(jìn)程;由服務(wù)進(jìn)程自行監(jiān)聽套接字,并接收用戶訪問請(qǐng)求;
translent: 瞬時(shí)守護(hù)進(jìn)程;由受托管方代為監(jiān)聽套接字,服務(wù)進(jìn)程沒有訪問請(qǐng)求時(shí)不啟動(dòng);當(dāng)托管方收到訪問請(qǐng)求時(shí),才啟動(dòng)服務(wù)進(jìn)程;
CentOS 6: xinetd獨(dú)立守護(hù)進(jìn)程,/etc/xinetd.d
CentOS 7: 由systemd代為監(jiān)聽
控制可登錄vsftpd服務(wù)的用戶列表:
userlist_enable=YES ###啟用/etc/vsftpd/user_list文件來控制可登錄用戶;
userlist_deny=
YES: 意味著此為黑名單;(默認(rèn))
NO: 意味著此為白名單;
上傳下載速率限制:
anon_max_rate=0
local_max_rate=0
并發(fā)連接數(shù)限制:
max_clients=2000
max_per_ip=50
iiii.配置pam認(rèn)證的vsftpd
配置環(huán)境:
實(shí)現(xiàn)目的:(客戶端遠(yuǎn)程連接ftp服務(wù)器,然后通過pam進(jìn)過mariadb認(rèn)證返回驗(yàn)證信息進(jìn)行連接)
client: 192.168.30.106
ftp-server: 192.168.30.107
mariadb-server: 192.168.30.105
-
step1.登錄mariadb添加針對(duì)vsftpd的數(shù)據(jù)庫相關(guān)信息,并增加對(duì)應(yīng)的用戶
[root@CentOS7_Server ~]#mysql -u root -p901010ztt -hlocalhost ###root用戶登錄mariadb
數(shù)據(jù)庫操作
MariaDB [(none)]> SHOW DATABASES
MariaDB [(none)]> CREATE DATABASE vsftpd ###新建數(shù)據(jù)庫vsftpd
MariaDB [(none)]> use vsftpd
MariaDB [vsftpd]> CREATE TABLE users (id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(60) NOT NULL, password CHAR(60) NOT NULL); ###新建users的表
MariaDB [vsftpd]> GRANT ALL ON vsftpd.* TO vsftpd@'192.168.%.%' IDENTIFIED BY 'vsftpd' ###創(chuàng)建登錄mariadb的vsftpd賬號(hào)
###嘗試使用vsftpd在mariadb服務(wù)器登錄,檢查賬戶有沒有問題
[root@CentOS7_Server ~]#mysql -u vsftpd -pvsftpd -h192.168.30.105
-
step2.在ftp服務(wù)器上配置編譯環(huán)境并安裝vsftpd及對(duì)應(yīng)的pam認(rèn)證程序
[root@ftp-server ~]#yum install vsftpd ftp -y
[root@ftp-server ~]#systemctl start vsftpd.service
[root@ftp-server ~]#ss -tnl
[root@ftp-server ~]#systemctl enable vsftpd.service
[root@ftp-server ~]#yum groupinstall "Development Tools" "Server PlatformDevelopment" -y
[root@ftp-server ~]#yum install pam-devel mariadb-devel -y
編譯安裝pam
[root@ftp-server ~]#tar xf pam_mysql-0.7RC1.tar.gz
[root@ftp-server ~]#cd pam_mysql-0.7RC1/
[root@ftp-server pam_mysql-0.7RC1]#./configure --help
[root@ftp-server pam_mysql-0.7RC1]#./configure --with-mysql=/usr --with-pam=/usr --with-pam-mods-dir=/usr/lib64/security
[root@ftp-server pam_mysql-0.7RC1]#make && make install
[root@ftp-server pam_mysql-0.7RC1]#ls /usr/lib64/security/ |grep mysql
pam_mysql.la
pam_mysql.so
[root@ftp-server pam_mysql-0.7RC1]#vim /etc/pam.d/vsftpd.vusers
auth required /usr/lib64/security/pam_mysql.so user=vsftpd passwd=vsftpd host=192.168.30.105 db=vsftpd table=users us
ercolumn=name passwdcolumn=password crypt=2
account required /usr/lib64/security/pam_mysql.so user=vsftpd passwd=vsftpd host=192.168.30.105 db=vsftpd table=users
usercolumn=name passwdcolumn=password crypt=2
[root@ftp-server pam_mysql-0.7RC1]#systemctl restart vsftpd.service
[root@ftp-server pam_mysql-0.7RC1]#ss -tnl
-
step3.創(chuàng)建家目錄文件并修改對(duì)應(yīng)權(quán)限
[root@ftp-server ~]#mkdir /ftproot
[root@ftp-server ~]#useradd -d /ftproot/vuser vuser
[root@ftp-server ~]#cat /etc/passwd|tail -1
vuser:x:1001:1001::/ftproot/vuser:/bin/bash
[root@ftp-server ~]#chmod a-w /ftproot/vuser
[root@ftp-server ~]#ls -ld /ftproot/vuser
dr-x------ 3 vuser vuser 78 Nov 9 10:52 /ftproot/vuser
[root@ftp-server ~]#mkdir /ftproot/vuser/pub
-
step4.編輯vsftpd主文件參數(shù)
[root@ftp-server ~]#cd /etc/vsftpd/
[root@ftp-server vsftpd]#cp vsftpd.conf vsftpd.conf.bak
[root@ftp-server vsftpd]#vim vsftpd.conf
pam_service_name=vsftpd.vusers
guest_enable=YES
guest_username=vuser
[root@ftp-server vsftpd]#systemctl restart vsftpd.service
-
step5.客戶端client登錄分別測(cè)試是否成功
image.png
-
step6.分別設(shè)置遠(yuǎn)程登錄權(quán)限,要求''tom''可執(zhí)行,"jerry"可執(zhí)行且可創(chuàng)建文件
[root@ftp-server vsftpd]#vim /etc/vsftpd/vsftpd.conf
pam_service_name=vsftpd.vusers
guest_enable=YES
guest_username=vuser
userlist_enable=YES
tcp_wrappers=YES
user_config_dir=/etc/vsftpd/vusers_config/ ###添加針對(duì)不同用戶的配置路徑
###配置"tom"的權(quán)限
[root@ftp-server vsftpd]#mkdir /etc/vsftpd/vusers_config/
[root@ftp-server vsftpd]#vim /etc/vsftpd/vusers_config/tom
anon_upload_enable=YES
###配置"jerry"的權(quán)限
[root@ftp-server vsftpd]#cd /etc/vsftpd/vusers_config/
[root@ftp-server vusers_config]#cp tom jerry
[root@ftp-server vusers_config]#vim jerry
anon_upload_enable=YES
anon_mkdir_write_enable=YES
###創(chuàng)建共享目錄并修改為vuser的權(quán)限
[root@ftp-server vusers_config]#mkdir /ftproot/vuser/upload
[root@ftp-server vusers_config]#chown vuser.vuser /ftproot/vuser/upload
[root@ftp-server vusers_config]#ls -ld /ftproot/vuser/upload
drwxr-xr-x 2 vuser vuser 6 Nov 9 11:11 /ftproot/vuser/upload
[root@ftp-server vusers_config]#systemctl restart vsftpd.service
-
step7.客戶端client登錄分別測(cè)試"tom"和"jerry"的權(quán)限
image.png
image.png
(4)们颜、簡述NFS服務(wù)原理及配置
什么是NFS?
NFS(網(wǎng)絡(luò)文件系統(tǒng))服務(wù)可以將遠(yuǎn)程Linux系統(tǒng)上的文件共享資源掛載到本地主機(jī)的對(duì)應(yīng)目錄上,從而使得本地主機(jī)(Linux客戶端)基于TCP/IP協(xié)議,像使用本地主機(jī)上的資源那樣讀寫遠(yuǎn)程Linux系統(tǒng)上的共享資源
NFS的版本
- NFSv1
- NFSv2,NFSv3,NFSv4,NFS4.1
- nfsd: 2049/tcp
NFS系統(tǒng)原理介紹
image.png
- 第一步: 在NFS服務(wù)器端設(shè)置好一個(gè)共享目錄/test后,其他有權(quán)限訪問NFS服務(wù)器端的客戶端都可以將這個(gè)共享目錄/test掛載到客戶端本地的某個(gè)掛載點(diǎn).
- 第二步: 在NFS其中一個(gè)客戶端A創(chuàng)建目錄/mnt,把服務(wù)器端的共享目錄掛載到/mnt下,如此A客戶端即可以通過TCP/IP網(wǎng)絡(luò)協(xié)議的方式來訪問NFS服務(wù)端共享/test目錄里的資源.
- 第三步: NFS另一個(gè)客戶端B創(chuàng)建/tmp目錄,然后同樣方式進(jìn)行對(duì)服務(wù)器端共享目錄/test的掛載,這樣B客戶端也可以同樣訪問共享/test里的資源
- 第四步: 反之,只要在NFS服務(wù)端對(duì)共享目錄做一定的權(quán)限管理,即可以讓掛載的不同客戶端擁有不一樣的操作權(quán)限.
NFS的工作流程原理
image.png
NFS配置文件的參數(shù)
參數(shù) | 作用 |
---|---|
ro | 只讀 |
rw | 讀寫 |
root_squash | 當(dāng)NFS客戶端以root管理員訪問時(shí),映射為NFS服務(wù)器的匿名用戶(nfsnobody) |
no_root_squash | 當(dāng)NFS客戶端以root管理員訪問時(shí),映射為NFS服務(wù)器的root管理員 |
all_squash | 無論NFS客戶端使用什么賬戶來訪問,均映射為NFS服務(wù)器的匿名用戶(nfsnobody) |
sync | 同時(shí)將數(shù)據(jù)寫入到內(nèi)存與硬盤中去(性能損失,數(shù)據(jù)不丟失) |
async | 異步存儲(chǔ),優(yōu)先將數(shù)據(jù)保存到內(nèi)存中去,然后再寫入磁盤(性能有保證,斷電會(huì)導(dǎo)致數(shù)據(jù)丟失) |
NFS的搭建和配置
-
step1.搭建環(huán)境
主機(jī)名稱 | 操作系統(tǒng) | IP地址 |
---|---|---|
NFS服務(wù)器 | CentOS 7 | 192.168.30.108 |
NFS客戶端 | CentOS 7 | 192.168.30.106 |
-
step2.搭建NFS服務(wù)器
[root@ftp-server ~]#yum install rpcbind nfs-utils -y
[root@ftp-server ~]#mkdir /data/share -pv ###創(chuàng)建共享目錄
[root@ftp-server ~]#vim /etc/exports ###編輯exports文件
/data/share 192.168.30.106(rw) 192.168.30.0/24(ro)
[root@ftp-server ~]#systemctl start rpcbind.service
[root@ftp-server ~]#systemctl start nfs.service
[root@ftp-server ~]#ss -tnl
[root@ftp-server ~]#systemctl enable nfs.service
注意: 如果exports文件做了修改,可以采用exportfs -rav平滑情動(dòng),請(qǐng)勿重啟nfs服務(wù)!
-
step3.搭建NFS客戶端
[root@CentOS7 ~]#yum install rpcbind -y
[root@CentOS7 ~]#showmount -e 192.168.30.108
Export list for 192.168.30.108:
/data/share 192.168.30.0/24
[root@CentOS7 ~]#mkdir /share
[root@CentOS7 ~]#mount 192.168.30.108:/data/share /share ###掛載測(cè)試
[root@CentOS7 ~]#mount
192.168.30.108:/data/share on /share type nfs4 (rw,relatime,vers=4.1,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.30.104,local_lock=none,addr=192.168.30.108)
-
step4.加入開機(jī)啟動(dòng)項(xiàng)
[root@ftp-server ~]#vim /etc/fstab\
image.png
(5)吕朵、簡述samba服務(wù)猎醇,并實(shí)現(xiàn)samba配置
Step1.什么是samba服務(wù)?
samba是在Linux和Unix系統(tǒng)上實(shí)現(xiàn)SMB協(xié)議的一個(gè)免費(fèi)軟件,由服務(wù)器及客戶端程序構(gòu)成努溃。SMB協(xié)議是一種在局域網(wǎng)上共享文件和打印機(jī)的通信協(xié)議硫嘶,它為局域網(wǎng)內(nèi)不同的計(jì)算機(jī)之間提供文件及打印機(jī)等服務(wù)。Samba服務(wù)監(jiān)聽著137/udp,138/udp以及139/tcp,445/tcp端口梧税,通過結(jié)合NetBIOS廣播協(xié)議及SMB協(xié)議沦疾,使得samba服務(wù)能夠?qū)崿F(xiàn)局域網(wǎng)內(nèi)的windowns、Linux主機(jī)的文件共享第队。
Step2. samba的程序環(huán)境:
- 服務(wù)端程序包: samba
- 主配置文件: /etc/samba/smb.conf, 由samba-common包提供
- 主程序:
- nmbd: NetBIOS name server
- smbd: SMB/CIFS services
- Unit Files:
- smb.service
- nmb.service
- 監(jiān)聽的端口:
- 137/udp, 138/udp
- 139/tcp, 445/tcp
Step3.samba服務(wù)器的搭建
主機(jī)名稱 | 操作系統(tǒng) | IP地址 |
---|---|---|
samba服務(wù)器 | CentOS 7 | 192.168.30.104 |
samba客戶端 | CentOS 7 | 192.168.30.103 |
-
安裝samba服務(wù)端
[root@Server ~]#yum install samba samba-common -y ###安裝服務(wù)端
[root@Server ~]#cd /etc/samba ###進(jìn)入主配置文件
[root@Server samba]#cp smb.conf{,.bak} ###備份配置文件
[root@Server samba]#vim smb.conf ###首次編輯主配置文件內(nèi)容(暫時(shí)按默認(rèn))
[homes]
comment = Home Directories
valid users = %S, %D%w%S
browseable = No
read only = No
inherit acls = Yes
[root@Server samba]#systemctl start nmb.service ###需要和win交互,所以也nmb要開啟
[root@Server samba]#systemctl start smb.service
[root@Server samba]#ss -tunl
[root@Server samba]#systemctl enable nmb.service
[root@Server samba]#systemctl enable smb.service
[root@Server samba]#useradd smbuser1 ###創(chuàng)建linux系統(tǒng)用戶smbuser1和smbuser2
[root@Server samba]#useradd smbuser2
[root@Server samba]#smbpasswd -a smbuser1 ###創(chuàng)建samba服務(wù)對(duì)應(yīng)的賬號(hào)和密碼
[root@Server samba]#smbpasswd -a smbuser2
-
測(cè)試samba服務(wù)是否生效
登錄client主機(jī)查看
[root@CentOS7_Client1 ~]#smbclient -L 192.168.30.104 -U smbuser1
Enter SAMBA\smbuser1's password:
Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
IPC$ IPC IPC Service (Samba 4.7.1)
smbuser1 Disk Home Directories ###可以看到有共享目錄的出現(xiàn),且是家目錄,和之前主配置文件里一致
Reconnecting with SMB1 for workgroup listing.
Server Comment
--------- -------
Workgroup Master
--------- -------
SAMBA SERVER
登錄windows主機(jī)查看
image.png
修改主配置文件,嘗試讓smbuser1和smbuser2都可以互相看到共享信息
[homes]
comment = Home Directories
valid users = %S, %D%w%S
browseable = yes
read only = No
inherit acls = Yes
image.png
Step3.1 綜合測(cè)試案例:(創(chuàng)建一個(gè)共享data哮塞,路徑為/var/ftp/data,要求僅centos和gentoo用戶能上傳,此路徑對(duì)其他用戶不可見)
- 服務(wù)端進(jìn)行設(shè)置
[root@Server ~]#mkdir /var/ftp/data -pv ###創(chuàng)建共享目錄
[root@Server ~]#useradd centos ###創(chuàng)建linux系統(tǒng)用戶
[root@Server ~]#useradd gentoo
[root@Server ~]#smbpasswd -a centos ###創(chuàng)建samba用戶并設(shè)置密碼
[root@Server ~]#smbpasswd -a gentoo
[root@Server ~]#vim /etc/samba/smb.conf ###編輯主文件并設(shè)置對(duì)應(yīng)的共享目錄參數(shù)
[root@Server samba]#testparm
[data]
comment = A new share Directory ###注釋信息
guest ok = Yes ###啟用來賓訪問
path = /var/ftp/data ###共享文件路徑
read only = No ###可寫
write list = centos gentoo ###白名單
[root@Server samba]#systemctl restart nmb.service
[root@Server samba]#systemctl restart smb.service
[root@Server samba]#ls -ld /var/ftp/data ###查看Linux系統(tǒng)共享文件的權(quán)限
drwxr-xr-x 2 root root 6 Nov 10 10:53 /var/ftp/data
[root@Server samba]#setfacl -m u:centos:rwx //var/ftp/data ###設(shè)置對(duì)centos和gentoo有寫操作
[root@Server samba]#setfacl -m u:gentoo:rwx //var/ftp/data
[root@Server samba]#getfacl /var/ftp/data
# file: var/ftp/data
# owner: root
# group: root
user::rwx
user:centos:rwx
user:gentoo:rwx
group::r-x
mask::rwx
other::r-x
- 客戶端client測(cè)試:
[root@CentOS7_Client1 ~]#smbclient -L 192.168.30.104 -U centos ###centos用戶登錄服務(wù)器查看共享目錄
Sharename Type Comment
--------- ---- -------
homes Disk Home Directories
print$ Disk Printer Drivers
data Disk A new share Directory
IPC$ IPC IPC Service (Samba 4.7.1)
centos Disk Home Directories
[root@CentOS7_Client1 ~]#smbclient -L 192.168.30.104 -U gentoo ###gentoo用戶登錄服務(wù)器查看共享目錄
Sharename Type Comment
--------- ---- -------
homes Disk Home Directories
print$ Disk Printer Drivers
data Disk A new share Directory
IPC$ IPC IPC Service (Samba 4.7.1)
gentoo Disk Home Directories
###分別測(cè)試centos和gentoo的寫操作權(quán)限
[root@CentOS7_Client1 ~]#smbclient //192.168.30.104/data -U centos
smb: \> lcd /etc
smb: \> put fstab
putting file fstab as \fstab (151.4 kb/s) (average 151.4 kb/s)
smb: \> exit
[root@CentOS7_Client1 ~]#smbclient //192.168.30.104/data -U gentoo
smb: \> lcd /etc
smb: \> put group
putting file group as \group (135.5 kb/s) (average 135.5 kb/s)
smb: \> exit
[root@CentOS7_Client1 ~]#umount /mnt
umount: /mnt: not mounted
[root@CentOS7_Client1 ~]#mount -t cifs //192.168.30.104/data /mnt -o username=centos,password=123456 ###嘗試掛載到臨時(shí)目錄/mnt
//192.168.30.104/data on /mnt type cifs (rw,relatime,vers=1.0,cache=strict,username=centos,domain=,uid=0,noforceuid,gid=0,noforcegid,addr=192.168.30.104,soft,unix,posixpaths,serverino,mapposix,acl,rsize=1048576,wsize=65536,echo_interval=60,actimeo=1)
[root@CentOS7_Client1 ~]#cd /mnt
[root@CentOS7_Client1 mnt]#ls
fstab group
image.png
image.png