我已经安装了 Ubuntu 12.10,但现在无法挂载任何分区。
我在驱动器上遇到同样的错误: Adding read ACL for uid 1000 to /media/proach failed: Operation not supported
我已经在本地文件夹上测试了 ACL,我工作得很好。
但是在我的名为“tank”的 zfs 池中
root@datacenter:/mnt# ls 数据槽测试 webmin_1.650_all.deb root@datacenter:/mnt# setfacl -mu:casper:rwx datatank setfacl:datatank:不支持操作
如何为我的 zfs 系统添加 acl 支持?
怎么了 ?
有没有办法强制在目录中创建的文件从父目录继承所有权?我尝试了粘性位,但这似乎不起作用。
我正在寻找的示例:
drwxrwxr-x www-data somegroup parentdir
Run Code Online (Sandbox Code Playgroud)
当某个用户创建 parentdir/newfile.htm 时:
-rwxrwxr-x www-data somegroup newfile.htm
Run Code Online (Sandbox Code Playgroud)
不是
-rwxr-xr-x someuser somegroup newfile.htm
Run Code Online (Sandbox Code Playgroud)
有什么办法可以做到吗?谢谢!
我有一个权限设置为 777 的文件夹,但是当我在该文件夹中添加任何文件或文件夹解压缩时。提取的文件或文件夹权限永远不会改变。目标文件夹权限是 777,我希望我将在该文件夹中添加的内容将自动获得 777 的权限。
当我通过在该文件夹中提取 .zip 添加任何文件或文件夹时,提取的文件夹/文件权限不会自动更改。我总是必须 chmod 才能新添加文件/文件夹!
为标题道歉,设置实际上非常简单。我有一个叫做用户一台主机oli
和一个名为目录/media/steve/incoming
是oli
可读写-执行。在。在我有根下运行的特权LXC容器。/media/steve/incoming
安装在容器中/incoming/
,如下所示:
lxc.mount.entry = /media/steve/incoming incoming none bind 0 0
Run Code Online (Sandbox Code Playgroud)
在容器内,我有一个运行为www-data
. 它需要能够写入/incoming/
.
我在这里有哪些选择?我可以想到一些想法,但它们要么有非常严重的缺点,要么我不知道如何实施它们:
我可以将我的守护进程更改为在容器内以 root 身份运行,但我宁愿它没有。根目录中奇怪的写入文件(它们root:oli
在主机上作为-owned 出现)。
我可以将容器映射www-data
到oli
文件系统上的主机权限吗?这会授予他们访问主机的权限吗?oli
不是非隐私帐户。它可以造成真正的伤害。
我是否可以以容器中的任何人都可以写入 /incoming 并且访问看起来像是来自主机的方式绑定挂载它oli
?
ACL 有什么帮助吗?
对不起,但我找不到解决这个明显的简单问题的在线搜索和这个论坛。
我有一个简单的需求:将目录及其内容复制到另一个本地位置,同时保留 ACL 和 xAttr。通过使用 -A 和 -X 选项,根据手册页,这应该非常简单:
rsync -aAX /source/directory /destination/directory
Run Code Online (Sandbox Code Playgroud)
但这无法保护它们。'cp' 的简单使用虽然有效。
cp -a /source/directory /destination/directory
Run Code Online (Sandbox Code Playgroud)
我尝试了各种其他组合,即使 sudo 没有成功......
sudo rsync -rA /source/directory /destination/directory
Run Code Online (Sandbox Code Playgroud)
我使用的是 Ubuntu 14.04LTS;我确定我有 ACL,因为我已经使用“setfacl”和“getfacl”设置了 ACL
setfacl -R -m "g:gp2:rw" MyDirectoryOfInterest
Run Code Online (Sandbox Code Playgroud)
getfacl 显示 ACL 正在使用的地方:
>>getfacl /source/DirectoryOfInterest
getfacl: Removing leading '/' from absolute path names
# file: source/DirectoryOfInterest
# owner: myusername
# group: myusername
user::rwx
user:usr1:rwx
user:usr2:rw-
user:usr3:r--
group::rwx
group:gp1:r--
group:gp2:rw-
group:gp3:rwx
mask::rwx
other::rwx
Run Code Online (Sandbox Code Playgroud)
注意:源目录和目标目录都在同一个驱动器上,甚至在同一个目录中,目标目录只是简单地附加数字“2”。例如 /home/username/Car 和 /home/username/Car2。
注意:rsync 将运行,但不会分配任何 ACL 和 …
我以前曾经file-roller
将 ISO 映像提取到我的桌面,但现在我不能再“像我自己一样”删除或移动/重命名这些文件,只能使用sudo
. 不过,更改权限 ( chmod
) 或内容是可能的。
bytecommander@BC-AlkaliMetal:~/Desktop$ ll AUTORUN.INF
-rwxr-xr-x 1 bytecommander bytecommander 132 Jul 21 2005 AUTORUN.INF*
bytecommander@BC-AlkaliMetal:~/Desktop$ chmod 777 AUTORUN.INF
bytecommander@BC-AlkaliMetal:~/Desktop$ echo "Something useless" > AUTORUN.INF
bytecommander@BC-AlkaliMetal:~/Desktop$ cat AUTORUN.INF
Something useless
bytecommander@BC-AlkaliMetal:~/Desktop$ ll AUTORUN.INF
-rwxrwxrwx 1 bytecommander bytecommander 18 Sep 22 21:13 AUTORUN.INF*
bytecommander@BC-AlkaliMetal:~/Desktop$ rm AUTORUN.INF
rm: cannot remove 'AUTORUN.INF': Permission denied
Run Code Online (Sandbox Code Playgroud)
但是,我想了解究竟是什么让我回到了这里。
我的桌面目录位于 ext4 分区上。输出mount
:
/dev/sdb5 on / type ext4 (rw,noatime,nodiratime,errors=remount-ro,data=ordered)
Run Code Online (Sandbox Code Playgroud)
我找不到任何可疑的权限、ACL、扩展属性或我所知道的任何其他内容:
bytecommander@BC-AlkaliMetal:~/Desktop$ stat AUTORUN.INF
File: 'AUTORUN.INF'
Size: 18 …
Run Code Online (Sandbox Code Playgroud) 我正在查看需要启用 ACL 的 Web 应用程序。是否有任何基准测试或其他文档可以显示当文件系统处于高负载时 ACL 没有{n't} 的潜在影响?
另外,与 ACL 一起使用的文件系统是否重要?
我正在阅读这个 Digital Ocean 教程。在第 1 步中,它说:
在安装应用程序时,我们需要 [...] acl 来设置正确的目录权限
我想检查是否acl
已经安装:
$ dpkg -s acl
dpkg-query: package 'acl' is not installed and no information is
available Use dpkg --info (= dpkg-deb --info) to examine archive
files, and dpkg --contents (= dpkg-deb --contents) to list their
contents.
Run Code Online (Sandbox Code Playgroud)
然后我的逻辑告诉我用 寻找它apt-cache search
,然后我运行apt-cache search acl
; 它返回一个包列表,但我没有看到一个严格命名的包acl
。
我试试:apt-cache policy acl
。它返回:
acl:
Installed: (none)
Candidate: 2.2.52-3
Version …
Run Code Online (Sandbox Code Playgroud) 我在 Ubuntu Server 12.04 上运行。我有一个名为 Music 的文件夹,我希望默认文件夹权限为 775,默认文件权限为 664。
我将 Music 文件夹的默认权限设置为 775。
我将 ACL 配置为也使用这些默认权限:
# file: Music
# owner: kris
# group: kris
# flags: ss-
user::rwx
group::rwx
other::r-x
default:user::rwx
default:group::rwx
default:other::r-x
Run Code Online (Sandbox Code Playgroud)
我还将我的用户帐户 kris 的默认 umask 更改为 .profile 中的 002。
写入 Samba 共享时,新文件/文件夹现在不应该使用这些权限吗?据我所知,ACL 应该与 Samba 一起使用。
目前,如果我使用我的 mac 写入该文件夹,文件夹将获得 755 和文件 644。我的 mac 上有另一个名为 GoodSync 的应用程序,它能够将我的 mac 上的本地目录同步到网络 samba 共享,但这些权限甚至更糟。使用该程序将文件写入 700。
所以看起来 Samba 允许主机/程序确定文件夹/文件权限。
无论主机尝试在服务器上写入什么,我都需要进行哪些更改以强制获得我想要的权限?
我有一个大问题:setfacl 似乎不适用于 /proc 和 /sys,但我想限制一个特定用户的权限,并且我认为该用户读取 /proc/cpuinfo 等内容是不可接受的。(用户不应该能够收集有关系统的硬件信息)
在 Ubuntu 中我该怎么做?Apparmor更多的是限制应用程序,而不是用户。看来Selinux是这种情况下唯一的可能性,对吧?
我在我的脚本中是这样解决的:
# restrict read access to /sys and /proc
sudo chmod -r /sys
sudo chmod -r /proc/acpi
sudo chmod -r /proc/asound
sudo chmod -r /proc/bus
sudo chmod -r /proc/cgroups
sudo chmod -r /proc/consoles
sudo chmod -r /proc/cpuinfo
sudo chmod -r /proc/crypto
sudo chmod -r /proc/devices
sudo chmod -r /proc/diskstats
sudo chmod -r /proc/dma
sudo chmod -r /proc/dri
sudo chmod -r /proc/driver
sudo chmod -r /proc/execdomains
sudo chmod -r …
Run Code Online (Sandbox Code Playgroud) acl ×12
permissions ×6
filesystem ×3
files ×2
mount ×2
apt ×1
command-line ×1
directory ×1
dpkg ×1
ext4 ×1
lxc ×1
performance ×1
proc ×1
rm ×1
rsync ×1
samba ×1
security ×1
selinux ×1
zfs ×1