服务器架设
2017.03.20
.ssh目錄下的known。。。文件
表示信任主機
修改sshd配置文件
/etc/ssh/sshd
? ? 查找port信息
/port
開啟服務后,設置防火墻(永久生效)
重啟后設置安全上下文
2017.03.22
NFS服務器:
NFS網絡文件系統(基于網絡)
配置NFS:
? ? 只有NFS改了配置文件之后重啟服務是:export
格式:共享位置? 服務器地址范圍(網段內所有訪問/*)
權限:
? ? rw:read-write,可讀寫;
? ? ro:read-only,只讀;
? ? no_root_squash:
NFS客戶端連接服務端時如果使用的是root的話,
那么對服務端分享的目錄來說,也擁有root權限。
? ? root_squash:
NFS客戶端連接服務端時如果使用的是root的話,
那么對服務端分享的目錄來說,擁有匿名用戶權限,
通常他將使用nobody或nfsnobody身份;
防火墻設置:
服務器端:service=nfs、mountd、rpc-bind
客戶端:掛載
步驟:
1.查看IP地址,測試網絡的可達性
2.yum search nfs(nfs-utils.x86_64)(rhel 7 默認安裝nfs)
3.修改配置文件(/etc/exports)
目錄? 地址范圍(權限)
eg:
/tmp/nfs 192.168.1.2/24(ro,no_root_squash) #共享文件夾
/mnt/rehl *(rw) #共享服務器光驅
4.exportfs -r? ?(重啟服務)
5.開啟服務:
? systemctl enable nfs-server
? systemctl start nfs-server
? 檢查:systemctl status nfs-server (“active(exited)”)
6.firewall-cmd --add-service=nfs --permanent
? firewall-cmd --reload(服務器端)
7.mount -t nfs 地址:共享的目錄 掛載點
共享目錄需要在/mnt下創建相應的掛載點
例如:/tmp/nfs需在/mnt下創建/mnt/nfs
eg:
mount -t nfs 192.168.1.2:/tmp/nfs /mnt/nfs
?
(若只有一條地址范圍不限的,則可以不用掛載)
?
8.測試(文件的權限不同,想更改權限還可以設置 acl)
本機測試:
showmount -e 本機IP地址(或127.0.0.1)
?
永久掛載NFS
客戶端(/etc/fstab):
? 地址:共享的目錄? 掛載點? nfs defaults 0 0
2017.03.29
/etc/hosts:域名到IP地址的映射關系
DNS分層:根域、頂級域、二級域(申請域)及主機名稱
迭代 :向上一級服務器詢問
DNS資源記錄類型
PTR(指針):反向查找(IP查找域名)
創建區域:(/var/named)
正向:域名查找IP
反向:IP查找域名
根域:/var/named.ca
配置DNS:
1.安裝bind、bind-utils(客戶端)
DNS的服務叫name,即名稱服務
2.配置文件(/etc/named.conf)
修改監聽IP地址,默認為127.0.0.1(即自己)
? {監聽地址; IP地址范圍; any; };
allow-query:允許查詢,默認為localhost
如下:
options {
? ? ? ? listen-on port 53 { 127.0.0.1; any; };
? ? ? ? listen-on-v6 port 53 { ::1; };
? ? ? ? directory? ? ? ?"/var/named";
? ? ? ? dump-file? ? ? ?"/var/named/data/cache_dump.db";
? ? ? ? statistics-file "/var/named/data/named_stats.txt";
? ? ? ? memstatistics-file "/var/named/data/named_mem_stats.txt";
? ? ? ? allow-query? ? ?{ localhost; any; };
3.配置區域文件(/etc/named.rfc)
正向區域及反向區域
zone "exam.com" IN {
? ? ? ? type master;
? ? ? ? file "exam.zx";
};
zone "1.168.192.in-addr.arpa" IN {
? ? ? ? type master;
? ? ? ? file "192.168.1.fx";
};
4.測試配置文件
named-checkconf? /etc/named.conf
named-checkconf? /etc/named.rfc
5.開啟防火墻和selinux(53端口)
port=53/tcp、port=53/udp、service=dns
ls -Z /etc/named.conf
semanage fcontext -a -t named_conf_t /etc/named.conf
restorecon -RFvv /etc/named.conf
6.正向區域文件(/var/named/.zx)
$TTL 1D
@? ? ? ?IN SOA? @ exam.com. (
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 20170412? ? ? ? ; serial
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1D? ? ? ; refresh
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1H? ? ? ; retry
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1W? ? ? ; expire
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 3H )? ? ; minimum
? ? ? ? NS? ? ? @
? ? ? ? A? ? ? ?127.0.0.1
? ? ? ? AAAA? ? ::1
@? ? ? ?IN? ? ? NS? ? ? 61.139.2.69
www? ? ?IN? ? ? A? ? ? ?192.168.1.10
ftp? ? ?IN? ? ? CNAME? ?www
7.反向區域文件
$TTL 1D
@? ? ? ?IN SOA? @ exam.com. (
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 0? ? ? ?; serial
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1D? ? ? ; refresh
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1H? ? ? ; retry
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1W? ? ? ; expire
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 3H )? ? ; minimum
? ? ? ? NS? ? ? @
? ? ? ? A? ? ? ?127.0.0.1
? ? ? ? AAAA? ? ::1
? ? ? ? PTR? ? ?localhost.
@? ? ? ?IN? ? ? NS? ? ? 61.139.2.69
10? ? ? ?IN? ? ? PTR? ? ?www.exam.com.
8.檢查
named-checkzone "exam.com" /var/named/exam.zx
named-checkzone "1.168.192.in-addr.arpa" 192.168.1.fx
9.將正向文件和反向文件的權限更改為755(默認是640)
[root@REHL named]# chmod 755 exam.zx?
[root@REHL named]# chmod 644 192.168.1.fx?
10.啟動
systemctl start named.service啟動服務
systemctl enable named.service 開機啟用
systemctl status named.service 檢查狀態
11.驗證
nslookup
dig www.exam.com
[root@REHL named]# nslookup www.exam.com
Server: 192.168.1.10
Address: 192.168.1.10#53
Name: www.exam.com
Address: 192.168.1.10
[root@REHL named]# nslookup 192.168.1.10
Server: 192.168.1.10
Address: 192.168.1.10#53
10.1.168.192.in-addr.arpa name = www.exam.com.
僅緩存
1.安裝bind-chroot
2.修改/etc/named.conf
添加 allow-query-cache { localhost; any; };
3.重啟服務
4.為/etc/named.conf創建軟連接
2017.04.17
DHCP服務器
內部網絡方式聯網
對DHCP服務器配置靜態IP地址,客戶端DHCP動態獲取IP地址
配置DHCP:
服務器端:
?1.安裝DHCP
? yum -y install dhcp
?2.配置文件:/etc/dhcp/dhcpd.conf
? 拷貝/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example
到/etc/dhcp
?3.修改配置文件/etc/dhcp/dhcpd.conf
?#option definitions common to all supported networks...
?option domain-name "sc.com";
?option domain-name-servers 192.168.100.5
?
?default-lease-time 600;
?max-lease-time 7200;
?# A slightly different configuration for an internal subnet.
?subnet 192.168.100.0 netmask 255.255.255.0 {
? ?range 192.168.100.6 192.168.100.56;
? ?option domain-name-servers 192.168.100.5;
? ?option domain-name "www.sc.com";
? ?option routers 192.168.100.5;
? ?option broadcast-address 192.168.100.255;
? ?default-lease-time 600;
? ?max-lease-time 7200;
?}
?4.啟動DHCP服務
systemctl start dhcpd
systemctl enable dhcpd
systemctl status dhcpd
客戶端:
將地址獲取方式更改為自動獲取即可
?nmcli connection modify eno16777736 ipv4.method auto
?systemctl restart network
或
?vi /etc/sysconfig/network-script/ifcfg-eno*
?將“BOOTPROTO”設置為“BOOTPROTO=dhcp”
?保存退出
?systemctl restart network
2017.04.26
Apache-掛載網站
1.安裝httpd
2.啟動服務(start、enable)
3.建立web站點
主目錄:/var/www/html
虛擬主機:一個服務器掛多個站點
通過不同 的URL定向到不同的站點
標示站點的要素:端口號(默認80)、IP地址、域名
三種方法
基于端口、基于IP、基于域名(虛擬主機頭)
使用別名技術,實現同一IP對應多個站點(DNS)
配置網站主目錄
建立默認主頁
2017.04.26
Apache-掛載網站
1.安裝httpd
2.啟動服務(start、enable)
3.防火墻設置(允許http服務通過)
4.建立web站點
默認主目錄:/var/www/html
echo "test start ..." > /var/www/html/index.html
5.本機測試
curl (-I) http://127.0.0.1?
或者curl (-I) http://本機IP地址
顯示結果:
test start ...
練習:
安裝,掛載網站,創建一個網頁(基于IP)
1.安裝httpd
2.cd /var/www/html
echo "test" > index.html
3.防火墻設置
service=http(允許http服務通過)
4.開啟服務
start
enable
status(active)
5.用瀏覽器測試
firefox ip地址
配置文件
/etc/http/httpd.conf
基于不同域名
1.修改/etc/named.rfc
正向、反向
2.到/var/named修改區域文件
zx:添加別名主機
fx:多少主機,多少PTR。
3.檢查配置文件
named-checkconf? /etc/named.conf
named-checkconf? /etc/named.rfc
named-checkzone "exam.com" /var/named/exam.zx
named-checkzone "1.168.192.in-addr.arpa" 192.168.1.fx
4.檢查防火墻
5.測試DNS服務是否正常
6.虛擬主機配置文件:/etc/httpd
conf 配置文件
conf.d 第三方配置文件
新建虛擬主機配置文件(*.conf)
<VirtualHost *:80>
? ? ServerName www.exam.com? ? (主機名)
? ? DocumentRoot "/srv/www/web" (主目錄)
</VirtualHost>
<Directory "/srv/www/web">
? ? Require all granted? ?權限
</Directory>
到主目錄,新建網頁(*.html)
7.SElinux設置
ls -Z(查看權限)?
ls -Z /var/www
semanage fcontext -a -t httpd_sys_content_t “/srv(/.*)?”
restorecon -vvRF /srv/
8.防火墻設置
2017.05.08
基于端口
1.檢查DNS服務器
2.創建新的主目錄和index靜態網頁文件
主目錄:www_10000
index.html:there is www_10000 .
3.新建相應的配置文件
Listen 10000
<VirtualHost *:10000>
? ? ServerName www.exam.com:10000
? ? DocumentRoot "/srv/www/10000"
</VirtualHost>
<Directory "/srv/www/10000">
? ? Require all granted
</Directory>
4.設置semanager ,添加端口
semanage port -a -t http_port_t -p tcp 10000
semanage port -l | grep http
5.防火墻,開啟相應的端口
firewall-cmd --add-port=10000/tcp --per
firewall-cmd --reload
Apache報錯
AH00557: httpd: apr_sockaddr_info_get() failed for REHL
解決: vim /etc/httpd/conf/httpd.conf
內容如下:? ??
#ServerName www.example.com:80
? ? ? ? ServerName localhost:80
修改后狀態:Starting The Apache HTTP Server...
2017.05.15
Apache虛擬目錄
1.測試DNS服務是否正常
2.創建相應的虛擬目錄:/srv/www/web/123
3.虛擬目錄配置文件:/etc/httpd
新建虛擬目錄配置文件(*.conf)(同虛擬主機類似)
<VirtualHost *:80>
? ? ServerName www.exam.com/123? ? (主機名)
? ? DocumentRoot "/srv/www/web/123" (主目錄)
</VirtualHost>
<Directory "/srv/www/web/123">
? ? Require all granted? ?權限
</Directory>
到虛擬目錄,新建網頁(*.html)
4.SElinux設置
ls -Z(查看權限)?
ls -Z /var/www
semanage fcontext -a -t httpd_sys_content_t “/srv(/.*)?”
restorecon -vvRF /srv/
5.防火墻設置
訪問控制
在Directory目錄,
1.先允許后拒絕,默認拒絕所有未被提及的所有客戶端地址
order allow,deny
2.先拒絕后允許,默認允許所有未被提及的所有客戶端地址
order deny,allow
練習:
拒絕192.168.1.0
<Directory /srv/www/www/123>
? ? ? ? Order Deny,Allow
? ? ? ? Deny from all
? ? ? ? Allow from 123.com
</Directory>
yum鎖定及解決解決如下
使用yum安裝計劃任務功能,結果提示:
[root@syl ~]# yum install kernel*
Loaded plugins: fastestmirror, langpacks
Existing lock /var/run/yum.pid: another copy is running as pid 3694.
可能是系統自動升級正在運行,yum在鎖定狀態中。
已經有一個yum進程在運行了,使用kill干掉它:
# ps aux | grep yum
root? ? ? ?3694 29.0? 4.8 1034644 136488 ?? ? ? SN? ?18:16? ?0:48 /usr/bin/python /usr/share/PackageKit/helpers/yum/yumBackend.py refresh-cache yes
root? ? ? ?3993 17.0? 0.3? 34264 11116 ?? ? ? ? RN? ?18:18? ?0:00 /usr/bin/applydeltarpm -a x86_64 /var/cache/yum/x86_64/7/updates/packages/pulseaudio-6.0-8.el7_6.0-9.el7_3.x86_64.drpm /var/cache/yum/x86_64/7/updates/packages/pulseaudio-6.0-9.el7_3.x86_64.rpm
root? ? ? ?3997? 0.0? 0.0 112648? ?952 pts/0? ? R+? ?18:18? ?0:00 grep --color=auto yu
# kill -s 9 3694
如果kill對付不了它,那怎么辦呢?
可以通過強制關掉yum進程:
#rm -f /var/run/yum.pid
然后就可以使用yum了。
2017.05.22
ftp面向Windows用戶
公司內部使用
使用防火墻設置ftp權限
用戶類型
匿名用戶:anymous或ftp? 默認匿名用戶只能下載
本地用戶:賬號和密碼儲存在系統內部,passwd和shadow 自行創建
? ?遠程登錄時,只允許使用協議訪問ftp,而不能登錄系統訪問
虛擬用戶(隔離用戶):每個用戶登錄系統時,只能在自己的主目錄進行操作,獨立賬號
服務端:vsftpd
1.安裝vsftpd
2.開啟防火墻
firewall-cmd --add-service=ftp --permanent?
firewall-cmd --reload
3.開啟ftp服務
systemctl start vsftpd
systemctl enable vsftpd
客戶端:ftp
[root@REHL ~]# ftp
ftp> open 192.168.1.10
Connected to 192.168.1.10 (192.168.1.10).
220 (vsFTPd 3.0.2)
Name (192.168.1.10:root): ftp? ? ??
? ?#在對ftp服務沒有進行任何設置時,只有匿名用戶可以訪問
331 Please specify the password.
Password:
? ?#密碼為空
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> dir
? #使用dos命令
227 Entering Passive Mode (192,168,1,10,185,161).
150 Here comes the directory listing.
drwxr-xr-x? ? 2 0? ? ? ? 0? ? ? ? ? ? ? ?6 Mar 07? 2014 pub
226 Directory send OK.
ftp>?
dos 命令
dir/ls? 查看
put 上傳
get 下載? 下載的內容在進入ftp時的目錄
? eg:[root@REHL vsftpd]#? ?
? 當前在vsftpd目錄下,則ftp下載的文件應該也在vsftpd下
bye 退出
/etc/vsftpd/vsftpd.conf 主配置文件
/etc/vsftpd/ftpusers? 黑名單
/etc/vsftpd/user_list 白名單
/var/ftp、/var/ftp/pub 默認主目錄
配置文件:
local_enable=YES? ?本地用戶(系統里的)可以登錄
local_umask=022? ? 默認本地用戶上傳權限(文件默認權限666,目錄默認權限777)
0 本地用戶傳輸不受限制
建立白名單
100 #chroot_local_user=NO #只能在自己的主目錄進行操作
101 #chroot_list_enable=YES #開啟白名單
103 #chroot_list_file=/etc/vsftpd/chroot_list #白名單的主目錄
在/etc/vsftpd/chroot_list里寫入用戶名
listen=NO? ? 是否把vsftp放到防護進程里
默認ftp使用21,20端口
匿名用戶ftp搭建:
系統以最小權限對文件或目錄進行操作
1.創建共享文件/tmp/share
[root@REHL vsftpd]# mkdir /tmp/share
2.設置selinux?
[root@REHL vsftpd]# ls -Z /var/ftp
drwxr-xr-x. root root system_u:object_r:public_content_t:s0 pub
[root@REHL vsftpd]# semanage fcontext -a -t public_content_t /tmp/share
[root@REHL vsftpd]# restorecon -RFvv /tmp/share
restorecon reset /tmp/share context unconfined_u:object_r:user_tmp_t:s0->system_u:object_r:public_content_t:s0
3.修改配置文件
vim? /etc/vsftpd/vsftpd.conf
anonymous_enable=YES #12行:允許匿名用戶訪問
anon_root=/tmp/share #添加到13行:設置匿名用戶登錄后的根目錄
4.測試
[root@REHL vsftpd]# ftp
ftp> open 192.168.1.10
Connected to 192.168.1.10 (192.168.1.10).
220 (vsFTPd 3.0.2)
Name (192.168.1.10:root): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> dir
227 Entering Passive Mode (192,168,1,10,204,132).
150 Here comes the directory listing.
-rw-r--r--? ? 1 0? ? ? ? 0? ? ? ? ? ? ? 19 May 22 03:29 1
226 Directory send OK.
ftp> get 1
local: 1 remote: 1
227 Entering Passive Mode (192,168,1,10,69,0).
150 Opening BINARY mode data connection for 1 (19 bytes).
226 Transfer complete.
19 bytes received in 3.8e-05 secs (500.00 Kbytes/sec)
ftp>?
本地用戶ftp:
selinux的布爾值
getsebool? -a | grep? ftp? ? ? ?#查看與ftp有關的所有SElinux的布爾值
setsebool? -P? ftpd_full_access? on #開放ftp訪問,-P表示永久生效
1.創建本地用戶,用于操作ftp
[root@REHL ~]# useradd -s /sbin/nologin test
[root@REHL ~]# passwd test
Changing password for user test.
New password:?
BAD PASSWORD: The password is shorter than 6 characters
Retype new password:?
passwd: all authentication tokens updated successfully.
2.設置本地用戶的主目錄
[root@REHL ~]# cd /srv/www/web
[root@REHL web]# cd ..
[root@REHL www]# ls
music? news? web? www_10000
[root@REHL www]# ls -l
total 0
drwxr-xr-x. 2 root root 23 May? 3 18:30 music
drwxr-xr-x. 2 root root 23 May? 3 18:30 news
drwxr-xr-x. 3 root root 33 May 15 11:02 web
drwxr-xr-x. 2 root root 23 May 15 10:28 www_10000
[root@REHL www]# chown -R test web/
[root@REHL www]# ls -l
total 0
drwxr-xr-x. 2 root root 23 May? 3 18:30 music
drwxr-xr-x. 2 root root 23 May? 3 18:30 news
drwxr-xr-x. 3 test root 33 May 15 11:02 web
drwxr-xr-x. 2 root root 23 May 15 10:28 www_10000
3.本地用戶配置文件設置:/etc/vsftpd/vsftpd.conf
local_enable=YES #16行:允許本地用戶登錄
local_root=/srv/www/web #添加至17行:設置本地用戶登錄后的根目錄
write_enable=YES #19行:允許寫入
local_umask=022 #23行:設定新上傳文件(夾)的權限掩碼
connect_from_port_20=YES #添加至43
#chroot_local_user= NO #100行:是否將所有用戶限制在登錄根目錄內
#chroot_list_enable=YES #101行:開啟鎖定用戶的chroot功能
#chroot_list_file=/etc/vsftpd/chroot_list #103行:設置鎖定用戶的列表文件
4.添加本地用戶:/etc/vsftpd/chroot_list
root@REHL vsftpd]# cd /etc/vsftpd
[root@REHL vsftpd]# ls
1? ftpusers? user_list? vsftpd.conf? vsftpd_conf_migrate.sh
[root@REHL vsftpd]# vim chroot_list
[root@REHL vsftpd]# cat chroot_list?
test
[root@REHL vsftpd]#?
5.重啟ftp服務
systemctl restart vsftpd
6.測試
[root@REHL vsftpd]# ftp
ftp> open 192.168.1.10
Connected to 192.168.1.10 (192.168.1.10).
220 (vsFTPd 3.0.2)
Name (192.168.1.10:root): test
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,10,29,8).
150 Here comes the directory listing.
drwxr-xr-x? ? 2 1001? ? ?0? ? ? ? ? ? ? 23 May 15 03:06 123
-rwxr-xr-x? ? 1 1001? ? ?0? ? ? ? ? ? ? 15 May 03 10:37 index.html
226 Directory send OK.
ftp> exit
221 Goodbye.
2017.05.27
Samba服務器:實現Windows和Linux之間的文件共享
服務器:
1.安裝samba.x86_64 + samba-client.x86_64(服務器裝客戶端做測試用)
2.開啟smb 和 nmb服務(systemctl)
systemctl enable smb nmb
ln -s '/usr/lib/systemd/system/smb.service' '/etc/systemd/system/multi-user.target.wants/smb.service'
ln -s '/usr/lib/systemd/system/nmb.service' '/etc/systemd/system/multi-user.target.wants/nmb.service'
systemctl start smb nmb
3.配置文件:
主:/etc/samba/smb.conf
lmhosts:存放
/var/lib/
全局設置節:
workgroup=MYGROUP(默認)
自定義節:
comment=備注信息 #共享節名字,不是共享的主目錄
path=絕對路徑 #指的是共享目錄的絕對路徑)
write_list=用戶名或組名清單 #以空格或逗號隔開,組名前帶@,用戶名則不需帶@)
例:
1.創建共享目錄?
[root@REHL ~]# mkdir /tmp/smb
[root@REHL ~]# touch /tmp/smb/f1
2.設置共享目錄的權限 chmod?
[root@REHL ~]# ls -ld /tmp/smb/f1
-rw-r--r--. 1 root root 0 May 31 16:19 /tmp/smb/f1
[root@REHL ~]# chmod 1777 /tmp/smb/f1
[root@REHL ~]# ls -ld /tmp/smb/f1
-rwxrwxrwt. 1 root root 0 May 31 16:19 /tmp/smb/f1
3.修改配置文件
[root@REHL ~]# vim /etc/samba/smb.conf
設置全局變量:
[global]
? ? ? ? workgroup = MYGROUP
? ? ? ? server string = Samba Server Version %v? ? #進入Samba的提示(標語)
安全設置:
? ? ? ? security = user
? ? ? ? passdb backend = tdbsam
? ? ? ? map to guest = Bad User? ?#允許匿名登錄
自定義共享
#============================ Share Definitions ==============================
[homes]
? ? ? ? comment = Home Directories
? ? ? ? browseable = no
? ? ? ? writable = yes
;? ? ? ?valid users = %S
;? ? ? ?valid users = MYDOMAIN\%S
[printers]
? ? ? ? comment = All Printers
? ? ? ? path = /var/spool/samba
? ? ? ? browseable = no
? ? ? ? guest ok = no
? ? ? ? writable = no
? ? ? ? printable = yes
共享字節模板:
[doc] #共享目錄在客戶端顯示的名字
? ? ? ? comment = Public Stuff
? ? ? ? path = /tmp/smb
? ? ? ? browseable = yes
? ? ? ? guest ok = yes
? ? ? ? writable = yes
? ? ? ? printable = no
4.重啟服務
[root@REHL ~]# systemctl restart smb nmb
5.開啟防火墻
[root@REHL ~]# firewall-cmd --add-service=samba --permanent
success
[root@REHL ~]# firewall-cmd --reload
success
[root@REHL ~]# firewall-cmd --list-all
public (default, active)
? interfaces: eno16777736
? sources:?
? services: dhcpv6-client dns ftp http samba ssh
? ports: 53/tcp 53/udp 80/tcp 10000/tcp 80/udp
? masquerade: no
? forward-ports:?
? icmp-blocks:?
? rich rules:?
[root@REHL ~]#?
6.設置SELinux
安全上下文:samba _share_t
[root@REHL samba]# smbclient //192.168.1.10/doc
Enter REHL's password:?
protocol negotiation failed: NT_STATUS_IO_TIMEOUT
解決:
vim /etc/hosts
添加需要解析的IP地址和主機名
eg:192.168.1.10 REHL
客戶端:
1.samba-client.x86_64 + 永久掛載cifs
2017.05.31
多用戶
1.創建共享文件(節點)
[root@rehl ~]# mkdir /ss
2.編輯配置文件:/etc/samba/smb.conf
[root@rehl ~]# vim /etc/samba/smb.conf?
[test]
? ? ? ? comment = Public Stuff
? ? ? ? path = /ss
write list = @share #加上@表示用戶組,不加表示用戶
3.添加用戶組和用戶
[root@rehl ~]# groupadd share
[root@rehl ~]# useradd -G share -s /sbin/nologin natasha
4.為用戶設置samba密碼,此密碼為登錄Samba的密碼,可以不與登錄系統的密碼一致
[root@rehl ~]# smbpasswd -a natasha
New SMB password:
Retype new SMB password:
Added user natasha.
5.修改共享文件的權限及主目錄
[root@rehl ~]# chown .share /ss
[root@rehl ~]# chmod 775 /ss
客戶端配置自動掛載
1.安裝cifs* samba-cli*
2.編輯密碼文件?
vim /tmp/mima.txt
username=natasha
password=1qaz,
3.編輯/etc/fstab (可參考man mount.cifs)
//192.168.1.10/組名 掛載點?
//192.168.1.10/test? ? ?/ss cifs? ? ? ? defaults,credentials=/tmp/mima.txt,sec=ntlmssp,multiuser? ? ? ? 0? ? ? ?0
4.掛載用戶
[root@rehl ~]# mount -a
測試:
[root@rehl ~]# smbclient //192.168.1.10/test -U natasha
Enter natasha's password:?
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
smb: \> exit
.ssh目錄下的known。。。文件
表示信任主機
修改sshd配置文件
/etc/ssh/sshd
? ? 查找port信息
/port
開啟服務后,設置防火墻(永久生效)
重啟后設置安全上下文
2017.03.22
NFS服務器:
NFS網絡文件系統(基于網絡)
配置NFS:
? ? 只有NFS改了配置文件之后重啟服務是:export
格式:共享位置? 服務器地址范圍(網段內所有訪問/*)
權限:
? ? rw:read-write,可讀寫;
? ? ro:read-only,只讀;
? ? no_root_squash:
NFS客戶端連接服務端時如果使用的是root的話,
那么對服務端分享的目錄來說,也擁有root權限。
? ? root_squash:
NFS客戶端連接服務端時如果使用的是root的話,
那么對服務端分享的目錄來說,擁有匿名用戶權限,
通常他將使用nobody或nfsnobody身份;
防火墻設置:
服務器端:service=nfs、mountd、rpc-bind
客戶端:掛載
步驟:
1.查看IP地址,測試網絡的可達性
2.yum search nfs(nfs-utils.x86_64)(rhel 7 默認安裝nfs)
3.修改配置文件(/etc/exports)
目錄? 地址范圍(權限)
eg:
/tmp/nfs 192.168.1.2/24(ro,no_root_squash) #共享文件夾
/mnt/rehl *(rw) #共享服務器光驅
4.exportfs -r? ?(重啟服務)
5.開啟服務:
? systemctl enable nfs-server
? systemctl start nfs-server
? 檢查:systemctl status nfs-server (“active(exited)”)
6.firewall-cmd --add-service=nfs --permanent
? firewall-cmd --reload(服務器端)
7.mount -t nfs 地址:共享的目錄 掛載點
共享目錄需要在/mnt下創建相應的掛載點
例如:/tmp/nfs需在/mnt下創建/mnt/nfs
eg:
mount -t nfs 192.168.1.2:/tmp/nfs /mnt/nfs
?
(若只有一條地址范圍不限的,則可以不用掛載)
?
8.測試(文件的權限不同,想更改權限還可以設置 acl)
本機測試:
showmount -e 本機IP地址(或127.0.0.1)
?
永久掛載NFS
客戶端(/etc/fstab):
? 地址:共享的目錄? 掛載點? nfs defaults 0 0
2017.03.29
/etc/hosts:域名到IP地址的映射關系
DNS分層:根域、頂級域、二級域(申請域)及主機名稱
迭代 :向上一級服務器詢問
DNS資源記錄類型
PTR(指針):反向查找(IP查找域名)
創建區域:(/var/named)
正向:域名查找IP
反向:IP查找域名
根域:/var/named.ca
配置DNS:
1.安裝bind、bind-utils(客戶端)
DNS的服務叫name,即名稱服務
2.配置文件(/etc/named.conf)
修改監聽IP地址,默認為127.0.0.1(即自己)
? {監聽地址; IP地址范圍; any; };
allow-query:允許查詢,默認為localhost
如下:
options {
? ? ? ? listen-on port 53 { 127.0.0.1; any; };
? ? ? ? listen-on-v6 port 53 { ::1; };
? ? ? ? directory? ? ? ?"/var/named";
? ? ? ? dump-file? ? ? ?"/var/named/data/cache_dump.db";
? ? ? ? statistics-file "/var/named/data/named_stats.txt";
? ? ? ? memstatistics-file "/var/named/data/named_mem_stats.txt";
? ? ? ? allow-query? ? ?{ localhost; any; };
3.配置區域文件(/etc/named.rfc)
正向區域及反向區域
zone "exam.com" IN {
? ? ? ? type master;
? ? ? ? file "exam.zx";
};
zone "1.168.192.in-addr.arpa" IN {
? ? ? ? type master;
? ? ? ? file "192.168.1.fx";
};
4.測試配置文件
named-checkconf? /etc/named.conf
named-checkconf? /etc/named.rfc
5.開啟防火墻和selinux(53端口)
port=53/tcp、port=53/udp、service=dns
ls -Z /etc/named.conf
semanage fcontext -a -t named_conf_t /etc/named.conf
restorecon -RFvv /etc/named.conf
6.正向區域文件(/var/named/.zx)
$TTL 1D
@? ? ? ?IN SOA? @ exam.com. (
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 20170412? ? ? ? ; serial
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1D? ? ? ; refresh
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1H? ? ? ; retry
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1W? ? ? ; expire
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 3H )? ? ; minimum
? ? ? ? NS? ? ? @
? ? ? ? A? ? ? ?127.0.0.1
? ? ? ? AAAA? ? ::1
@? ? ? ?IN? ? ? NS? ? ? 61.139.2.69
www? ? ?IN? ? ? A? ? ? ?192.168.1.10
ftp? ? ?IN? ? ? CNAME? ?www
7.反向區域文件
$TTL 1D
@? ? ? ?IN SOA? @ exam.com. (
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 0? ? ? ?; serial
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1D? ? ? ; refresh
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1H? ? ? ; retry
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1W? ? ? ; expire
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 3H )? ? ; minimum
? ? ? ? NS? ? ? @
? ? ? ? A? ? ? ?127.0.0.1
? ? ? ? AAAA? ? ::1
? ? ? ? PTR? ? ?localhost.
@? ? ? ?IN? ? ? NS? ? ? 61.139.2.69
10? ? ? ?IN? ? ? PTR? ? ?www.exam.com.
8.檢查
named-checkzone "exam.com" /var/named/exam.zx
named-checkzone "1.168.192.in-addr.arpa" 192.168.1.fx
9.將正向文件和反向文件的權限更改為755(默認是640)
[root@REHL named]# chmod 755 exam.zx?
[root@REHL named]# chmod 644 192.168.1.fx?
10.啟動
systemctl start named.service啟動服務
systemctl enable named.service 開機啟用
systemctl status named.service 檢查狀態
11.驗證
nslookup
dig www.exam.com
[root@REHL named]# nslookup www.exam.com
Server: 192.168.1.10
Address: 192.168.1.10#53
Name: www.exam.com
Address: 192.168.1.10
[root@REHL named]# nslookup 192.168.1.10
Server: 192.168.1.10
Address: 192.168.1.10#53
10.1.168.192.in-addr.arpa name = www.exam.com.
僅緩存
1.安裝bind-chroot
2.修改/etc/named.conf
添加 allow-query-cache { localhost; any; };
3.重啟服務
4.為/etc/named.conf創建軟連接
2017.04.17
DHCP服務器
內部網絡方式聯網
對DHCP服務器配置靜態IP地址,客戶端DHCP動態獲取IP地址
配置DHCP:
服務器端:
?1.安裝DHCP
? yum -y install dhcp
?2.配置文件:/etc/dhcp/dhcpd.conf
? 拷貝/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example
到/etc/dhcp
?3.修改配置文件/etc/dhcp/dhcpd.conf
?#option definitions common to all supported networks...
?option domain-name "sc.com";
?option domain-name-servers 192.168.100.5
?
?default-lease-time 600;
?max-lease-time 7200;
?# A slightly different configuration for an internal subnet.
?subnet 192.168.100.0 netmask 255.255.255.0 {
? ?range 192.168.100.6 192.168.100.56;
? ?option domain-name-servers 192.168.100.5;
? ?option domain-name "www.sc.com";
? ?option routers 192.168.100.5;
? ?option broadcast-address 192.168.100.255;
? ?default-lease-time 600;
? ?max-lease-time 7200;
?}
?4.啟動DHCP服務
systemctl start dhcpd
systemctl enable dhcpd
systemctl status dhcpd
客戶端:
將地址獲取方式更改為自動獲取即可
?nmcli connection modify eno16777736 ipv4.method auto
?systemctl restart network
或
?vi /etc/sysconfig/network-script/ifcfg-eno*
?將“BOOTPROTO”設置為“BOOTPROTO=dhcp”
?保存退出
?systemctl restart network
2017.04.26
Apache-掛載網站
1.安裝httpd
2.啟動服務(start、enable)
3.建立web站點
主目錄:/var/www/html
虛擬主機:一個服務器掛多個站點
通過不同 的URL定向到不同的站點
標示站點的要素:端口號(默認80)、IP地址、域名
三種方法
基于端口、基于IP、基于域名(虛擬主機頭)
使用別名技術,實現同一IP對應多個站點(DNS)
配置網站主目錄
建立默認主頁
2017.04.26
Apache-掛載網站
1.安裝httpd
2.啟動服務(start、enable)
3.防火墻設置(允許http服務通過)
4.建立web站點
默認主目錄:/var/www/html
echo "test start ..." > /var/www/html/index.html
5.本機測試
curl (-I) http://127.0.0.1?
或者curl (-I) http://本機IP地址
顯示結果:
test start ...
練習:
安裝,掛載網站,創建一個網頁(基于IP)
1.安裝httpd
2.cd /var/www/html
echo "test" > index.html
3.防火墻設置
service=http(允許http服務通過)
4.開啟服務
start
enable
status(active)
5.用瀏覽器測試
firefox ip地址
配置文件
/etc/http/httpd.conf
基于不同域名
1.修改/etc/named.rfc
正向、反向
2.到/var/named修改區域文件
zx:添加別名主機
fx:多少主機,多少PTR。
3.檢查配置文件
named-checkconf? /etc/named.conf
named-checkconf? /etc/named.rfc
named-checkzone "exam.com" /var/named/exam.zx
named-checkzone "1.168.192.in-addr.arpa" 192.168.1.fx
4.檢查防火墻
5.測試DNS服務是否正常
6.虛擬主機配置文件:/etc/httpd
conf 配置文件
conf.d 第三方配置文件
新建虛擬主機配置文件(*.conf)
<VirtualHost *:80>
? ? ServerName www.exam.com? ? (主機名)
? ? DocumentRoot "/srv/www/web" (主目錄)
</VirtualHost>
<Directory "/srv/www/web">
? ? Require all granted? ?權限
</Directory>
到主目錄,新建網頁(*.html)
7.SElinux設置
ls -Z(查看權限)?
ls -Z /var/www
semanage fcontext -a -t httpd_sys_content_t “/srv(/.*)?”
restorecon -vvRF /srv/
8.防火墻設置
2017.05.08
基于端口
1.檢查DNS服務器
2.創建新的主目錄和index靜態網頁文件
主目錄:www_10000
index.html:there is www_10000 .
3.新建相應的配置文件
Listen 10000
<VirtualHost *:10000>
? ? ServerName www.exam.com:10000
? ? DocumentRoot "/srv/www/10000"
</VirtualHost>
<Directory "/srv/www/10000">
? ? Require all granted
</Directory>
4.設置semanager ,添加端口
semanage port -a -t http_port_t -p tcp 10000
semanage port -l | grep http
5.防火墻,開啟相應的端口
firewall-cmd --add-port=10000/tcp --per
firewall-cmd --reload
Apache報錯
AH00557: httpd: apr_sockaddr_info_get() failed for REHL
解決: vim /etc/httpd/conf/httpd.conf
內容如下:? ??
#ServerName www.example.com:80
? ? ? ? ServerName localhost:80
修改后狀態:Starting The Apache HTTP Server...
2017.05.15
Apache虛擬目錄
1.測試DNS服務是否正常
2.創建相應的虛擬目錄:/srv/www/web/123
3.虛擬目錄配置文件:/etc/httpd
新建虛擬目錄配置文件(*.conf)(同虛擬主機類似)
<VirtualHost *:80>
? ? ServerName www.exam.com/123? ? (主機名)
? ? DocumentRoot "/srv/www/web/123" (主目錄)
</VirtualHost>
<Directory "/srv/www/web/123">
? ? Require all granted? ?權限
</Directory>
到虛擬目錄,新建網頁(*.html)
4.SElinux設置
ls -Z(查看權限)?
ls -Z /var/www
semanage fcontext -a -t httpd_sys_content_t “/srv(/.*)?”
restorecon -vvRF /srv/
5.防火墻設置
訪問控制
在Directory目錄,
1.先允許后拒絕,默認拒絕所有未被提及的所有客戶端地址
order allow,deny
2.先拒絕后允許,默認允許所有未被提及的所有客戶端地址
order deny,allow
練習:
拒絕192.168.1.0
<Directory /srv/www/www/123>
? ? ? ? Order Deny,Allow
? ? ? ? Deny from all
? ? ? ? Allow from 123.com
</Directory>
yum鎖定及解決解決如下
使用yum安裝計劃任務功能,結果提示:
[root@syl ~]# yum install kernel*
Loaded plugins: fastestmirror, langpacks
Existing lock /var/run/yum.pid: another copy is running as pid 3694.
可能是系統自動升級正在運行,yum在鎖定狀態中。
已經有一個yum進程在運行了,使用kill干掉它:
# ps aux | grep yum
root? ? ? ?3694 29.0? 4.8 1034644 136488 ?? ? ? SN? ?18:16? ?0:48 /usr/bin/python /usr/share/PackageKit/helpers/yum/yumBackend.py refresh-cache yes
root? ? ? ?3993 17.0? 0.3? 34264 11116 ?? ? ? ? RN? ?18:18? ?0:00 /usr/bin/applydeltarpm -a x86_64 /var/cache/yum/x86_64/7/updates/packages/pulseaudio-6.0-8.el7_6.0-9.el7_3.x86_64.drpm /var/cache/yum/x86_64/7/updates/packages/pulseaudio-6.0-9.el7_3.x86_64.rpm
root? ? ? ?3997? 0.0? 0.0 112648? ?952 pts/0? ? R+? ?18:18? ?0:00 grep --color=auto yu
# kill -s 9 3694
如果kill對付不了它,那怎么辦呢?
可以通過強制關掉yum進程:
#rm -f /var/run/yum.pid
然后就可以使用yum了。
2017.05.22
ftp面向Windows用戶
公司內部使用
使用防火墻設置ftp權限
用戶類型
匿名用戶:anymous或ftp? 默認匿名用戶只能下載
本地用戶:賬號和密碼儲存在系統內部,passwd和shadow 自行創建
? ?遠程登錄時,只允許使用協議訪問ftp,而不能登錄系統訪問
虛擬用戶(隔離用戶):每個用戶登錄系統時,只能在自己的主目錄進行操作,獨立賬號
服務端:vsftpd
1.安裝vsftpd
2.開啟防火墻
firewall-cmd --add-service=ftp --permanent?
firewall-cmd --reload
3.開啟ftp服務
systemctl start vsftpd
systemctl enable vsftpd
客戶端:ftp
[root@REHL ~]# ftp
ftp> open 192.168.1.10
Connected to 192.168.1.10 (192.168.1.10).
220 (vsFTPd 3.0.2)
Name (192.168.1.10:root): ftp? ? ??
? ?#在對ftp服務沒有進行任何設置時,只有匿名用戶可以訪問
331 Please specify the password.
Password:
? ?#密碼為空
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> dir
? #使用dos命令
227 Entering Passive Mode (192,168,1,10,185,161).
150 Here comes the directory listing.
drwxr-xr-x? ? 2 0? ? ? ? 0? ? ? ? ? ? ? ?6 Mar 07? 2014 pub
226 Directory send OK.
ftp>?
dos 命令
dir/ls? 查看
put 上傳
get 下載? 下載的內容在進入ftp時的目錄
? eg:[root@REHL vsftpd]#? ?
? 當前在vsftpd目錄下,則ftp下載的文件應該也在vsftpd下
bye 退出
/etc/vsftpd/vsftpd.conf 主配置文件
/etc/vsftpd/ftpusers? 黑名單
/etc/vsftpd/user_list 白名單
/var/ftp、/var/ftp/pub 默認主目錄
配置文件:
local_enable=YES? ?本地用戶(系統里的)可以登錄
local_umask=022? ? 默認本地用戶上傳權限(文件默認權限666,目錄默認權限777)
0 本地用戶傳輸不受限制
建立白名單
100 #chroot_local_user=NO #只能在自己的主目錄進行操作
101 #chroot_list_enable=YES #開啟白名單
103 #chroot_list_file=/etc/vsftpd/chroot_list #白名單的主目錄
在/etc/vsftpd/chroot_list里寫入用戶名
listen=NO? ? 是否把vsftp放到防護進程里
默認ftp使用21,20端口
匿名用戶ftp搭建:
系統以最小權限對文件或目錄進行操作
1.創建共享文件/tmp/share
[root@REHL vsftpd]# mkdir /tmp/share
2.設置selinux?
[root@REHL vsftpd]# ls -Z /var/ftp
drwxr-xr-x. root root system_u:object_r:public_content_t:s0 pub
[root@REHL vsftpd]# semanage fcontext -a -t public_content_t /tmp/share
[root@REHL vsftpd]# restorecon -RFvv /tmp/share
restorecon reset /tmp/share context unconfined_u:object_r:user_tmp_t:s0->system_u:object_r:public_content_t:s0
3.修改配置文件
vim? /etc/vsftpd/vsftpd.conf
anonymous_enable=YES #12行:允許匿名用戶訪問
anon_root=/tmp/share #添加到13行:設置匿名用戶登錄后的根目錄
4.測試
[root@REHL vsftpd]# ftp
ftp> open 192.168.1.10
Connected to 192.168.1.10 (192.168.1.10).
220 (vsFTPd 3.0.2)
Name (192.168.1.10:root): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> dir
227 Entering Passive Mode (192,168,1,10,204,132).
150 Here comes the directory listing.
-rw-r--r--? ? 1 0? ? ? ? 0? ? ? ? ? ? ? 19 May 22 03:29 1
226 Directory send OK.
ftp> get 1
local: 1 remote: 1
227 Entering Passive Mode (192,168,1,10,69,0).
150 Opening BINARY mode data connection for 1 (19 bytes).
226 Transfer complete.
19 bytes received in 3.8e-05 secs (500.00 Kbytes/sec)
ftp>?
本地用戶ftp:
selinux的布爾值
getsebool? -a | grep? ftp? ? ? ?#查看與ftp有關的所有SElinux的布爾值
setsebool? -P? ftpd_full_access? on #開放ftp訪問,-P表示永久生效
1.創建本地用戶,用于操作ftp
[root@REHL ~]# useradd -s /sbin/nologin test
[root@REHL ~]# passwd test
Changing password for user test.
New password:?
BAD PASSWORD: The password is shorter than 6 characters
Retype new password:?
passwd: all authentication tokens updated successfully.
2.設置本地用戶的主目錄
[root@REHL ~]# cd /srv/www/web
[root@REHL web]# cd ..
[root@REHL www]# ls
music? news? web? www_10000
[root@REHL www]# ls -l
total 0
drwxr-xr-x. 2 root root 23 May? 3 18:30 music
drwxr-xr-x. 2 root root 23 May? 3 18:30 news
drwxr-xr-x. 3 root root 33 May 15 11:02 web
drwxr-xr-x. 2 root root 23 May 15 10:28 www_10000
[root@REHL www]# chown -R test web/
[root@REHL www]# ls -l
total 0
drwxr-xr-x. 2 root root 23 May? 3 18:30 music
drwxr-xr-x. 2 root root 23 May? 3 18:30 news
drwxr-xr-x. 3 test root 33 May 15 11:02 web
drwxr-xr-x. 2 root root 23 May 15 10:28 www_10000
3.本地用戶配置文件設置:/etc/vsftpd/vsftpd.conf
local_enable=YES #16行:允許本地用戶登錄
local_root=/srv/www/web #添加至17行:設置本地用戶登錄后的根目錄
write_enable=YES #19行:允許寫入
local_umask=022 #23行:設定新上傳文件(夾)的權限掩碼
connect_from_port_20=YES #添加至43
#chroot_local_user= NO #100行:是否將所有用戶限制在登錄根目錄內
#chroot_list_enable=YES #101行:開啟鎖定用戶的chroot功能
#chroot_list_file=/etc/vsftpd/chroot_list #103行:設置鎖定用戶的列表文件
4.添加本地用戶:/etc/vsftpd/chroot_list
root@REHL vsftpd]# cd /etc/vsftpd
[root@REHL vsftpd]# ls
1? ftpusers? user_list? vsftpd.conf? vsftpd_conf_migrate.sh
[root@REHL vsftpd]# vim chroot_list
[root@REHL vsftpd]# cat chroot_list?
test
[root@REHL vsftpd]#?
5.重啟ftp服務
systemctl restart vsftpd
6.測試
[root@REHL vsftpd]# ftp
ftp> open 192.168.1.10
Connected to 192.168.1.10 (192.168.1.10).
220 (vsFTPd 3.0.2)
Name (192.168.1.10:root): test
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,10,29,8).
150 Here comes the directory listing.
drwxr-xr-x? ? 2 1001? ? ?0? ? ? ? ? ? ? 23 May 15 03:06 123
-rwxr-xr-x? ? 1 1001? ? ?0? ? ? ? ? ? ? 15 May 03 10:37 index.html
226 Directory send OK.
ftp> exit
221 Goodbye.
2017.05.27
Samba服務器:實現Windows和Linux之間的文件共享
服務器:
1.安裝samba.x86_64 + samba-client.x86_64(服務器裝客戶端做測試用)
2.開啟smb 和 nmb服務(systemctl)
systemctl enable smb nmb
ln -s '/usr/lib/systemd/system/smb.service' '/etc/systemd/system/multi-user.target.wants/smb.service'
ln -s '/usr/lib/systemd/system/nmb.service' '/etc/systemd/system/multi-user.target.wants/nmb.service'
systemctl start smb nmb
3.配置文件:
主:/etc/samba/smb.conf
lmhosts:存放
/var/lib/
全局設置節:
workgroup=MYGROUP(默認)
自定義節:
comment=備注信息 #共享節名字,不是共享的主目錄
path=絕對路徑 #指的是共享目錄的絕對路徑)
write_list=用戶名或組名清單 #以空格或逗號隔開,組名前帶@,用戶名則不需帶@)
例:
1.創建共享目錄?
[root@REHL ~]# mkdir /tmp/smb
[root@REHL ~]# touch /tmp/smb/f1
2.設置共享目錄的權限 chmod?
[root@REHL ~]# ls -ld /tmp/smb/f1
-rw-r--r--. 1 root root 0 May 31 16:19 /tmp/smb/f1
[root@REHL ~]# chmod 1777 /tmp/smb/f1
[root@REHL ~]# ls -ld /tmp/smb/f1
-rwxrwxrwt. 1 root root 0 May 31 16:19 /tmp/smb/f1
3.修改配置文件
[root@REHL ~]# vim /etc/samba/smb.conf
設置全局變量:
[global]
? ? ? ? workgroup = MYGROUP
? ? ? ? server string = Samba Server Version %v? ? #進入Samba的提示(標語)
安全設置:
? ? ? ? security = user
? ? ? ? passdb backend = tdbsam
? ? ? ? map to guest = Bad User? ?#允許匿名登錄
自定義共享
#============================ Share Definitions ==============================
[homes]
? ? ? ? comment = Home Directories
? ? ? ? browseable = no
? ? ? ? writable = yes
;? ? ? ?valid users = %S
;? ? ? ?valid users = MYDOMAIN\%S
[printers]
? ? ? ? comment = All Printers
? ? ? ? path = /var/spool/samba
? ? ? ? browseable = no
? ? ? ? guest ok = no
? ? ? ? writable = no
? ? ? ? printable = yes
共享字節模板:
[doc] #共享目錄在客戶端顯示的名字
? ? ? ? comment = Public Stuff
? ? ? ? path = /tmp/smb
? ? ? ? browseable = yes
? ? ? ? guest ok = yes
? ? ? ? writable = yes
? ? ? ? printable = no
4.重啟服務
[root@REHL ~]# systemctl restart smb nmb
5.開啟防火墻
[root@REHL ~]# firewall-cmd --add-service=samba --permanent
success
[root@REHL ~]# firewall-cmd --reload
success
[root@REHL ~]# firewall-cmd --list-all
public (default, active)
? interfaces: eno16777736
? sources:?
? services: dhcpv6-client dns ftp http samba ssh
? ports: 53/tcp 53/udp 80/tcp 10000/tcp 80/udp
? masquerade: no
? forward-ports:?
? icmp-blocks:?
? rich rules:?
[root@REHL ~]#?
6.設置SELinux
安全上下文:samba _share_t
[root@REHL samba]# smbclient //192.168.1.10/doc
Enter REHL's password:?
protocol negotiation failed: NT_STATUS_IO_TIMEOUT
解決:
vim /etc/hosts
添加需要解析的IP地址和主機名
eg:192.168.1.10 REHL
客戶端:
1.samba-client.x86_64 + 永久掛載cifs
2017.05.31
多用戶
1.創建共享文件(節點)
[root@rehl ~]# mkdir /ss
2.編輯配置文件:/etc/samba/smb.conf
[root@rehl ~]# vim /etc/samba/smb.conf?
[test]
? ? ? ? comment = Public Stuff
? ? ? ? path = /ss
write list = @share #加上@表示用戶組,不加表示用戶
3.添加用戶組和用戶
[root@rehl ~]# groupadd share
[root@rehl ~]# useradd -G share -s /sbin/nologin natasha
4.為用戶設置samba密碼,此密碼為登錄Samba的密碼,可以不與登錄系統的密碼一致
[root@rehl ~]# smbpasswd -a natasha
New SMB password:
Retype new SMB password:
Added user natasha.
5.修改共享文件的權限及主目錄
[root@rehl ~]# chown .share /ss
[root@rehl ~]# chmod 775 /ss
客戶端配置自動掛載
1.安裝cifs* samba-cli*
2.編輯密碼文件?
vim /tmp/mima.txt
username=natasha
password=1qaz,
3.編輯/etc/fstab (可參考man mount.cifs)
//192.168.1.10/組名 掛載點?
//192.168.1.10/test? ? ?/ss cifs? ? ? ? defaults,credentials=/tmp/mima.txt,sec=ntlmssp,multiuser? ? ? ? 0? ? ? ?0
4.掛載用戶
[root@rehl ~]# mount -a
測試:
[root@rehl ~]# smbclient //192.168.1.10/test -U natasha
Enter natasha's password:?
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
smb: \> exit
總結
- 上一篇: 【SQL SERVER 2005+版本行
- 下一篇: 仿百度文库文档上传页面的多级联动分类选择