我用7zip在Windows中打包了一个包含很多子文件夹和文件的文件夹,上传到VPS然后运行命令:
tar -xvzf file.tar.gz
Run Code Online (Sandbox Code Playgroud)
那么所有解压的文件和文件夹的权限为 777。我如何获得它以便文件夹具有 755 和文件 644 的权限?
我收到标题中提到的错误。
我发现了这个类似的问题:Run rsync with root permission on remote machine。那不能回答我的问题。
我是远程服务器上的管理员,我想用它rsync
来将文件备份到我的本地机器上。这是我的 rsync 命令:
$ rsync -avz me@myserver.com:/var/www/ /backups/Sites/MySite/
Run Code Online (Sandbox Code Playgroud)
它主要是有效的。登录是通过密钥对进行的。我没有也不能使用密码(编辑:通过 SSH 登录)。由于权限,只有少数文件不会传输。我不想更改这些权限。
这是错误:
receiving file list ... done
rsync: send_files failed to open "/var/www/webapp/securestuff/install.php": Permission denied (13)
Run Code Online (Sandbox Code Playgroud)
我不是想改变这个文件的权限。它(以及其他类似的)不应该是可读的(root 除外)。
这必须在 cron 作业中运行,我更喜欢仅使用 rsync 命令的简单单行解决方案。下一个选择是我可以从 cron 作业调用的 shell 脚本。在任何情况下,我都不能手动登录远程机器并成为 root(因为运行时我会睡觉。
如何使用 rsync 将其备份到我的本地机器上?
我对我尝试部署的这个设置感到困惑。我希望你们当中有人能帮我一把:非常感谢。
背景资料
服务器是Debian 6.0,ext3,前面是Apache2/SSL和Nginx作为反向代理。我需要提供对 Apache 根目录 (/var/www) 的 sftp 访问权限,确保 sftp 用户以 RWX 权限被 chroot 到该路径。
所有这一切都没有修改 /var/www 中的任何默认权限。
drwxr-xr-x 9 root root 4096 Nov 4 22:46 www
Run Code Online (Sandbox Code Playgroud)
里面 /var/www
-rw-r----- 1 www-data www-data 177 Mar 11 2012 file1
drwxr-x--- 6 www-data www-data 4096 Sep 10 2012 dir1
drwxr-xr-x 7 www-data www-data 4096 Sep 28 2012 dir2
-rw------- 1 root root 19 Apr 6 2012 file2
-rw------- 1 root root 3548528 Sep 28 2012 file3
drwxr-x--- 6 www-data www-data 4096 …
Run Code Online (Sandbox Code Playgroud) 这几乎看起来像是一个愚蠢的问题,但我找不到保持保险箱打开的组合。
我正在尝试在 Windows 7 Pro 工作站上创建文件共享。我不想要身份验证提示。没有任何!零!齐尔奇!:-)
工作站已加入 Windows 域。共享为“Scans”,目录为 C:\Scans
尽管我尝试设置共享和 NTFS 权限以及所有人/FC,但仍会提示从其他工作站连接的用户输入凭据。更糟糕的是,由于需要进行身份验证,我的网络扫描仪无法将文件发送到共享。
连接的工作站大多运行 Windows 7。那里可能有一个 XP,但我不知道。
有人遇到过这个小怪吗?
米
在 smb.conf 我有这条线
valid users = @Staff @Directors
Run Code Online (Sandbox Code Playgroud)
这是将两个组添加到有效用户行的有效语法吗?它似乎不适用于我们的 xp pro 客户端。
如果不是,以下哪个是使该网络驱动器的两个组有效用户的正确方法(如果有)?
哪个适合 Windows 客户端?
valid users = +Staff +Directors
Run Code Online (Sandbox Code Playgroud)
还是我需要使用 &
valid users = &Staff &Directors
Run Code Online (Sandbox Code Playgroud)
还是两者的某种组合?
valid users = &+Staff &+Directors
valid users = +&Staff +&Directors
Run Code Online (Sandbox Code Playgroud) 我无法理解ls
有关具有rw-
模式的文件的手册。这是报价:
如果
r
,文件可读;如果?
,则不可读。如果
w
,文件是可写的;如果?
,则不可写。以下第一个适用:
S
如果在所有者权限中,则该文件不可执行并设置了 set-user-ID 模式。如果在组权限中,则该文件不可执行并设置了 set-group-ID 模式。
s
如果在所有者权限中,则该文件是可执行的并且设置了 set-user-ID 模式。如果在组权限中,则该文件是可执行的,并且设置了 setgroup-ID 模式。
x
该文件是可执行的或目录是可搜索的。
?
该文件既不是可读、可写、可执行的,也不是 set-user-ID 或 set-group-ID 模式,也不是粘性的。
特别是,它似乎以粗体相互矛盾的两个部分:根据第一个,因为模式开头r
,该文件是可读的,但是根据最后一个,该文件是不可读的。但是,显然,情况并非如此。
那么,关于文件“既不可读也不可写......”的第三部分是什么意思?
参考书目
ls
手册页。wwoorrdd
用于粗体和_w_o_r_d
下划线。在 Linux 中,目录权限有 SUID、SGID 和粘滞位。
我非常清楚文件或文件夹上的粘性和 SGID 位。
但是如果我在目录上应用 SUID 位会发生什么?
例如,如果我在文件上应用 SGID 位,则使用该文件启动的进程将使用文件组的有效组 ID,而不是调用该文件的用户的主要组。如果您在文件上应用 SUID 位,同样的事情:它将以所有者作为有效用户运行。
一旦您在目录上应用 SGID 位,例如chmod -R 2770 /var/testdir/
. 现在/var/testdir/
,/var/testdir/
即使创建者的主要组不同,将在其中创建的所有新文件和文件夹都将继承相同的组。此外,子目录将继承 SGID 位。
但是如果在目录上应用 SUID 位会发生什么?我没有找到有关该案例的任何信息。
另外,如果在同一个文件夹中应用 SGID 和 SGID 位会发生什么?
我知道我可以使用 icacls 来指定文件的权限,从什么是 chmod 777 的等价物?, 我可以用
icacls myfile.txt /grant Everyone:F
Run Code Online (Sandbox Code Playgroud)
但是如何为 chmod 744 设置等效项?我想我可以/grant:____:R
仅用于读取访问,但我不确定如何像使用 chmod 一样简单地指定所有者和组权限。当我尝试这个时:
icacls myfile.txt /grant Owner:F Group:R Everyone:R
Run Code Online (Sandbox Code Playgroud)
我收到错误消息,“未完成帐户名称和安全 ID 之间的映射。” 我可能遗漏了一些明显的东西,有什么想法吗?
当我尝试:
icacls myfile.txt /grant Administrator:F /grant:r Users:R
Run Code Online (Sandbox Code Playgroud)
我在资源管理器中查看了该文件,它为管理员提供了“特殊权限”(而不是完全控制),并为用户提供了“读取和执行、读取和特殊权限”。
当我偶然发现/usr/bin/emacs
,/usr/bin/emacsclient
和/usr/bin/emacs-undumped
.
angrybacon@sandman ~/ $ ll /usr/bin/emacs*
-r-xr-xr-x 1 root wheel 26929904 Dec 3 07:35 /usr/bin/emacs
-rwxr-xr-x 1 root wheel 3201184 Dec 3 07:36 /usr/bin/emacs-undumped
-rwxr-xr-x 1 root wheel 36928 Dec 3 07:36 /usr/bin/emacsclient
Run Code Online (Sandbox Code Playgroud)
我试图删除那些二进制文件但没有成功。
angrybacon@sandman ~/ $ sudo rm -f /usr/bin/emacs*
rm: /usr/bin/emacs: Operation not permitted
rm: /usr/bin/emacs-undumped: Operation not permitted
rm: /usr/bin/emacsclient: Operation not permitted
Run Code Online (Sandbox Code Playgroud)
我已经尝试过 GNUrm
和删除schg
标志,但仍然没有运气。
另外,那些附带默认 Mac 设置的吗?
同样的问题,与/usr/share/emacs/
和/usr/share/info/emacs*
。
在 Raspberry Pi 的 Jessie 版本中,ping
需要setuid
设置该位。这样做的理由是什么?
file-permissions ×10
permissions ×3
linux ×2
macos ×2
binary-files ×1
chmod ×1
chroot ×1
debian ×1
file-sharing ×1
ls ×1
posix ×1
powershell ×1
raspberry-pi ×1
rsync ×1
samba ×1
setuid ×1
sftp ×1
tar ×1
windows-7 ×1