我试图解决使用红帽服务器运行IC仿真的问题。
以前,IC项目存储在我的Windows Server 2003上,但是仿真工具是在红帽机器上运行的。 这对我来说是一个头痛的问题,因为模拟运行速度非常慢,IC工作人员会惹到很多麻烦。
我决定尝试将这些项目直接存储在Red Hat机器上,看看是否会加快这个过程。 模拟运行速度快得多,每个人都很高兴,但是我注意到了这个设置的另一个问题。
在模拟过程中创build的任何文件或IC人员放在服务器上的文件都被自动分配了rx-r-r的权限,然后他们不能更改这些文件。 所以我然后被调用chmod文件,所以这些家伙有写访问自己的文件。
我这样做很新,对整个场景感到困惑。 我希望有一种方法可以通过脚本或configuration更改自动获取文件,以获得对它们的特定权限。
谢谢你的帮助,请原谅我的无知。
我很抱歉,但我不明白为什么你不会只是改变用户configuration文件的umask允许组写? 然后所有的用户可以被添加到同一个组。 我不知道如何IC应用程序工作,所以也许这就是为什么我没有得到它。
我不想冒犯你,但万一你不知道我在说什么,我想我会添加一些信息。 基本上,用户configuration文件对所有由它们创build的文件(称为umask)具有默认设置权限。 在Ubuntu中默认为022,这意味着用户创build的所有文件将被设置为755(user:rwx,group rx,others rx)。 在你的情况下,听起来像掩码设置为033.将其更改为003,创build者所在的同一组中的任何成员都可以修改它。 只需将所有用户添加到与“应用程序用户”组相同的组中即可。 我相信你也可能把它作为主要的组织。
我可以完全closures,因为我说我不知道你正在使用的应用程序/环境。
没有进入其他500个关于如何实际修复应用程序的问题,快速和肮脏:
1)在驱动器上创build一个脚本,比如/usr/local/sbin/fixperms.sh
#!/bin/sh MYPATH=/location/of/files cd ${MYPATH} && find . -type f -print0 | xargs -0 chmod 0664 cd ${MYPATH} && find . -type d -print0 | xargs -0 chmod 0775 cd ${MYPATH} && chgrp -R <group name all your users are in>
2)使脚本可以由root执行:
chmod 0744 /usr/local/sbin/fixperms.sh chown root:root /usr/local/sbin/fixperms.sh
3)以root用户身份运行“crontab -e”并粘贴到:
*/15 * * * * /usr/local/sbin/fixperms.sh
(1)中的脚本将每15分钟运行(3)并修复您的文件权限和所有权。