Kas*_*lgi 12 linux tar file-permissions
我用7zip在Windows中打包了一个包含很多子文件夹和文件的文件夹,上传到VPS然后运行命令:
tar -xvzf file.tar.gz
Run Code Online (Sandbox Code Playgroud)
那么所有解压的文件和文件夹的权限为 777。我如何获得它以便文件夹具有 755 和文件 644 的权限?
sar*_*old 14
如果您tar(1)以普通用户身份运行,它将umask默认应用您的。如果您以tar(1)身份运行root,那么您可以提供--no-same-permissions命令行选项以要求tar(1)尊重umask.
所以:要么以普通用户身份运行它:
umask 022
tar zxvf file.tar.gz
Run Code Online (Sandbox Code Playgroud)
或运行它root:
umask 022
tar zxvf file.tar.gz --no-same-permissions
Run Code Online (Sandbox Code Playgroud)
您可能想坚持使用umask 022您的~/.bashrc, ~/.bash_profile, 或~/.profile。(有关bash(1)启动文件的完整详细信息,请参阅联机帮助页。这很复杂。)
对细节umask可以在你的shell手册页中,可以找到umask(2)系统调用手册页,或umask(1posix)POSIX提供的实用手册页(如果您在manpages-posix安装)。
小智 7
在目录的根目录中运行以下命令,为您的目录和文件设置所需的权限:
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
Run Code Online (Sandbox Code Playgroud)
注意右大括号和反斜杠之间的空间
| 归档时间: |
|
| 查看次数: |
48168 次 |
| 最近记录: |