谈谈linux下文件夹权限的问题在homezz.com后面的几个的服务器的数据转移过程中,发现很多homezz.com用户转移到新的服务器上的时候,都出现了这样那样的错误,归根结底,就是文件夹权限设置错误。旧的主机放得太开,对安全性能控制不严格,所以文件权限太大没有做限制,新服务器的安全机制更加严格,因此太大的权限服务器将会拒绝执行。下面开始讲一讲linux下的文件权限。
www.dnjsb.com
linux的文件权限是linux能有如此安全性能的最大的保障之一,有朋友可能会知道,很多攻击windows的方法都是通过漏洞获取到创建用户的权限从而达到控制计算机的目的,在linux下,Root帐户有最大的权限,可以干任何事情,其他用户只能拥有自己的文件的所有权限和该改组成员赋予的文件的权限,下面开始对文件权限的一个说明。读权限R。简单的说就是打开文件查看内容的权限,在web服务器中,若文件没有打开权限,则web服务器则视为该文件不存在,发送404
file
not
found错误,用数字4表示。
www.dnjsb.com
写权限W。一个文件若没有写的权限,那么该文件则无法更改,文件夹若没有写权限,则该文件夹下无法创建新文件,用数字2表示。执行权限X。程序文件若要执行,必须有执行权限,否则无法执行。打开一个文件夹也是执行,所以文件夹若没有执行权限,则无法被打开。用数字1表示。谁拥有这个权限
文件所有者
组内用户
公共用户可读=4
0
0
0可写=2
0
0
0可执行=1
0
0
0实际权限,纵向相加
0
0
0公共用户为所有者和组内用户之外的用户,比如访问web时候,linux可能用公共的用户去读取文件,这里不妨理解成是访客所能操作的那个用户。下面举例(再次提醒,文件夹和文件不一样):文件所有用户可写:
666
(3类用户均可读写)谁拥有这个权限
文件所有者
组内用户
公共用户可读=4
4
4
4
www.dnjsb.com
可写=2
2
2
2可执行=1
0
0
0实际权限,纵向相加
6
6
6接上面的,假设我们吧文件夹设置成0666会怎么样,结果很明显,因为该文件夹没有执行权限,无法被打开,所以设置成0666则无法被访问到。文件夹只可文件所有者有全部权限,组内用户、公共用户可读和执行(755)。一般web根目录文件夹都要这样设置,才安全。再次提示:文件夹没有执行权限,则该用户无法打开。正常的服务器,若根目录权限也为0777,则会出现500错误谁拥有这个权限
文件所有者
组内用户
公共用户可读=4
4
5
4可写=2
2
0
0可执行=1
1
1
1实际权限,纵向相加
7
5
5如果php需要在某文件夹下创建文件,请把该文件的权限全部设置:即可都可写和可执行777谁拥有这个权限
B. 如何开启root权限
首先我们在软件商店下载超级Root大师,然后安装。
打开软件,开始一键ROOT,点击开始Root,稍等一会儿即可开启。
root权限,系统权限的一种,也叫根权限,与SYSTEM权限可以理解成一个概念,但高于Administrator权限,root是Linux和unix系统中的超级管理员用户帐户,该帐户拥有整个系统至高无上的权力,所有对象他都可以操作。
获得root权限之后就意味着已经获得了系统的最高权限,这时候你可以对系统中的任何文件(包括系统文件)执行所有增、删、改、查的操作。
作为Linux系统管理员,Linux忘记root密码怎么办?或者是在不知道root密码,想强制更改root密码。本文章只针对grub方式引导的方式下如何破解Linux的root密码。
我们知道在不知道root密码的情况下要通过runlevel运行级别为1扦就是我们通过所说的单用户模式是进行重置root密码。
C. Linux文件权限一:普通权限(rwx)
一、查看文件的普通权限
1.ls -l [file | dir],查看一个文件或者目录内部所有文件的权限
2.ls -ld dir,查看一个目录本身的权限
二、rwx权限的含义
三、普通权限的设置
四、修改user或者group
五、
六、命令与杂谈
进入需查看子级权限目录,ls -lh查看所有权限 rwx代表着权限,如图代表 777 对应三个群体,自己 所在组 其他
而如果需要修改 则进入文件夹 输入 chmod -R 777 则可把所在文件夹所有文件以递归方式进行修改权限
七、 其他
1.mac可在终端 输入> ssh [email protected](输入你远程服务器的IP地址可进行远程操作)
root表示以root用户进入,如果要使用其他用户则对应替换即可)
2.然后输入服务器密码
3.成功进入,如我的输出Welcome to Alibaba Cloud Elastic Compute Service !
远程控制tomcat开关重启
1.登录成功后在命令行 cd /user/tomcat/apache-tomcat-7.0.90/bin/ 目录下
2.启动tomcat,命令行 sh startup.sh
3.关闭tomcat,命令行 sh shutdown.sh
D. linux里如何把一个文件更改成所有的用户都有可执行权限
linux里把一个文件更改成所有的用户都有可执行权限可以使用以下命令:
chmod 777 filename
其中chmod可以藉以控制文件如何被他人所调用。
1、chmod语法
chmod [-cfvR] [--help] [--version] mode file...
2、chmod参数说明
mode : 权限设定字串,格式如下 :
[ugoa...][[+-=][rwxX]...][,...]
(4)linux用户根文件权限扩展阅读
chmod可以用数字来表示权限如 :
chmod 777 file
语法为:
chmod abc file
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4,w=2,x=1
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=5。
E. Linux文件目录权限
Linux中文件目录的权限分为三个群组, 拥有者 、 所在群组 、 其他组 ,每个群组可以单独设置 读 、 写 、 执行 三种权限。
一般用3位数字表示,如:777,644,640等
数字的意义就是读写执行三个数字相加得来
解析:
777:所有用户都有读、写、执行权限
644:只有拥有者有读写权限;而属组用户和其他用户只有读权限
640:只有拥有者有读写权限;而属组用户只有读,其他用户无权限
修改权限命令
用符号操作权限
F. Linux默认的文件及文件夹的权限分别是多少
在linux中,来一位用户在创建源文件和目录时,对其具有的权限都是一样的,
在linux系统中任何文件/目录都有一定的权限,对于新创建的文件或目录,也会有默认的访问权限。可能是出于安全的考虑,linux系统linux系统新建文件默认没有执行权限,其最大权限为rw-rw-rw-(666),新建目录的最大权限为rwx-rwx-rwx(777)。而默认的权限与umask命令有关。
、umask介绍
umask指定当前用户在新建文件和目录时的默认权限,其值可以通过umask命令得到,其值的含义与chmod 命令是补码的关系。也可以通过umask -S直接查看默认权限。
注意:umask -S 显示的是目录的默认权限>
例如:umask 0002
新建文件的权限为(最大权限666-002)664,即rw-rw-r--
新建目录的权限为最大权限(777-002)775,即rwxrwxr-x
G. 在linux中怎么给文件夹赋权限
在linux中给文件夹赋权限的步骤如下:
1.首先,咱们用客户端工具(工具很多,我用的是xshell),用需要建立的文件夹的账户登录系统,例如我现在是用的Root用户。红色框框内,写着root证明,登录的用户没有问题。
H. linux下根目录“/”权限问题
linux只有一个根。你可以给你的硬盘进行分区,但是,分区设备一定挂载到linux根目录下的指定位置,如你所版说的/usr,/var,/home等。如果你要对分区进行操作的话,只能到分区所挂载的目录中进行操作。所以,不管你对你的硬盘分了多少个区,你总是要将这些分区挂载到根权目录底下才可以使用。到最后你的linux系统还只有一个根。不能以使用windows的思想来想linux。
I. linux 给所有文件下文件加权限
1、更改文件用户组。使用命令chgrp,命令如下。
J. 如何恢复linux系统根分区文件权限
linux系统如果执行了chmod -R 777 / 后,系统等于瘫痪。
因为su,mount等需要s权限(4755)的命令无法使用,ssh的key和一些ssh相关的系统文件夹不能是777权限。那么,如果使用root用户改了错误的权限后,怎么恢复呢?
思路是这样的:通过装一个相同的新系统,把系统文件的权限导出,再导入损坏系统。
我就碰到过一次这样的情况,系统管理员误操作,改变了大部分的系统文件权限,现在把解决过程记录如下。
1、尝试使用getfacl导出新系统的文件权限,再setfacl导入损坏系统;结果失败。
这样看似简单可行,但是getfacl不会导出文件的Special Permissions权限。无法正确恢复su等命令的权限。
关于Special Permissions可以看之前的文章:linux常用+经典命令:Special Permissions设置部分
2、写个程序导出新系统文件权限再写个shell导入损坏系统。
以下c程序make之后可以生成.out的可执行文件,使用filename.out /bin >> pe.txt 导出/bin目录下的文件权限到pe.txt文件。
#include
#include
int list(const char *name, const struct stat *status, int type)
{
if(type == FTW_NS)
return 0;
printf(“\”%s\” 0%3o\n”, name, status->st_mode & 07777);
return 0;
}
int main(int argc, char *argv[])
{
if(argc == 1)
ftw(“.”, list, 1);
else
ftw(argv[1], list, 2);
exit(0);
}
将pe拷贝到损坏系统,使用如下脚本执行之:filename.sh pe.txt
view plain to clipboardprint?
#!/bin/sh
if [ $# != 1 ]
then
echo Usage : $0 \
exit
fi
PERMFILE=$1
cat $PERMFILE | while read LINE
do
FILE=`echo $LINE | awk '{print $1}'`
PERM=`echo $LINE | awk '{print $2}'`
chmod $PERM $FILE
#echo "chmod $PERM $FILE"
done
echo "change perm finished! "
自己安装的软件的权限仍然是777,可以手动改回来或者重新安装。
++++++++++++++++++++++++++++++++++++++++++++++++++
http://blog.sina.com.cn/s/blog_764cc7ef0100szui.html
操作系统 RHEL5
如果你在linux上执行了如下操作
chmod -R 777 / 或者 chmod -R 700 /
那么恭喜你,你的系统即将崩溃,重启之后,你进不了图形界面,而且很多服务都起不来
为什么呢?
因为linux中,系统的有些文件和目录权限都是严格要求的,比如说/tmp和/root里的一些重要文件的权限都是至关重要的
一旦文件权限受到破坏,会直接影响系统的正常启动及使用。
那么我们碰到这种情况怎么办呢?
1、手动的将各个文件的权限进行对照还原(假如你很有时间的话)
2、找到一台环境相同的linux机器(最好干净一些),并进行下面操作
1> getfacl -R / >systemP.bak 将这个系统中的 / ,以及 / 底下所有的文件及目录权限导出到一个文件中
2> 将systemP.bak文件想办法拷贝到被破坏的机器上
并执行setfacl --restore=systemP.bak
3> 重启系统
4> 将 passwd命令和 su命令的权限进行手动恢复
chmod u+s `which passwd`
chmod u+s `which su`
看看是不是完活了
注:可能不能完全还原,但起码可以进入一个较为完整的图形界面操作,其他的报错应该就可以在这个基础上进行解决了,比如有些服务。这里就不多讲了。