linuxweb許可權
A. 為啥linux下web目錄文件許可權為777 但是php無法寫入
虛擬機安裝linux系統,所有許可權都是777的情況下任然無法訪問,這個問題卡了我兩天,最後嘗試了以下這個方法,終於解決了。
解決:關閉SELinux
關閉SELinux的方法:
1. 臨時關閉: 使用命令setenforce 0
2. 永久關閉: 修改/etc/selinux/config文件中設置SELINUX=disabled ,然後重啟伺服器。
相關信息:
SELinux(Security-Enhanced Linux) 是美國國家安全局(NSA)對於強制訪問控制的實現,是 Linux歷史上最傑出的新安全子系統。在這種訪問控制體系的限制下,進程只能訪問那些在他的任務中所需要文件。SELinux 默認安裝在 Fedora 和 Red Hat Enterprise Linux 上,也可以作為其他發行版上容易安裝的包得到。
對訪問的控制徹底化MAC(Mandatory Access Control)
對於所有的文件,目錄,埠這類的資源的訪問,都可以是基於策略設定的,這些策略是由管理員定製的、一般用戶是沒有許可權更改的。
TE (Type Enforcement)– 對於進程只賦予最小的許可權
Te概念在 SELinux里非常的重要。它的特點是對所有的文件都賦予一個叫type的文件類型標簽,對於所有的進程也賦予各自的一個叫 domain的 標簽。Domain標簽能夠執行的操作也是由access vector在策略里定好的。
domain遷移 –防止許可權升級
對於用戶只賦予最小的許可權
B. linux的許可權和web訪問的關系
首先應該是apache的登陸許可權,登陸後用戶身份是apache定義或轉義的,然後是可以觸碰資源的許可權,也就是你說的了.
C. linux開啟啟動web服務
1.寫服務文件web.service:如nginx.service、redis.service、supervisord.service
2.文件保存在目錄下:以754的許可權。目錄路徑:/usr/lib/systemd/system
3.設置開機自啟動(任意目錄下執行)。如果執行啟動命令報錯,則執行:systemctl daemon-reload
4.啟動
5.停止/重啟
6.取消開機啟動
D. Linux 如何開啟web伺服器redhat
1,基於apache的web伺服器基礎搭建:
(1)實驗環境:一台ip為192.168.10.10的rhel5.9主機作為web伺服器,一台ip為192.168.10.15的win7主機作為測試機
(2)查看服務主機軟體是否安裝
[root@ser1 ~]# rpm -q httpd httpd-manual httpd-devel
package httpd is not installed
package httpd-manual is not installed
package httpd-devel is not installed
(3)安裝軟體包
[root@ser1 ~]# yum install -y httpd httpd-manual httpd-devel
(4)啟動服務
[root@ser1 ~]# service httpd start
啟動httpd: [確定]
[root@ser1 ~]# chkconfig httpd on
(5)在win7上測試,無網頁預設下顯示紅帽測試頁
<報錯頁面存放位置/var/www/error/noindex.html>
.jpg
(6)打開配置文件
[root@ser1 ~]# vim /etc/httpd/conf/httpd.conf
可獲得以下重要欄位:
目錄設置:
<Directory 目錄> .. .. </Directory>
訪問位置設置:
<LocationURL> .. .. </Location>
虛擬主機設置:
<VirtualHost 監聽地址> .. .. </VirtualHost>
常用的全局設置參數:
ServerName本站點的FQDN名稱
DocumentRoot網頁文檔的根目錄:預設/var/www/html/
DirectoryIndex默認索引頁/首頁文件:一般設為index.html index.php
ErrorLog錯誤日誌文件的位置
CustomLog 訪問日誌文件的位置
Listen 監聽服務的IP地址、埠號
ServerRoot 服務目錄:/etc/httpd/
Timeout網路連接超時,默認 300 秒
KeepAlive是否保持連接,可選On或Off
MaxKeepAliveRequests每次連接最多處理的請求數
KeepAliveTimeout保持連接的超時時限
Include 可包含其他子配置文件: /etc/httpd/conf.d/
(7)創建測試網頁
[root@ser1 ~]# vim /var/www/html/index.html
<h1>
This is a test page !!!
</h1>
~
(8)win7下測試,主頁變為測試網頁
.jpg
2,基於apache的web伺服器的訪問控制:
(1)web服務的地址限制
I,rder 配置項,定義控制順序
allow,deny 先允許後拒絕,預設拒絕所有;沖突時,拒絕生效;allow不設置,拒絕所有
deny,allow 先拒絕後允許,預設允許所有;沖突時,允許生效;deny不設置,允許所有
II,Allow/Deny from 配置項,設置許可權
Allow from 地址1 地址2 .. ..
Deny from 地址1 地址2 .. ..
配置如下:
[root@ser1 ~]# vim /etc/httpd/conf/httpd.conf
331 #
332 Orderallow,deny
333 Allowfrom 192.168.20.0/24
334
335 </Directory>
[root@ser1 ~]# service httpd restart……重啟服務
停止httpd: [確定]
啟動httpd: [確定]
在win7上測試,測試完成並還原配置文件:
.jpg
E. 為啥linux下web目錄文件許可權為777 但是php無法寫入
這個是要添加可執行許可權么 試試,chmod a+x /(文件所在目錄) 這個是給所有身份添加可執行許可權的!
PHP 的mkdir命令受apache賬號許可權限制,只能創建低於其許可權的目錄
但chmod不受其限制
代碼:
[php] view plain
function makeDir($dir, $mode = 0777) {
if (!$dir) return false;
if(!file_exists($dir)) {
mkdir($dir,$mode,true);
return chmod($dir,$mode);
} else {
return true;
}
}
你好好看看這個http://www.linuxprobe.com/chapter-05.html是不是自己有那個地方弄錯了 ,希望可以幫助你啊
F. linux下web伺服器文件夾的許可權設置問題
解決了 就關閉啊 留著 耍人啊
G. Linux web目錄許可權設置編寫shell腳本
#!/bin/bash
#1.對該目錄下所有的子目錄及以下目錄都設置成為 755許可權
find . -type d | sed 1d | xargs -i chmod 755 -R {}
#2.對該目錄下的所有文件設置 644的許可權。
ll | sed 1d | grep -v ^d | awk '{print $NF}' | xargs -i chmod 644 {}
H. linux新建的一個用戶web,怎麼沒有任何許可權,使用cp ,rm ,mkdir等命令都是沒有許可權,怎麼解決這個問題
應該是你所處的不在你的家目錄里,一般只有系統用戶才可以在沒有該目錄的許可權的情況下創建目錄復制文件等
如果想提升用戶許可權可以使用 usermod web -u 499 即可將該用戶升級為管理員級別
I. Linux如何只允許一個用戶訪問web
先看用戶是不是文件所有者,再看是不是所屬組,最後看是不是其他用戶,如果是其中一個,就有許可權。
要實現只用域名訪問而不用IP訪問,要看所使用的web伺服器軟體,以nginx為例,可以通過如下方法進行設置:用vim打開nginx的配置文件,一般為nginx/conf/nginx.conf。在server的設置裡面添加如下內容即可。