Articles of 权限

我想要一个shell脚本是可执行的,但不可读

我创build了一个脚本,我希望我们的共享系统上的其他用户执行但不能读取。 我将所有的权限设置为可执行权限,但撤销了R / W权限。 —x–x–x 1 dilletante staff 0 2013-04-02 11:42 expect.sh 然而脚本不能执行…原因很简单.. 解释器也需要读取脚本 我想要一个解决方法,如果有的话……我可以将它embedded到一些编译语言中。那可以工作吗? 如果是的话,你能指出我可以学习如何做的资源..

无法运行编译的文件 – bash:./a.out:权限被拒绝。 (我试过chmod)

我使用cc test.c编译了我的C源代码,并生成了a.out文件。 但是,当我运行它,我得到这个错误 – bash: ./a.out: Permission denied 我的源不在主目录中,它位于不同的FAT-32分区上,所以我使用以下命令安装了代码所在的驱动器 – $ udisks –mount /dev/sda7 –mount-options umask=022 Mounted /org/freedesktop/UDisks/devices/sda7 at /media/48E9-FD53 $ cd /media/48E9-FD53/C 然后我使用cc编译我的代码 我也试过gcc 。 但是我仍然得到相同的错误。 然后我做了 – chmod +x a.out ,仍然是同样的问题。 还有( chmod 755 a.out )和chmod u+x a.out 。 我也试着用sudo编译和执行程序。 我也试过 – sudo chown sannidhya:sannidhya a.out 。 我尝试了Googlesearch后发现的所有内容,但仍无法使其正常工作。 我如何运行.out文件(不移动到主目录)? 注 – 我正在使用Ubuntu 12.04 […]

使用libusb-1.0作为非root用户访问USB设备

我试图在RHEL5上以非root用户身份与USB设备进行连接。 该器件是一个GPIO接口(其文档可以在http://www.xdimax.com/sub20/sub20.htmlfind),它使用libusb-1.0。 使用其API打开设备的过程是: sub_device d; d = sub_find_devices(0); sub_handle h = sub_open(d); 当我这样做时, sub_find_devices()调用工作,但在sub_open()调用,我得到libusb错误-3,这表明我没有权限打开设备写入。 我对这个问题做了一些研究,发现我应该创build一个udev规则。 在设备的sysfs节点上使用udevinfo,我得到: looking at device '/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2': KERNEL=="2-1.2" SUBSYSTEM=="usb" SYSFS{configuration}=="" SYSFS{serial}=="15F2" SYSFS{product}=="SUB-20" SYSFS{manufacturer}=="XDIMAX" SYSFS{maxchild}=="0" SYSFS{version}==" 1.10" SYSFS{devnum}=="6" SYSFS{speed}=="12" SYSFS{bMaxPacketSize0}=="64" SYSFS{bNumConfigurations}=="1" SYSFS{bDeviceProtocol}=="00" SYSFS{bDeviceSubClass}=="00" SYSFS{bDeviceClass}=="ff" SYSFS{bcdDevice}=="0001" SYSFS{idProduct}=="ffc3" SYSFS{idVendor}=="04d8" SYSFS{bMaxPower}=="100mA" SYSFS{bmAttributes}=="80" SYSFS{bConfigurationValue}=="1" SYSFS{bNumInterfaces}==" 1" 然后,我在文件/etc/udev/rules.d/991-local.rules创build了以下udev规则: SYSFS{idVendor}=="04d8", SYSFS{idProduct}=="ffc3", NAME="sub20", GROUP="582", MODE="0660" 582是我的普通用户所属的组的GID。 我也尝试了与组名称的规则,它没有工作。 创build此规则后,将使用正确的权限创build设备文件/dev/sub20 ,但仅在设备插入时存在,这使我有理由相信udev规则在正确的设备上匹配。 但是,我的代码仍然收到错误-3。 […]

Android 2.3:只读文件系统卡住了

你好。 我有一个LG-Optimus HUB E510 Android设备。 两个星期前,我根植了我的设备以访问内部存储并更改一些文件(如警报,通知,声音,.etc)。 那么我做到了。 但在重新存储出厂设置后,内部存储文件又变为只读。 然后我试着用adb–shell来改变文件夹和文件的权限 chmod 777 "folder destination" 但贝壳反应 无法chmod系统/媒体/audio/警报: 只读文件系统 现在我不知道该怎么做。 所以,我需要你的build议。 谢谢。 图片 这是从Ubuntu的shell改变权限的尝试 在eclipse DDMS透视图中包含当前权限的文件

使用PHP写入目录:这是一个权限问题?

我的PHP脚本写入一个文件,以便它可以创build一个JPG图像。 fwrite($handle, $GLOBALS['HTTP_RAW_POST_DATA']); fclose($handle); print $newfile.'.jpg'; 我已经把这个脚本放在一个新的服务器上,但是图像永远不会被保存。 它保存的文件夹的权限是755,但它不拥有它。 最后一次,我想我通过更改目录所有者到Apache来解决这个问题,因为这是PHP运行的。 我不能再做同样的事,因为我不是根。 首先,是否有另一个修复? 其次,如果我可以像上次一样更改目录的所有者,是否可以解决问题? 感谢所有的帮助

setgid()失败 – 不允许操作

我用C创build了一个setuid程序。可执行文件如下所示: -rsrs— 1 root users 13073 Jun 15 21:56 server 我以userA/users执行程序,并尝试将uid / gid设置为userB/otherUsers 。 setgid()失败,操作不允许。 userA不是其他userA的一部分我如何更改有效的gid? [编辑]这是我做了什么的一个小小的总结。 我的C程序,以userA身份执行,将uid和gid设置为userB并创build一个文件。 不如预期,该文件属于组根,因为setgid()失败。 [userA@node uid]$ id uid=11945(userA) gid=544(users) groups=544(users) [userA@node uid]$ id userB uid=11946(userB) gid=10792(otherUsers) groups=10792(otherUsers) [userA@node uid]$ cat uid.c #include <stdio.h> #include <unistd.h> int main() { setuid(11946); setgid(10792); FILE *f = fopen("userB_file", "w"); fclose(f); return 0; } [userA@node […]

确定/ etc / sudoer中用户权限的最快方法

用户将通过SSH远程访问基于nix的计算机,我需要确定最快的方式来检查他们当前使用的用户名是否在/ etc / sudoers文件中具有NOPASSWD访问权限。 可能的select: grep为/ etc / sudoers中的用户名,parsing命令提示符输出以确定它是否具有NOPASSWD,如果不是,则删除该行,然后添加新的权限 只要追加一个权限string文件不pipe(坏主意)。 试图sudo到一个受保护的文件,看看它是否提示我input密码。 我希望更容易一些,但我的谷歌并没有提出任何答案。

Linux:更改文件所有权而不复制?

我有一个REST服务器,其目的是组织各个用户生成的文件。 为了简单起见,服务器和用户都可以访问共享networking文件系统。 工作stream程如下:用户在临时文件夹中生成文件。 然后,他通知服务器将文件放在自己的位置,并将一些元数据存储在数据库中。 服务器应该拥有这些文件,并根据需要照顾他们的删除。 我的问题是:因为文件可能相当大,我想避免昂贵的副本,而只是将文件从临时文件夹移动到他们的最终目的地。 但是,移动文件会阻止服务器更改其所有权( 例如,请参阅此处 )。 有没有办法解决这个问题,没有1)复制文件,2)作为root运行服务器? 编辑:一对夫妇精度: 要移动的文件可以是具有文件层次结构的目录 让服务器拥有最终位置中的文件来限制对其他用户的访问会很好。

如何在Java中pipe理Linux文件权限

有没有任何机制来获取和设置文件/目录权限? 例如,我想以shell的方式显示一个文件的许可: -rwxr-xr– 有没有可能使用Java来做到这一点? 我知道File类中有一些方法可以知道文件canExecute , canRead和canWrite ,但是AFAIK这个信息仅适用于当前用户。 我需要知道整个八进制数,例如755,所以我需要从用户,组和其他人那里得到它。 我知道Java7带来Posix操作,但是如何使用更小的JRE来实现呢? 我不想使用像ls或chmod这样的命令。 提前致谢。

如何使IDE可以编辑/ var / www内容

我跟着这个链接改变组/用户的权限,把我的自我添加到www数据组,但我仍然无法编辑/ var / www中的内容,特别是上传的内容。 这是我的开发环境,我不想去chmod / var / www /每次有上传。 在保持/ var / www下的内容的同时,更改/ var / www目录权限的步骤可以直接编辑内容,而IDE 我的login账户用户和组名是debianaut : groups www-data www-data : www-data debianaut groups debianaut debianaut : debianaut www-data 我进行这些更改后login/退出。 这似乎是直接的,如果我是cretain组的用户,我应该得到他们拥有的任何权限。 请帮助解决这个问题