我正在执行一项任务,在代码将文件导出到Linux服务器后,该任务将文件的权限更改为640。相同的代码在我们的Dev服务器中工作,但是在我们的Uat服务器中,有时权限被成功地更改为640,有时权限不能更改,仍然是默认的600。
我检查了SystemOut.log,没有出现任何错误。
我的相关Java代码如下所示:
private void exportXXXFiles() {
......
//Settings for the access permissions of the exported files
Set<PosixFilePermission> filePerms = n
以下是文章的引文:
ISO 9660不是一个复杂的文件系统,但有一些值得记住的怪癖。似乎有些操作系统也会创建不兼容的CD,所以要小心!这方面的主要示例是可用于文件名的字符集。严格地说,文件名只能由大写字母and、数字、点和下划线组成。此外,还有一个分号,它将可见文件名与其版本号后缀分隔开来。许多操作系统还允许小写字母和其他字符。Linux的VFS向用户显示小写文件名,尽管CD内容实际上包含大写字符。
所以我的问题是,Linux如何知道哪些字母应该是大写字母,哪些字母应该是小写字母,而在CD上它们都是大写字母?
我正在通过ssh访问另一个ununtu linux系统。
现在,当我要更改该系统中任何文件的权限时,它会显示
chmod: changing permissions of `Android.mk': Read-only file system
chmod: changing permissions of `system_init.cpp': Read-only file system
我尝试使用sudo并以root身份登录,但仍然不明白为什么我无法更改该文件的权限。