我想创build一个除root以外的用户帐户,以便root用户以及该用户可以在ubuntu系统中上传删除文件(例如,假设我在var / www中有一些php文件,以便root和那个用户可以上传相同的目录)
这取决于你想要安全的明智。
你最好的办法是创build一个由非root用户拥有的目录。 这样用户可以在那里保存文件,root可以保存文件,因为root是非常强大的。
你将会遇到这样的问题:当root保存文件时,它们将被root所有,非root用户将不能编辑它们。 你可以通过设置目录setuid和setgid来解决这个问题。
# chmod ug+s /foo/bar
现在,当有人在该目录中创build一个文件时,所有者和组将被设置为与该目录相同。 在这种情况下,非root用户。
如果root用户编辑现有文件,则不会更改现有的所有权。
还有其他的select,比如将目录改为世界可写,但是这是一个巨大的安全问题,我真的不推荐它。 或者,您可以创build一个既是root又是您的非root用户的组,但这并不完全理想。
你会想看看使用相同的组为根和新的用户。 然后,使目录和文件组可写。 另外,设置适当的umask以便创build的新文件将inheritance相同的权限。
为什么要root用户上传文件有特定的原因吗? 出于这种目的使用root用户帐户不是一个安全的做法。 看看这些标签,我猜你是指FTP访问。 请记住,(正规的)FTP不是一个安全的协议,你应该避免使用超级用户帐户来覆盖任何不安全的连接。
我build议使用两个普通用户(没有root权限)来达到这个目的,并使他们成为同一个主要组的成员。
不要将root权限迁移到其他用户! 这是HackedVille的单程票。
将目录读/写权限迁移到其他用户。
pipe理/ var / www不需要root权限,只是拥有目录的帐户(而不是运行web服务器的帐户,通常是“nobody”)。
要做到这一点,首先,停止使用root来读/写/ var / www! 在所有地方留下根文件是“需要根”的第一步,因为一旦拥有了根文件,每个人都想成为root用户来处理它们。
使用chown -R将目录树的所有权授予非root用户。 使用该用户名来pipe理目录内容。 使用chmod -R为其他人提供只读权限。
如果你真的需要两个用户来读/写,把他们放在同一个组(/ etc / group)中,并使用chmod打开组写入权限。