Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux dir1和dir2 chmod 700,dir3 chmod 777,但我的许可被拒绝_Linux_Permissions_File Permissions_Chmod - Fatal编程技术网

Linux dir1和dir2 chmod 700,dir3 chmod 777,但我的许可被拒绝

Linux dir1和dir2 chmod 700,dir3 chmod 777,但我的许可被拒绝,linux,permissions,file-permissions,chmod,Linux,Permissions,File Permissions,Chmod,我正在学习Linux和权限 我有以下文件夹dir1/dir2/dir3和dir3中的文件myfile.txt。 我试图对dir1和dir2两个文件夹和文件授予chmod 700权限,但对dir3中的所有文件和文件夹授予chmod 777权限 根据我所写的帖子: 将dir1和dir1中所有目录的权限更改为chmod 700 find/home/user/dir1-type d-execchmod 700{} 将dir1中的所有文件更改为chmod 700,包括子文件夹 find/home/user

我正在学习Linux和权限

我有以下文件夹
dir1/dir2/dir3
dir3
中的文件
myfile.txt
。 我试图对
dir1
dir2
两个文件夹和文件授予
chmod 700
权限,但对
dir3
中的所有文件和文件夹授予
chmod 777
权限

根据我所写的帖子:

dir1
dir1
中所有目录的权限更改为
chmod 700

find/home/user/dir1-type d-execchmod 700{}

dir1
中的所有文件更改为
chmod 700
,包括子文件夹

find/home/user/dir1-type f-exec chmod 700{}

之后,我做了以下工作:

将权限更改为
dir3
,并将
dir3
中的所有目录更改为
chmod 777

find/home/user/dir1/dir2/dir3-type d-execchmod777{}

将对
dir3
中所有文件的权限更改为
chmod 700

find/home/user/dir1/dir2/dir3-type f-execchmod777{}

当我用
ls-al
检查权限时,一切看起来都正常,但当我更改用户并尝试访问
dir3
myfile.txt
时,我总是收到消息“权限被拒绝”

我做错了什么?
有什么更好的方法可以做到这一点吗?

700意味着只有dir1和dir2的所有者才有权使用rwx访问dir1和dir2。如果其他用户试图访问dir1或dir2内部,则无论dir3内部为777,他都将不被允许。因此,请检查您的用户是否为所有者。 一种解决方案是将770授予dir1和dir2,这将允许组(您必须指定)具有rwx权限。然后您可以将您的用户添加到组中,以便只有此用户具有rwx访问权限,而不是其他用户