运行 Xubuntu 14.04。我有几个用户帐户设置为“桌面用户”,但当他们登录时,他们无法打开 HOME 文件夹中的任何文件。错误消息各不相同,但通常表示访问被拒绝或用户没有权限。当我以管理员身份登录我的帐户时,我可以毫无问题地访问 HOME 文件夹中的文件。有什么想法吗?我是 Linux 新手。
答案1
用户应该拥有自己的文件。
CTRLALTT使用或您喜欢的方法打开终端
sudo chown -R *username* */path/name*
发出命令用户名是您要授予所有权的用户的名称,并且/路径/名称是其主目录的路径。这应该可以解决您的绝大多数问题。
例子sudo chown -R joe /home/joe
一旦您为所有用户完成此任务,他们将能够访问其家中(及之下)的所有文件。
详细信息请参见man chown
ls-l
这是您在执行所请求的命令时可能会看到的内容的一个示例。
您会注意到最左侧列中的权限位
d 表示目录
如果是目录,则第一个字母为 d;如果不是目录,则第一个字母为 -
r 表示读取权限a - 此处表示权限不存在(被拒绝)
w 表示写权限a - 此处表示权限不存在(被拒绝)
x 表示执行权限a - 此处表示权限不存在(被拒绝)
这 3 个分为 3 组,分别为用户、组和其他
用户是文件的所有者,组是属于所列组的所有人(在本例中为所有者组),其他人是所有其他人(无例外)。除非您的网络非常安全并且所有用户都值得信赖,否则您需要非常小心地使用其他位。
下一个字段是链接数,接着是所有者的名称和上述位所指的组的名称,然后是文件大小、日期和文件名(或目录名,如果它以 ad 开头,如前所述)
您会注意到上图中有 2 个目录。(均以 d 开头)
您会注意到 lost+found 是一个目录,由 root 组的用户 root 拥有,只有 root(所有者)才有权访问。该访问权限是完整的,并且对用户 root 没有任何限制。其他用户即使属于 root 组也无权访问此目录。您会注意到组和其他组的位均为 ---(或 = 0)
另一个目录是拥有它的用户 tvbox 的主目录。tvbox(所有者)具有 rwx 权限(完全、不受限制)。不是用户 tvbox 的 tvbox 组成员没有写权限,但可以查看和进入目录。其他人也可以查看和遍历目录。我可以使用 chmod 命令更改它。由于我不希望那些不属于 tvbox 组的人有访问权限,因此我将发出命令chmod o-rx tvbox/
以仅更改目录访问权限或chmod -R o-rx tvbox/
删除 tvbox 文件夹及其内的所有文件和文件夹的读取和执行权限。
运行上述某个 tvbox 目录后,如下所示:
drwxr-x--- 61 tvbox tvbox 12288 Feb 22 17:12 tvbox
如您所见,其他人的权限均被拒绝(不存在)
我们可以使用 ag 代替 o 或用户(所有者)来更改组的权限,但在该位置使用 au 可以通过将它们串在一起来同时为所有人更改它们,例如,chmod ugo+rwx filename
将为用户、组和所有其他人提供完全访问权限。(说明性 - 不是您通常想要的)从 + 更改为 - 将删除权限
因此 u = 用户、g = 组、o = 其他、r = 读取、w = 写入、x = 执行 还有一种使用数字 chmod 的方法。4 = 读取、2 = 写入、1 = 执行,您可以将数字相加以获得所需的结果。chmod 776 filename 将授予所有者和组完全访问权限,并拒绝其他人执行权限,同时允许读取和写入。对于需要快速更改大量文件和目录权限的系统管理员来说,这是一种很好的简写方式。
-R 表示递归,如果您不确定自己在做什么,那么在任何命令中使用它都是非常危险的。