我的操作系统规格如下:
pegasus@pegasus:~$ uname -r
5.19.0-1007-nvidia-lowlatency
pegasus@pegasus:~$ uname -a
Linux pegasus 5.19.0-1007-nvidia-lowlatency #7-Ubuntu SMP PREEMPT_DYNAMIC Wed Jan 25 00:08:13 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
我使用 Firefox 下载了 microsoft-edge-stable[version].deb 文件。并使用 dpkg -i 安装它。但该应用程序不使用 GUI 运行。当我在终端中输入 microsoft-edge-stable 时,出现以下错误:
pegasus@pegasus:~/Downloads$ microsoft-edge-stable
[7399:7399:0503/210255.608214:FATAL:credentials.cc(127)] Check failed: . : Permission denied (13)
Trace/breakpoint trap (core dumped)
Run Code Online (Sandbox Code Playgroud)
如何消除此错误并正常运行 Microsoft Edge。当我再次使用时
microsoft-edge-stable --no-sandbox
它运行正常
我需要删除一个应用程序(MyApp.app),它在所有附带的文件夹中只具有只读权限.在删除它之前,我应该将所有封闭文件/目录的权限更改为0644.如何递归执行此操作?
我试过了
begin; FileUtils.chmod(0644, '#{config.appPath}'); rescue; end
begin; FileUtils.rm_r('#{config.appPath}'); rescue; end
Run Code Online (Sandbox Code Playgroud)
但FileUtils.chmod不会递归地工作.我不能使用Unix命令 - 它必须是Ruby.
编辑:我不能在当前上下文中使用Unix命令.好的,这是一个RubyCocoa应用程序,您看到的源代码是ruby脚本的一部分,应该卸载应用程序(请不要对此进行评论,因为这是我的客户所拥有的代码).卸载包括删除应用程序的所有跟踪,终止进程并最终删除应用程序本身.通常它可以工作,但在某些情况下MyApp.app文件夹获得只读权限的情况下不会.所以我想在文件夹上递归运行一个chmod并删除它,但由于某些原因,它在Ruby中并不是直截了当的.这就是我要求帮助的原因.有很多关于如何从命令行执行此操作的示例,但是如何从代码中执行此操作?
这里有一些代码,只是为了说明它是如何实现的:
code =<<FOO
require 'fileutils'
# kill the app before deleting files in case it writes files on exit
%x{/bin/kill -9 #{NSProcessInfo.processInfo.processIdentifier}}
begin; FileUtils.chmod(0644, '#{TBConfig.appPath}'); rescue; end
begin; FileUtils.rm_r('#{TBConfig.appPath}'); rescue; end
FOO
ff = Tempfile.new('timebridge')
ff.write(code)
ff.close
%x{/usr/bin/ruby #{ff.path}}
Run Code Online (Sandbox Code Playgroud)
再次感谢.
我将一个基本的python脚本上传到Dreamhost的共享主机,并将权限更改为777.它从shell(通过SSH)运行良好,但从浏览器调用时会显示"服务器错误".
在error.log中,错误是'Premature end of script headers'.
我写信给DreamHost,他通过更改权限来回复(令人惊讶的是很快)755,并且脚本在apache中开始正常工作(我可以在浏览器中看到输出).
但这似乎不对 - 如何添加额外的宽松权限可以打破任何功能?
使用Objective-C,如何为所有用户提供/获取读取文件的权限?
我需要的东西,具有相同的效果chmod a-r和chmod a+r.
谢谢!
我正在使用以下代码更改文件权限:
Runtime.getRuntime().exec("chmod 600 '/home/user/Desktop/file'");
Run Code Online (Sandbox Code Playgroud)
但它没有效果!代码执行ls -l /home/user/Desktop/file报告之前和之后:
-rw-rw-r-- 1 evir evir 7928 Jul 31 14:54 file
Run Code Online (Sandbox Code Playgroud)
问题是什么?
我正在尝试运行一个文件,heroku run path/to/file.php我得到了一个响应:
bash: path/to/file.php: Permission denied
我在文件和目录上尝试了chmod 755,但似乎heroku将其更改为600 ...运行chmod 755后显示755,但是当我退出bash然后再返回时,权限重置为600.
我错过了什么?
也有人建议,heroku run php path/to/file.php但我得到一个错误说bash: php: command not found
我正在阅读Shawn McCool的书(好书),每次我创建一个新视图,并尝试加载它,我得到一个权限错误.
我想知道为什么生成的视图没有读取权限.奇怪的是,如果我chmod到775,我仍然得到错误,我必须777然后775.
任何人都可以对此有所了解,为什么会发生这种情况?
谢谢!
编辑:
添加新视图后出错
file_put_contents(/Users/jason/Sites/laravel1/storage/views/5c4b7b4707d658dffe52d481be6c680e): failed to open stream: Permission denied
Permissions on storage/views
drwxrwxr-x@ 7 jason jason 238 Mar 7 17:15 views
Run Code Online (Sandbox Code Playgroud)
新视图的权限
-rw-r--r--
之后出错 chmod 775 views
file_put_contents(/Users/jason/Sites/laravel1/storage/views/5c4b7b4707d658dffe52d481be6c680e): failed to open stream: Permission denied
Run Code Online (Sandbox Code Playgroud)
之后的权限 chmod 775 views
drwxrwxr-x@ 7 jason jason 238 Mar 7 17:15 views
Run Code Online (Sandbox Code Playgroud)
之后chmod 777 views,它的工作原理
drwxrwxrwx@ 8 jason jason 272 Mar 7 17:25 views
Run Code Online (Sandbox Code Playgroud)
之后chmod 777 views它仍然有效
drwxrwxr-x@ 8 jason jason 272 Mar 7 …Run Code Online (Sandbox Code Playgroud) 如何找到并将chmod 444设置为目录中的所有.htaccess文件(出于安全目的)?
谢谢.
我试图更改位于特定目录中的一堆文件的权限.我正在使用chmod这样做.该函数不会返回任何错误,但是当我打印旧的和新的权限时,它看起来不会改变任何东西.
void main(int argc, char *argv[]){
struct stat archivo;
char *directorio = "/home/edu/Escritorio/P7/practica7/prueba";
char *rutaRel = malloc(strlen(directorio) + 1 + NAME_MAX);
mode_t permisos;
modo = strtol(argv[2], NULL, 0); //I am trying with 0664
strcpy(rutaRel, directorio);
rutaRel[strlen(directorio)] = '/';
while (ep = readdir (dp)){
strcpy(rutaRel + strlen(directorio) + 1, ep->d_name);
stat(rutaRel, &archivo);
if(S_ISREG(archivo.st_mode)){
permisos=archivo.st_mode;
if((chmod(rutaRel,modo))==-1){
perror("Error: \n");
}
printf(" %s: %u -> %u\n",ep->d_name,permisos,archivo.st_mode);
}
}
closedir(dp);
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,我无法找到错误.有任何想法吗?
OUTPUT:
a4:33204 - > 33204
a2:33204 - > 33204
A3:33204 - > 33204 …
我想chmod从用户更改文件的值.但它不起作用.我的代码是;
$chmod = "0777";
chmod($filename, $chmod);
Run Code Online (Sandbox Code Playgroud)
我进入chmod 777.但是文件的chmod值是1411.我试过chmod 0777,777,00777.结果保持不变.