OnWorks Linux 和 Windows 在线工作站

商标

工作站免费在线托管

<上一页 | 内容 | 下一页>

行使我们的特权

现在我们已经了解了这个权限的工作原理,是时候展示它了。 我们将演示一个常见问题的解决方案 - 设置共享目录。 假设我们有两个名为“bill”和“karen”的用户。 他们都有音乐 CD 收藏,并希望建立一个共享目录,将他们的音乐文件存储为 Ogg Vorbis 或 MP3。 用户 法案 可以通过以下方式访问超级用户权限 须藤.

需要做的第一件事是创建一个同时拥有两者的组 法案 卡伦 作为会员。 使用图形用户管理工具, 法案 创建一个名为的组 音乐 并添加用户 法案 卡伦 对此:


图片

图 3:使用 GNOME 创建新组


接下来, 法案 为音乐文件创建目录:


[比尔@linuxbox ~]$ 须藤 mkdir /usr/local/share/Music

密码:

[比尔@linuxbox ~]$ 须藤 mkdir /usr/local/share/Music

密码:


建立 法案 正在操作其主目录外的文件,则需要超级用户权限。 创建目录后,它具有以下所有权和权限:


[比尔@linuxbox ~]$ ls -ld /usr/local/share/音乐

drwxr-xr-x 2 根 4096 2016-03-21 18:05 /usr/local/share/Music

[比尔@linuxbox ~]$ ls -ld /usr/local/share/音乐

drwxr-xr-x 2 根 4096 2016-03-21 18:05 /usr/local/share/Music


如我们所见,该目录归 并拥有 755 个权限。 要使此目录可共享, 法案 需要更改组所有权和组权限以允许写入:



[比尔@linuxbox ~]$ 须藤 chown : 音乐 /usr/local/share/Music [比尔@linuxbox ~]$ 须藤 chmod 775 /usr/local/share/Music [比尔@linuxbox ~]$ ls -ld /usr/local/share/音乐

drwxrwxr-x 2 根音乐 4096 2016-03-21 18:05 /usr/local/share/Music

[比尔@linuxbox ~]$ 须藤 chown : 音乐 /usr/local/share/Music [比尔@linuxbox ~]$ 须藤 chmod 775 /usr/local/share/Music [比尔@linuxbox ~]$ ls -ld /usr/local/share/音乐

drwxrwxr-x 2 根音乐 4096 2016-03-21 18:05 /usr/local/share/Music


那么,这意味着什么? 这意味着我们现在有一个目录,

/usr/local/share/Music 由 root 拥有并允许对组音乐进行读写访问。 音乐组有成员 bill 和 karen,因此 bill 和 karen 可以在目录 /usr/local/share/Music 中创建文件。 其他用户可以列出目录的内容,但不能在那里创建文件。

但是我们仍然有问题。 使用当前权限,在 Music 目录中创建的文件和目录将具有用户的正常权限 法案 卡伦:


[比尔@linuxbox ~]$ > /usr/local/share/Music/test_file

[比尔@linuxbox ~]$ ls -l /usr/local/share/音乐

-rw-r--r-- 1 bill bill 0 2016-03-24 20:03 test_file

[比尔@linuxbox ~]$ > /usr/local/share/Music/test_file

[比尔@linuxbox ~]$ ls -l /usr/local/share/音乐

-rw-r--r-- 1 bill bill 0 2016-03-24 20:03 test_file


其实有两个问题。 一、默认 遮罩 该系统上的 0022 可防止组成员写入属于该组其他成员的文件。 如果共享目录只包含文件,这不会有问题,但由于该目录将存储音乐,并且音乐通常以艺术家和专辑的层次结构组织,组成员将需要创建文件的能力和其他成员创建的目录中的目录。 我们需要改变 遮罩 用于 法案 卡伦 改为 0002。

其次,一个成员创建的每个文件和目录都会被设置为用户的主组而不是组 音乐. 这可以通过在目录上设置 setgid 位来解决:



[比尔@linuxbox ~]$ 须藤 chmod g+s /usr/local/share/Music

[比尔@linuxbox ~]$ 须藤 chmod g+s /usr/local/share/Music

行使我们的特权


[比尔@linuxbox ~]$ ls -ld /usr/local/share/音乐

drwxrwsr-x 2 根音乐 4096 2016-03-24 20:03 /usr/local/share/Music

[比尔@linuxbox ~]$ ls -ld /usr/local/share/音乐

drwxrwsr-x 2 根音乐 4096 2016-03-24 20:03 /usr/local/share/Music


现在我们测试看看新权限是否解决了问题。 法案 设置他的 遮罩 到 0002,删除之前的测试文件,并创建一个新的测试文件和目录:



[比尔@linuxbox ~]$ 第 0002 章

[比尔@linuxbox ~]$ rm /usr/local/share/音乐/test_file [比尔@linuxbox ~]$ > /usr/local/share/Music/test_file [比尔@linuxbox ~]$ mkdir /usr/local/share/Music/test_dir [比尔@linuxbox ~]$ ls -l /usr/local/share/音乐

drwxrwsr-x 2 bill 音乐 4096 2016-03-24 20:24 test_dir

-rw-rw-r-- 1 bill 音乐 0 2016-03-24 20:22 test_file [bill@linuxbox ~]$

[比尔@linuxbox ~]$ 第 0002 章

[比尔@linuxbox ~]$ rm /usr/local/share/音乐/test_file [比尔@linuxbox ~]$ > /usr/local/share/Music/test_file [比尔@linuxbox ~]$ mkdir /usr/local/share/Music/test_dir [比尔@linuxbox ~]$ ls -l /usr/local/share/音乐

drwxrwsr-x 2 bill 音乐 4096 2016-03-24 20:24 test_dir

-rw-rw-r-- 1 bill 音乐 0 2016-03-24 20:22 test_file [bill@linuxbox ~]$


现在创建的文件和目录都具有正确的权限以允许组的所有成员 音乐 在里面创建文件和目录 音乐 目录。

剩下的一个问题是 遮罩. 必要的设置仅持续到会话结束并且必须重置。 在第 11 章中,我们将研究对 遮罩 永恒的。


OnWorks 的顶级操作系统云计算: