我正在学习Linux和权限。
我在dir1/dir2/dir3
中有以下文件夹myfile.txt
和文件dir3
。
我正在尝试向chmod 700
和dir1
授予dir2
和dir3
两个文件夹和文件的权限,但是chmod 777
中的所有文件和文件夹我要授予权限dir1
根据我发布的this帖子:
更改dir1
和chmod 700
中所有目录find /home/user/dir1 -type d -exec chmod 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 -exec chmod 777 {} \;
dir3
更改chmod 700
至find /home/user/dir1/dir2/dir3 -type f -exec chmod 777 {} \;
ls -al
当我使用dir3
检查权限时,一切看起来都不错,但当我更改用户并尝试访问myfile.txt
和proxy_buffering off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_cache_path /var/lib/nginx/cache levels=1:2 keys_zone=one:10m max_size=500m;
proxy_cache_methods GET HEAD;
proxy_cache_key $host$uri$is_args$args;
proxy_cache_valid 200 10m;
proxy_http_version 1.1;
upstream backend {
server 127.0.0.1:9001;
}
server {
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
ssl on;
server_name www.studiecirkel.net;
gzip off;
ssl_certificate /home/sfr/certs/ssl-bundle.crt;
ssl_certificate_key /home/sfr/certs/server.key;
ssl_session_timeout 5m;
ssl_ciphers EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA;
ssl_prefer_server_ciphers on;
location / {
proxy_pass https://backend;
auth_basic "Internt alpha-test";
auth_basic_user_file /home/sfr/studiecirkel/.htpasswd;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
tcp_nodelay on;
}
}
时,我总是收到消息“权限被拒绝“。
出错了什么? 有没有更好的方法来做我想要的?
答案 0 :(得分:1)
700表示只有dir1和dir2的所有者对rirx访问dir1和dir2。如果其他用户试图访问dir1或dir2内部,则无论777内部dir3如何,都不会被允许。所以请检查您的用户是否是所有者。 一种解决方案是将770提供给dir1和dir2,这将允许该组(您必须指定)具有rwx权限。然后您可以在组中添加您的用户,以便只有该用户具有rwx访问权限而不是其他用户。