我试图理解Linux中的文件/dir权限。用户可以使用
cd test
ls -l
即使发出上述命令的用户没有对测试目录中的任何文件具有读、写或执行权限,他仍然可以列出这些文件,因为他/她对测试目录具有读取权限。
那么,为什么在下面的场景中,用户B可以更改他拥有的文件的权限,但是没有父目录的写权限?
用户A生成一个测试目录,并使其他用户能够在其中编写:
mkdir test
chmod o+w test
用户B在测试文件夹中创建一个文件。
cd test
touch b.txt
用户A从目录中删除其他人的写权限
chmod o-w test
用户B可以成功地更改权限,即使权限是目录的一部分,
我正在尝试用Linux上的C语言(Ubuntu)创建一个只写文件。这是我的代码:
int fd2 = open ("/tmp/test.svg", O_RDWR|O_CREAT);
if (fd2 != -1) {
//....
}
但是为什么我创建的文件有'xr‘模式呢?如何创建它,以便我可以在命令提示符下自己打开它?
------xr-- 1 michael michael 55788 2010-03-06 21:57 test.txt*
------xr-- 1 michael michael 9703 2010-03-06 22:41 t
DotNetZip创建了权限为000 (无读、无写、无执行)的压缩文件,因此我不能在Linux上轻松地打开它们(Windows资源管理器并不关心这一点,通常会打开文件)。Windows上的相同代码生成具有读取权限的文件(在Linux上): using (var fs = new System.IO.FileStream("./test.zip"))
{
using (var archive = new System.IO.Compression.ZipArchive(fs, ZipArchiveMode.Create))
{
var entry = archi
因此,我不太熟悉服务器在一般情况下,所以请容忍我。
有两个用户(A + B),两个用户在一个私人PC上都有一个windows帐户,通过网络连接到linux盒。在任一windows PC上生成的任何文件都被保存为linux用户帐户'C‘。两个用户在linux框上都有一个用户帐户(A + B)。所有用户帐户( A、B和C)都有一个名为“group”的组。
这是我在windows中创建的一个测试目录。
-rw-rw-r-- 1 A group 34 Oct 26 10:54 testmadeonlinuxUserA.txt
-rw-rw-r-- 1 B group 34