我打算做的一件事是编写(非常简单的)Perl脚本,并且我希望能够运行它们而无需从终端显式调用Perl。 我对此表示赞赏,我需要授予他们执行权限。 使用chmod做到这一点很容易,但是这似乎是一个稍微费力的额外步骤。 我想要的是以下两件事之一:
首先,在保存文件时是否可以设置执行标志? 目前,我正在尝试使用gedit和geany,但如果具有此功能,则愿意切换到功能类似(或更好)的编辑器。
失败了,有没有办法声明在特定目录中创建的所有文件都应具有执行权限?
据我了解,我的umask设置为022,应该可以,但是看起来文件是作为文本文件(具有666个默认权限)创建的,而不是作为可执行文件(具有777个默认权限)创建的。
也许我只是在偷懒,但是我认为必须有一种更便利的方法,而不是修改一个人创建的每个脚本。
为什么我不能将所有文件都更改为644,将所有-d更改为755,这是为什么呢?
find . -type f -exec chmod 644 {} ;
我得到:查找:`-exec'缺少参数 谢谢
受此问题讨论的启发,这可能是一个愚蠢的问题。
我们都被告知,将目录或文件留在基于Linux的Web托管上,其权限级别为777
是一件坏事,并且始终设置必要的权限。
我现在很好奇利用的危险到底在哪里,特别是在PHP / Apache上下文中。
毕竟,无论它是否标记为“可执行”,都可以从外部执行PHP脚本文件(即,通过调用Web服务器,然后调用解释器),不是吗? 同样适用于通过命令行777
解释程序调用的文件,对吗?
那么777
的漏洞到底在哪里? 是同一台计算机上的其他用户可以访问可写的文件吗?
我使用的代码库已从Git存储库检出到我的Linux机器上。 由于我们的生产代码被编写为可以在Linux上部署,因此我在Linux机器上进行了所有测试,但希望将Windows用于日常使用,包括代码编辑/创作。
为此,我创建了文件夹(我的主文件夹)的Samba共享,我在其中签出了代码,如下所示:
[wgrover]
path = /home/wgrover
available = yes
valid users = wgrover
read only = no
browsable = yes
public = yes
writable = yes
但是,当我从Windows中的samba共享create mask
编辑文件时,Linux中的文件许可权会不断更改为create mask
,即使在编辑之前是fileMode = false
。
这样一直显示在我的create mask
中,如下所示:
diff --git a/debian/maggie.nginx.conf b/debian/maggie.nginx.conf
old mode 100644
new mode 100755
index 7cda506..7eab574
可以在smb.conf中设置create mask
,但这也不会“保留”原始文件权限。 我可以通过在.gitconfig
中设置fileMode = false
来忽略git中的文件模式更改,但这也忽略了该问题。
从Linux修改文件权限后,有什么方法可以保留它们?
当我进入vagrant虚拟机时,我可以更改vagrant用户文件夹上方和外部的文件和文件夹的权限,以及vagrant用户文件夹内文件的权限。 但是不能更改无业游民的用户文件夹下的文件夹的权限。 我是否以无业游民的用户名和root用户身份登录存在相同的问题。
在无业游民的用户的文件夹中更改权限是否有某种限制? vagrant用户文件夹未与主机操作系统共享,但capistrano部署文件夹和docRoot共享。
来宾是CentOS 6,主机是OS X 10.7。 无业游民是1.0.5。 Virtualbox是4.2.1。
我需要使用chmod将所有文件递归更改为664。我想跳过这些文件夹。我当时想做这样的事情
ls -lR | grep ^-r | chmod 664
我猜这是行不通的,因为我无法通过管道插入chmod有人知道这样做的简单方法吗?
谢谢
如何在Linux中创建一个目录并在单个命令中授予权限?
我必须创建许多具有完全权限的文件夹777
。
mkdir path/foldername
chmod 777 path/foldername
我不喜欢在两个命令中创建和授予权限。 我可以用单一命令执行此操作吗?
最近我使用的是Python模块os,当我试图更改文件的权限时,我没有得到预期的结果。 例如,我打算将权限更改为rw-rw-r--,
os.chmod("/tmp/test_file", 664)
所有权许可实际上是-w - wx ---(230)
--w--wx--- 1 ag ag 0 Mar 25 05:45 test_file
但是,如果我在代码中将664更改为0664,结果就是我需要的,例如
os.chmod("/tmp/test_file", 0664)
结果是:
-rw-rw-r-- 1 ag ag 0 Mar 25 05:55 test_file
任何人都可以帮助解释为什么领先的0对于获得正确的结果如此重要?
我想在可执行的python脚本中创建一个文件。
import os
import stat
os.chmod('somefile', stat.S_IEXEC)
看来os.chmod
没有像unix chmod
那样'添加'权限。 在最后一行注释掉的情况下,该文件的文件模式为-rw-r--r--
,未注释掉,文件模式为---x------
。如何在保持其余模式完整的同时添加u+x
标志?
在网上很难找到针对这个问题的Mac特定答案,所以我希望那里有人能为我安排这个问题吗? 我的权限被搞砸了我的网站,我不知道如何解决它们而不仅仅在一切明显不正确的情况下抨击递归777。
谢谢!
如何在Linux中创建一个目录并在单个命令中授予权限?
我必须创建许多具有完全权限的文件夹777
。
mkdir path/foldername
chmod 777 path/foldername
我不喜欢在两个命令中创建和授予权限。 我可以用单一命令执行此操作吗?
如何使用linux
命令提示符中的chmod
将所有文件更改为644并将所有文件夹更改为755? (终奌站)
我正在努力在Amazon EC2实例上设置Panda。我昨晚设置了我的帐户和工具,使用SSH与我自己的个人实例进行交互没有任何问题,但是现在我没有被允许进入Panda的EC2实例。熊猫入门
我收到以下错误:
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
Permissions 0644 for '~/.ec2/id_rsa-gsg-keypair' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
为了昨晚进入我的个人实例,我已经将我的密钥对chm编译为600,并且在长度上进行了实验,将权限设置为0甚至生成新的密钥字符串,但似乎没有任何工作。
任何帮助都将是一个很大的帮助!
嗯,好像除非在目录上将权限设置为777,ec2-run-instances脚本无法找到我的密钥文件。我是SSH的新手,所以我可能会忽略一些东西。
我有一个归档,由其他人归档,我想在下载后自动更改提取文件中的文件系统分支以获得读取权限。 (我无法更改存档的创建方式)。
我查看了这个帖子:chmod:如何递归地将执行权限添加到已经具有执行权限的文件中,而不是其他一些文件,但没有快乐。
目录最初带有多个但都是错误的标志,它们可能显示为:
drwx------
d---r-x---
drwxrwxr-x
dr--r-xr--
这些只是我到目前为止发现的少数几个,但可能更多。
尝试查看没有x
权限的目录时出现find
错误,因此未将其传递给chmod
。到目前为止我一直在做的是手动更改父目录的权限,然后进入子目录并执行 对他们来说也一样,等等。 但这是很多手工劳动。 有没有办法自动完成这个?
即 我现在怎么做:
做:
$ chmod -R +x
$ chmod -R +r
直到我没有错误,然后
$ find -type f -exec chmod -x {} +
但必须有更好的方法。
这个问题在这里已有答案:
我有一个web目录store
和该目录中名为store
的文件夹。
store
内有几个文件和文件夹。 我想给文件夹store
和store
文件夹中的所有文件和文件夹的所有权限。
我该怎么做呢? 我猜是通过.htaccess。
我看过这里,但没有找到关于最佳文件权限的任何细节。 我也在这里看了一些WordPress表格的问题,但任何暗示777的人显然都需要一点安全教训。
总之,我的问题是这个。 我应该拥有以下权限:
然后是每个文件夹中的所有文件?
有没有办法为755
设置htdocs
及其所有内容,包括子文件夹和文件?
此外,在将来,如果我在htdocs
内创建一个新文件夹或文件,它的权限如何自动设置为755
?
这有效,但仅适用于此文件夹:
chmod 775 /opt/lampp/htdocs
我有一个项目,我必须在开发时将chmod -R 777 .
的文件模式更改为777,但在主回购中不应该更改。
Git选择chmod -R 777 .
并将所有文件标记为已更改。 有没有办法让Git忽略对文件进行的模式更改?