工作中的系统管理员希望我们从特定文件系统中的所有文件和目录中删除所有世界权限。通常,我会同意这种安全做法。但是,我不明白这样做的意义,因为父目录只允许特定组中的用户访问文件系统。
例如,父目录具有以下权限:
drwxr-x--- 5 root group 4096 Apr 7 15:27 /example
Run Code Online (Sandbox Code Playgroud)
并且子目录具有以下权限:
drwxrwxrwx 2 user group 4096 Apr 10 00:34 /example/dir1
drwxrwxrwx 2 user group 4096 Apr 8 12:52 /example/dir2
drwxrwx--- 2 user group 4096 Apr 12 08:13 /example/dir3
Run Code Online (Sandbox Code Playgroud)
注意:/example/dir1和/example/dir2是当前存在的。/example/dir3是我们的系统管理员想要的权限。
有来自世界上删除权限的任何好处/example/dir1,并/example/dir2在当时只有用户group可以访问此文件系统?最佳做法是什么?
我正在尝试递归更改项目中所有文件和目录的权限。
我在 magento 论坛上发现一个帖子说我可以使用这些命令:
find ./ -type f | xargs chmod 644
find ./ -type d | xargs chmod 755
chmod -Rf 777 var
chmod -Rf 777 media
Run Code Online (Sandbox Code Playgroud)
它适用于find ./ -type d | xargs chmod 755.
该命令find ./ -type f返回了很多文件,但chmod: access to 'fileXY.html' not possible: file or directory not found如果我执行find ./ -type f | xargs chmod 644.
我该如何解决这个问题?
PS:我知道他建议我的var和media文件夹使用777权限,存在安全隐患,但我们还应该使用什么?
我从 Windows 7 升级到 Debian 9,从 NTFS 驱动器复制了项目中使用的大部分文件。
我看到 :
drwxrwxrwx而不是
drwxr-xr-x.-rw-r--r--.有没有一种简单的方法可以递归地纠正这个问题?
achmod我想,但我不习惯它的参数。
文件和文件夹应具有不同的权限。
我有一个常规文件,我将其权限更改为444. 我知道由于文件受写保护,我们无法修改或删除文件的内容,但是当我尝试使用 删除此文件时rm,它会生成一个警告,说明我是否要删除写保护的文件。我的疑问是这不是取决于文件是否可以删除的目录权限?为什么rm即使目录具有写入和执行权限也会生成警告。是否可以删除文件还取决于文件权限吗?还是完全依赖于目录权限?
我将一个项目目录复制到便携式硬盘,擦除我的笔记本电脑并将项目复制回来,但现在 git 报告由于以前具有 644 权限更改为 755 的文件而导致的大量更改。
我可以递归地将所有文件和目录 chmod 为 644,但随后我在 git 中加载了更多更改(因此看起来以前并非所有内容都是 644)。有没有办法只修改具有 755 权限的文件?
Windows 驱动器在启动时使用pysdm 挂载。设置是
nls=iso8859-1,users,umask=002,sync,user,dirsync,uid=mtk
当我尝试使用 chmod 更改文件的权限时,我没有看到权限中有任何更新。Chmod 安静地返回提示。此外,创建的文件的权限必须是 755 而不是 775。这是终端的输出。
mtk@mtk-laptop$ umask
0022
mtk@mtk-laptop$ touch abc.txt
mtk@mtk-laptop$ ls -l abc.txt
-rwxrwxr-x 1 mtk root 0 May 14 00:00 abc.txt*
mtk@mtk-laptop$ chmod ugo-x abc.txt
mtk@mtk-laptop$ ls -l abc.txt
-rwxrwxr-x 1 mtk root 0 May 14 00:00 abc.txt*
mtk@mtk-laptop$
Run Code Online (Sandbox Code Playgroud)
有谁知道这背后的问题是什么?
我正在使用 ubuntu 12.04。
为什么我可以在我的笔记本电脑硬盘上的文件上执行 chmod,但是当我在我的外部驱动器上创建文件时,我无法更改它们的访问权限。
我这样做:
chmod 755 somefile,并且在我的本地驱动器上,权限会相应更改,
但是相同的命令在我的外部驱动器上没有任何作用。
怎么会?
要使某些项目 X 世界可读,仅对其拥有正确的权限是不够的:通向它的绝对路径的每个组件也必须具有正确的权限。(我的理解,如果我错了,请纠正我,是 X 本身必须设置其全局可读 (4) 位,并且其路径中的每个目录组件都必须设置其全局可执行 (1) 位。)最简单的方法来做到这一点?
FWIW,我最好的猜测是:
function _mkwr {
chmod o+x $1 || return 0
parent=$( dirname $1 )
if [[ $parent = $1 ]]; then return 0; fi
_mkwr $parent
}
function mkwr {
chmod o+Xr $1
_mkwr $( dirname $1 )
}
Run Code Online (Sandbox Code Playgroud) 我在 CentOS 5 服务器上托管了一个 php 应用程序。该应用程序通过名为 openmgr 的 ssh 文件运行一些命令。为此,我想授予-rwsr-xr-x该文件的权限。
我试过了chmod +x openmgr,但这只是-rwxr-xr-x允许。如何rwsr为文件添加?