Peret Finctor Asked: 2015-12-09 16:28:08 +0800 CST2015-12-09 16:28:08 +0800 CST 2015-12-09 16:28:08 +0800 CST 如何以及何时使用组? 772 我的计算机上只有一个用户,而且我从未设置任何组权限。它们什么时候有用?你能举几个例子吗? permissions 1 个回答 Voted Best Answer L. D. James 2015-12-09T18:57:27+08:002015-12-09T18:57:27+08:00 一个很好的例子是,默认情况下 Apache Web 服务器以 user 和 group 运行www-data。 您的用户 ID 不是www-data,您的默认组 ID 也不是。您不能随意更改您的用户 ID 并保持访问的完整性,但您可以将您的用户名添加到一个组中,并可以访问普通用户通常无法访问的文件。 您可以使用以下命令将您的用户 ID 添加到www-data组中: $ sudo adduser [username] [groupname] 在该命令之后,具有用户名的用户将可以访问具有组名的文件。顺便说一下,您不会使用括号。示例中的括号是向您展示一个可以替换的变量。 现在您可以在您的 Web 服务器上创建您可以编辑的文件。服务器本身也可以对文件进行更新 顺便说一句,您可以使用以下方法从组中删除用户: $ sudo deluser [username] [groupname] 通过查看默认可用的各种组,您可以找到许多其他组访问示例。您可以使用以下方式检查组列表: $ less /etc/group 您可能会注意到您的用户名可以访问许多系统功能,例如plugdev(可以访问您可能连接到计算机的 USB 设备的功能)。您可能还会注意到您可以访问 cdrom 设备(cdrom组)。 一个重要的是sudo组,它允许您使用提升的/超级用户命令。 用于使用www-data组访问 我以 www-data 为例。默认情况下,Web 文件归 root 所有。其他用户无法编辑它们。您可以根据您希望能够编辑文件的访问权限将文件指定到不同的组。然后你可以给那些访问权限的人(包括网络服务器)访问权限。 由于 Web 服务器在用户和组 ID www-data 下运行,您可以通过将文件更改为该用户或组来授予 Web 服务器更改文件的权限。默认情况下,您的网络服务器无法更改任何网络文件。 如果您有理由让您的服务器更改某些 Web 文件(或文件夹),这就是将文件(或文件夹)更改为该特定用户或组的机会。 创建群组 考虑到您可能还想为您自己和其他用户 ID 授予对特定文件或文件夹的特定访问权限。您可以为此创建一个特定的组,并使用上述命令添加对该组的访问权限。 创建组的命令行是: $ sudo addgroup <groupname> 在某些情况下,您可能会编写程序来执行特定任务。您可以为该程序创建用户和组 ID。使用上面的命令将程序将访问(读取和写入)的文件和文件夹放在该组中。 FTP 守护进程和协议就是一个例子。如果您想允许人们将文件上传到您的计算机,您可以创建一个特定的目录并通过用户或组授予对该目录的写访问权限,以便 FTP 守护程序可以写入它。 您不希望 FTP 守护程序能够在您的系统上的任何地方写入。因此,您可以按用户或组访问权限指定 FTP 守护程序可以读取或写入的位置。 笔记 注意$终端命令前面的。这是来自普通用户登录会话的命令提示符的指示器。如果命令来自 root 登录,则默认提示是#符号。当以普通用户身份登录时,您必须在您的命令前加上sudo命令以提升对超级执行者的访问权限。如果您以 root 身份登录,则没有必要这样做。此外,很容易查看文本并查看需要提升的命令,例如adduser. 请注意,teh /etc/group(默认情况下)是世界可读的,因此您不需要提升的命令(root 访问权限)来阅读内容。你需要它来写信给它。
一个很好的例子是,默认情况下 Apache Web 服务器以 user 和 group 运行
www-data
。您的用户 ID 不是
www-data
,您的默认组 ID 也不是。您不能随意更改您的用户 ID 并保持访问的完整性,但您可以将您的用户名添加到一个组中,并可以访问普通用户通常无法访问的文件。您可以使用以下命令将您的用户 ID 添加到
www-data
组中:在该命令之后,具有用户名的用户将可以访问具有组名的文件。顺便说一下,您不会使用括号。示例中的括号是向您展示一个可以替换的变量。
现在您可以在您的 Web 服务器上创建您可以编辑的文件。服务器本身也可以对文件进行更新
顺便说一句,您可以使用以下方法从组中删除用户:
通过查看默认可用的各种组,您可以找到许多其他组访问示例。您可以使用以下方式检查组列表:
您可能会注意到您的用户名可以访问许多系统功能,例如
plugdev
(可以访问您可能连接到计算机的 USB 设备的功能)。您可能还会注意到您可以访问 cdrom 设备(cdrom
组)。一个重要的是
sudo
组,它允许您使用提升的/超级用户命令。用于使用
www-data
组访问我以 www-data 为例。默认情况下,Web 文件归 root 所有。其他用户无法编辑它们。您可以根据您希望能够编辑文件的访问权限将文件指定到不同的组。然后你可以给那些访问权限的人(包括网络服务器)访问权限。
由于 Web 服务器在用户和组 ID www-data 下运行,您可以通过将文件更改为该用户或组来授予 Web 服务器更改文件的权限。默认情况下,您的网络服务器无法更改任何网络文件。
如果您有理由让您的服务器更改某些 Web 文件(或文件夹),这就是将文件(或文件夹)更改为该特定用户或组的机会。
创建群组
考虑到您可能还想为您自己和其他用户 ID 授予对特定文件或文件夹的特定访问权限。您可以为此创建一个特定的组,并使用上述命令添加对该组的访问权限。
创建组的命令行是:
在某些情况下,您可能会编写程序来执行特定任务。您可以为该程序创建用户和组 ID。使用上面的命令将程序将访问(读取和写入)的文件和文件夹放在该组中。
FTP 守护进程和协议就是一个例子。如果您想允许人们将文件上传到您的计算机,您可以创建一个特定的目录并通过用户或组授予对该目录的写访问权限,以便 FTP 守护程序可以写入它。
您不希望 FTP 守护程序能够在您的系统上的任何地方写入。因此,您可以按用户或组访问权限指定 FTP 守护程序可以读取或写入的位置。
笔记
注意
$
终端命令前面的。这是来自普通用户登录会话的命令提示符的指示器。如果命令来自 root 登录,则默认提示是#
符号。当以普通用户身份登录时,您必须在您的命令前加上sudo
命令以提升对超级执行者的访问权限。如果您以 root 身份登录,则没有必要这样做。此外,很容易查看文本并查看需要提升的命令,例如adduser
. 请注意,teh/etc/group
(默认情况下)是世界可读的,因此您不需要提升的命令(root 访问权限)来阅读内容。你需要它来写信给它。