我正在尝试使用 Samba。我在 上安装了一个 RAID 驱动器/mnt/raiddrives
,我想在我的网络上共享它,让每个人都可以完全访问它。Ubuntu 指南建议在文件中执行如下操作smb.conf
:
[share]
comment = Ubuntu File Server Share
path = /srv/samba/share
browsable = yes
guest ok = yes
read only = no
create mask = 0755
但是,假设权限是通过该create mask
值设置的,那么0755
对我来说毫无意义。在网上搜索只会得到数百人使用不同的数字,而没有明确解释这些数字的含义。所以有人能告诉我这些数字的含义以及我如何才能确定我想要使用哪个数字吗?
答案1
这与 Samba 无关。这与文件权限有关。
访问限制有三种类型:
Permission Action chmod option
======================================
read (view) r or 4
write (edit) w or 2
execute (execute) x or 1
用户限制也有三种类型:
User ls output
==================
owner -rwx------
group ----rwx---
other -------rwx
文件夹/目录权限
Permission Action chmod option
===============================================================
read (view contents: i.e., ls command) r or 4
write (create or remove files from dir) w or 2
execute (cd into directory) x or 1
数字符号
表示 Linux 权限的另一种方法是八进制表示法,如 所示stat -c %a
。此表示法至少包含三位数字。最右边的三位数字分别代表权限的不同组成部分:所有者、组和其他。
这些数字中的每一个都是二进制数字系统中其组成位的总和:
Symbolic Notation Octal Notation English
============================================================
---------- 0000 no permissions
---x--x--x 0111 execute
--w--w--w- 0222 write
--wx-wx-wx 0333 write & execute
-r--r--r-- 0444 read
-r-xr-xr-x 0555 read & execute
-rw-rw-rw- 0666 read & write
-rwxrwxrwx 0777 read. write & execute
那么,755 代表什么意思?
7= rwx
5= r-x
5=r-x
这意味着该目录具有默认权限-rwxr-xr-x
(以八进制表示为 0755)。
请阅读有关文件权限的更多信息:
答案2
请忘掉 Samba,看看这里的一些简单的东西……我认为你不需要任何技术语言。对吧?……好吧。
您的计算机中有多种用户类别
- 所有者
- 团体
- 其他用户
现在,这是授予目录权限的“数学”:
- 常见的顺序通常是
XXXX
忽略第一个“x”。第二个“x”是所有者,第三个“x”是团体第四个是其他的。
以下是授予权限的算法(忽略0在左侧。)
000 没有权限
111 执行
222 写
333 写入并执行
444 读
555 读取并执行
666 读写
777 读写并执行
现在我们开始吧
7 为“所有者”类别
5 是类别“组”
5(最后一个)属于“其他”类别
现在, 755这意味着所有者即根将在目录中读取、写入和执行。团体和其他的只会在目录中读取和执行。
尝试一下该算法。
您还可以阅读 http://cs.brown.edu/cgc/net.secbook/se01/handouts/Ch03-FilesystemSecurity.pdf。