linux目录文件权限设置命令详解

在Linux下,web目录和文件权限必须从整体上考虑系统的安全。一般情况下,对目录,需要设置 r(读取)和x(执行)权限,有的目录同时还需要w(写入权限);对文件,需要r(读取),有的文件需要w(写入)权限或x(执行)权限。

在Linux系统中,使用命令umask设置创建文件或目录的默认rwx权限,系统默认的umask设置是022,这个权限的计算相当于文件、目录权限的掩码,例如此时创建的目录权限755 (rwxr-xr-x),那么其umask权限相当于相对777的掩码022;而此时创建的文件权限为644 (rw-r–r–),其umask权限相当于相对666的掩码022。

当然,这样的权限设置很不安全,同一台server上的不同用户(可能相同也可能不同用户组)/虚拟主机用户能够互相窥探到对方的源码,umask值必须修改的比较严格,以使得除root权限之外,不能随意互相窥探其他人的源码、数据库资料等。

设置方法是:去掉同用户组和其他用户组的r(读取)权限,具体做法是设置目录权限为500(读取+执行)同时文件权限为400(读取),此时umask应设置为277,设置目录权限为700(读取+写入+执行)同时文件权限为500(读取+执行),此时umask应设置为177。

例如对于后者,我们可以使用命令 umask 177设置当前对话下的默认目录、文件创建权限,如果要永久设置,就要修改/root/.bash_profile以及所有用户home的录下的.bash_profile文件,将其中的 umask 022改为 umask 177。

从以上可以看出,如果要设置较为安全的目录、文件权限,几个基本原则就是:

1、尽可能减少web路径下可写入目录的数量。

2、文件的写入和执行权限只能选择其一,避免同时出现写入和执行权限。

Linux文件具有四种访问权限:可读(r)、可写(w)、可执行(x)和无权限(-)。
在终端里输入 ls -l 命令可以查看当前目录下某个文件或目录的权限,显示每行数据的第一个字段就是它的权限内容。第一个字段由10个字符组成,如:

 

-rwxr-xr-x

第一位表示文件类型,-表示文件,d表示目录,后面的每三位字符分别表示三个不同用户组所具有的权限。
2-4位表示文件所有者的权限,即u(usesr)权限
5-7位表示文件所有者所属组成员的权限,g(group)权限
8-10位表示所有者所属组之外的用户的权限,o(others)权限
2-10位的权限总和有时称为a(all)权限
上面的那个字段,表示这是一个文件(非目录),文件所有者具有读、写和执行的权限,
所有者所属组成员和所属组之外的用户具有读和执行的权限而没有写的权限。
r、w和x也可以分别用4、2、1来代表,没有授予权限的则为0,这在修改权限时会比较方便。

linux下修改文件权限用chmod命令。

chmod命令有两种用法。一种是包含字母和操作符的表达式,即文字设定法;另一种是包含数字的数字设定法。

1. 文字设定法

chmod 〔who〕 〔+ | - | =〕 〔mode〕 文件名
其中who可以是上面提到的u、g、o、a中的任一个或者它们的组合。操作符+、-、=分别代表添加某个权限、取消某个权限、赋予给定权限并取消其他所有权限(如果有的话)。
mood则是r、w、x的任一组合。
例如:
chmod g+r,o+r fileName
表示给同组和其他用户添加对文件fileName的读权限。

2. 数字设定法则比较简单

chmod 〔mode〕 文件名
不用管是要添加什么权限,而是可以直接设定具有什么权限了,这里的mood是一个三位数,每位数字可以是1至7中的任一个,代表对应的某种用户类型的权限,如:
chmod 777 fileName
这个表示所有用户都具有fileName的所有权限,这是很危险的事。在linux中修改权限,要用到管理员权限,如ubuntu中要用sudo或者切换到root帐号。
chmod后面还可以带参数,主要有 -R(修改目录时要用到) -v(显示操作)。
如:

chmod -R 755 dirName
把dirName下的所有文件及目录的权限修改为755,是一个对目录的递归操作。

chmod

【语法】chmod [选项][参数]
【详解】chmod命令用于改变文件或目录的权限,设置权限有字符和数字两种设定方法。
在数字设定法中,0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,以上数字相加所得到的数最最终权限。如可写可读为6,可执行和可读为5权限。
在英文设定法中,r表示可读权限,w表示可写权限,x表示可执行权限,-表示无任何权限。

选项说明】

 

选项 相应功能
u 操作对象简称,用户user,文件或目录的所有者。
g 操作对象简称,同组用户group,文件或目录所属群组
o 操作对象简称,其它用户others
a 操作对象简称,所有用户all,系统默认使用此项
+ 权限操作符,添加某些权限
- 权限操作符,取消某些权限
= 权限操作符,设置文件的权限为给定的权限
r 权限设定(英文),表示可读权限
w 权限设定(英文),表示可写权限
x 权限设定(英文),表示可执行权限
- 权限设定(英文字符),表示没有权限
X 权限设定,如果目标文件是可执行文件或目录,可给其设置可执行权限
s 权限设定,设置权限suid和sgid,使用权限组合“u+s”设定文件的用户的ID位,“g+s”设置组ID位
t 权限设定,只有目录或文件的所有者才可以删除目录下的文件
-c 如果文件权限已经改变,显示其操作信息
-f 操作过程中不显示任何错误信息
-R 修改指定目录下所有文件或子目录的权限
-v 显示命令运行时的详细执行过程
--help 显示帮助信息
--version 显示版本信息

【参数说明】

参数 相应功能
文件 指定改变权限的文件或目录的名称。

例子

将/home/wwwroot/里的所有文件和文件夹设置为755权限

(1)直接指定路径修改

chmod -R  755 /home/wwwroot/*

(2)手动进入该目录修改权限(并显示详细过程)

cd /home/wwwroot
chmod -Rv  755 *       #注意:“*”表示通配符,指的是所有文件和文件

时间: 2024-08-03 04:05:18

linux目录文件权限设置命令详解的相关文章

Linux下的文件权限设置修改详解

我们已经知道文件权限对于系统的安全重要性了,也知道文件权限与用户与用户组的关系了,那么,如何修改文件的权限呢?我们可以修改多少文件权限呢?其实,一个文件的权限很多.我们先介绍几个简单的,例如:用户组.拥有者.各种身份的权限等等. • chgrp:改变文件所属用户组 . • chown:改变文件拥有者. • chmod:改变文件的属性.SUID等特性. 更改所属用户组, chgrp 改变文件的用户组很简单,直接用chgrp即可,这个命令就是change group(改变用户组)的缩写.这样就很好记

linux sort,uniq,cut,wc命令详解

linux sort,uniq,cut,wc命令详解 sort sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出.如果 File 参数指定多个文件,那么 sort 命令将这些文件连接起来,并当作一个文件进行排序. sort语法 [root@www ~]# sort [-fbMnrtuk] [file or stdin] 选项与参数: -f :忽略大小写的差异,例如 A 与 a 视为编码相同: -b :忽略最前面的空格符部分: -M :以月份的名字来排序,例如 JAN,

Linux 下目录文件权限(命令)的查看和修改_Linux

Linux 下目录文件权限的查看和修改 在我的服务器下面有这几个文件夹 同时用ls -l也可以查看到这几个文件的权限. 看其中的assets文件一共有十位数,其中: 最前面那个 - 代表的是类型 中间那三个 rwx 代表的是所有者(user)拥有的权限 然后那三个 rwx 代表的是组群(group)拥有的权限 最后那三个 rwx 代表的是其他人(other)拥有的权限 r 表示文件可以被读(read) w 表示文件可以被写(write) x 表示文件可以被执行(如果它是程序的话) -表示相应的权

linux中 关于screen 的命令详解_Linux

一.背景 系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份.ftp 传输等等.通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为它们执行的时间太长了.必须等待它们执行完毕,在此期间不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废了. 二.简介 GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件.用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换. GNU

简述linux的文件权限设置

文件的三个最基本的权限是读写执行 r,读,可以读取文件,对目录来说可以列出目录的文件列表   4 w,写,可以修改删除文件,对目录来说可以创建删除文件      2 x,执行,可以执行文件,对目录来说可以cd进入目录          1 注意点:目录上只有执行权限,则可以进入或者穿越此文件夹,但是要访问此文件夹下有读取权限的文件,则必须输入文件名,只有执行权限的文件夹,不能列出目录,也不能删除目录 特殊位,SUID,SGID,stickt-bit位,如果设置了SUID的可执行文件被执行的,文件

Linux下的压缩解压缩命令详解

linux zip命令 zip -r myfile.zip ./*将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件. 2.unzipunzip -o -d /home/sunny myfile.zip把myfile.zip文件解压到 /home/sunny/-o:不提示的情况下覆盖文件:-d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下: 3.其他zip -d myfile.zip smart.txt删除压缩文件中

一天一个shell命令 linux好管家-磁盘-du命令详解_linux shell

du命令 磁盘管理 du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的. 语法 du [选项][文件] 选项 -a或-all 显示目录中个别文件的大小. -b或-bytes 显示目录或文件大小时,以byte为单位. -c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和. -k或--kilobytes 以KB(1024bytes)为单位输出. -m或--megabytes 以MB为单位

Linux 系统NTFS-3G 权限的配置详解

这个知识点居然没有记录,果然时间长久以后就会遗忘,遂记录. 一般情况下,我们在 Linux 下挂载 ntfs,是安装 ntfs-3g 后进行的,即: # mount -t ntfs-3g /dev/sdb1 /mnt/data 这样临时解决下可以,但是会涉及到权限问题,就是说,/mnt/data 下的所有文件都必须 root 权限.于是我们加入一些参数让当前用户也可以访问修改: # mount -t ntfs-3g -o uid=username,gid=users /dev/sdb1 /mnt

Linux最大文件打开数使用经验详解

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://dgd2010.blog.51cto.com/1539422/1676843 首先普及几个知识: Linux下一切都是文件,包括输入输出设备.网络连接.socket.管道等 与文件打开数最相关的是文件描述符(有的人喜欢称作文件标识符,英文为file descriptor),文件打开数的实质就是文件描述符的数量 文件打开数的多少取决于系统种类.内存大小,int(语言关键字,如C99