AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 464152
Accepted
DoesNotCompute
DoesNotCompute
Asked: 2013-01-09 11:05:27 +0800 CST2013-01-09 11:05:27 +0800 CST 2013-01-09 11:05:27 +0800 CST

无法从 bash 脚本更改 chmod

  • 772

我制作了一个脚本来将图像复制到临时目录,将其转换为另一种格式,然后将其移动到最终目录。但是我无法让 chmod 命令工作,文件被复制到临时目录,但它的 chmod 卡在 -rw--------(文件的原始 chmod)上。

如果我在原始文件上应用 777 chmod,则复制的文件会得到 -rwx------ 而不是 -rwxrwxrwx

复制的文件和原始文件具有相同的用户。

TS=$(date +"%Y")/$(date +"%m")/$(date +"%d")/$(date +"%Hh%Ms%S")
PATHTMP="/tmp/faxtiff"

mkdir -p $PATHTMP
chmod 777 $PATHTMP
cp $FILE $PATHTMP
chmod 777 $PATHTMP/$FILE
convert $PATHTMP/$FILE -scale '50%x100%!' $PATHTMP/fax.jpg
chmod 777 $PATHTMP/fax.jpg
mkdir -p /home/argent/faxes-recus/$TS
chmod 777 /home/argent/faxes-recus/$TS
#rm $PATHTMP/$FILE
mv $PATHTMP/*.jpg /home/argent/faxes-recus/$TS
bash
  • 2 2 个回答
  • 7154 Views

2 个回答

  • Voted
  1. Best Answer
    Cody S
    2013-01-09T11:52:06+08:002013-01-09T11:52:06+08:00

    mdpc 是正确的。我不知道为什么有人对你的问题投反对票,但是......

    如果 root 拥有该文件,您应该能够(当然假设您有访问权限)执行sudo chmod...,这应该有效。

    但是,如果您不希望 root 用户再拥有该文件,则需要执行 a 操作sudo chown $USER <filename>以使该文件归您登录时所用的用户所有。

    我没有尝试过您的脚本,但请继续尝试以下操作,注意两点:

    1)不要到处乱嚼你不应该吃的东西。我不知道这个问题的上下文,chown 有问题的文件可能很糟糕,非常糟糕,或者极其糟糕(阅读:滥用权力)。但是,如果您正在创建此内容并且被隐式(或显式)授予修改这些文件的权限,那么这应该不是问题。

    2) 我注释掉了一些你不需要的 chowns。请记住,您始终可以执行 als -l查看给定文件的所有权。

    TS=$(date +"%Y")/$(date +"%m")/$(date +"%d")/$(date +"%Hh%Ms%S")
    PATHTMP="/tmp/faxtiff"
    
    mkdir -p $PATHTMP
    #sudo chown -R $USER $PATHTMP 
    chmod 777 $PATHTMP
    cp $FILE $PATHTMP
    sudo chown $PATHTMP/$FILE
    chmod 777 $PATHTMP/$FILE
    convert $PATHTMP/$FILE -scale '50%x100%!' $PATHTMP/fax.jpg
    #shouldn't need to chown here if the script is being run as the logged in user.
    chmod 777 $PATHTMP/fax.jpg
    mkdir -p /home/argent/faxes-recus/$TS
    #chown $USER /home/argent/faxes-recus/$TS
    chmod 777 /home/argent/faxes-recus/$TS
    #rm $PATHTMP/$FILE
    mv $PATHTMP/*.jpg /home/argent/faxes-recus/$TS
    
    • 2
  2. mdpc
    2013-01-09T11:21:01+08:002013-01-09T11:21:01+08:00

    如果您不是相关文件的所有者,则无法chmod对该文件执行操作。

    • 0

相关问题

  • Mac OS X:从 python 脚本中更改 $PATH

  • Bash 脚本:要求脚本以 root 身份运行(或使用 sudo)

  • crontab ifconfig 什么都不输出

  • 使用命令行工具按排序顺序计算重复项

  • 是否有 bash 等效于 ruby​​ 的“一些内容#{foo}”?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve