我将 postgres 数据目录移到了一个单独的分区,效果很好。该目录归 postgres 用户和 postgres 组所有。
d-wx------ 11 postgres postgres 4.0K 2010-06-11 08:28 data/
我把自己加到群里了
> sudo addgroup me postgres
> groups me
me : me adm dialout cdrom plugdev lpadmin admin sambashare postgres
并授予该组对目录中所有内容的读取和执行权限。
sudo chmod -R g+rx ./data
d-wxr-x--- 11 postgres postgres 4.0K 2010-06-11 08:28 data/
但是我还是不能CD或LS的目录。
> ls data
ls: cannot open directory data: Permission denied
我犯了什么初学者错误?
如何将 Ubuntu 10.10 系统配置为如下行为:
我从来不明白这一点,因为如果您有权读取文件,是否意味着您可以将其复制到其他地方,从而允许您执行它?
我错过了什么?
我想在 Ubuntu Box 上创建一个可通过 FTP 访问的文件夹。有四个用户可以通过 FTP 连接,我希望他们能够不受限制地共享文件。是否可以在创建时将每个文件更改为 chmod 777?事情是,这应该只在这个特定位置才有可能。
谢谢!
我在为特定用户设置权限时遇到问题。
我有一个目录/srv/git/,我试图在其中创建一个test 包含一个文件testfile(由 拥有www:www-data)的子目录。testfile应该只能由用户和组而不是其他人读写。
[root@bartplatak ~]# cd /srv/git
[root@bartplatak git]# mkdir test && touch test/testfile
[root@bartplatak git]# chown -R www:www-data test
[root@bartplatak git]# chmod o= test/testfile
[root@bartplatak git]# chmod -R ug=rw test
[root@bartplatak git]# sync
[root@bartplatak git]# su www
Run Code Online (Sandbox Code Playgroud)
但是由于某些未知原因,我无法cd进入目录(并且列出它显示的信息非常不完整)
bash-4.1$ pwd
/srv/git
bash-4.1$ ls -la test
ls: cannot access test/.: Permission denied
ls: cannot access test/testfile: Permission denied
ls: cannot access test/..: Permission denied
total 0
d????????? ? …Run Code Online (Sandbox Code Playgroud) 我已经看到如何在 linux 上做到这一点,但是有没有办法在 OSX 上做到这一点?
我不小心运行了 chmod -R 777 /
正在寻找如何撤消此操作。谢谢
如果我运行
ll /usr/bin/crontab
它给了我这个输出:
-rwsr-sr-x 1 root root 315432 Nov 10 2007 /usr/bin/crontab
权限掩码中的“s”是什么意思?
为什么他们需要使用它?
谢谢,丹
/opt/software
/home/user1/file
/home/user2/file
Run Code Online (Sandbox Code Playgroud)
如何实现这种设置?
这个问的有点不好意思,不过我只是用openssh搭建了一个ubuntu服务器。
如果该用户不是所有者或组的一部分,是否可以创建对 chmod **7 文件具有只读访问权限的用户?换句话说,当您以该用户身份登录时,具有 **7 权限的文件将显示为 **4,而当您以其他用户身份登录时,权限将显示为 **7。
(我对服务器非常缺乏经验)
在对我的 AWS EC2 实例上的一些权限问题感到沮丧之后,我决定执行以下命令:
chmod -R 777 /
Run Code Online (Sandbox Code Playgroud)
我认为这会改变我所在文件夹的权限,但它似乎影响了我服务器实例上的每个文件。结果,我无法再通过 SSH 连接到服务器。它只是说connection failed。
我拍摄的服务器的唯一图像是很久以前的图像,并且没有我想要的文件。
有没有办法可以简单地从 AWS 控制台下载我想要的文件,然后从那里将它们上传到新实例?
编辑
我无法再登录的原因是因为无法使用新的 777 权限找到密钥对(以及其他几个文件),从而阻止我登录。
然而,这不是我的问题。我的问题是如何获取这些文件。
我需要在 Linux 服务器上创建一个目录,用户可以在其中“提交”文件,类似于 ftp 服务器上的传入目录。(提交后将无法查看它们。)
具体来说,这是 Fedora 20,但我希望有一个通用的解决方案。
很明显,我可以在本地设置 vsftp,实际上是 ftp 到 localhost,但这似乎没有必要。
基本上,我希望用户能够将文件复制到此目录中,但之后不能查看它。(虽然,如果他们可以用 >> 附加到它,那就太好了)
是否有任何组、chmod、umask 和 setfacl 的组合允许这样做?
谢谢。
在网络上的各种文档中,关于 umask 的操作方式,linux/unix 文件的基本权限是 666。
这也与默认 ACL 权限对在默认 ACL 权限下创建的文件强制执行 rw 掩码这一事实有关。
这至少与以下系统有关:
Ubuntu 12.04.3
但是,我认为这种行为在许多 unix 中很常见。
我在虚拟专用服务器上使用 CentOS。
当我以 root 身份进入并更改文件夹的 chmod 值时,它会起作用。但是,我放入该文件夹的任何文件都不会继承我设置的 chmod。
这是我使用的:
chmod -Rv 777 files
Run Code Online (Sandbox Code Playgroud)
回报是这样的:
mode of `files' retained as 0777 (rwxrwxrwx)
mode of `files/1344188366-f7cad6aa87685db775817d4168c329ef-AUTO_INSURANCE2.csv'
changed to 0777 (rwxrwxrwx)
Run Code Online (Sandbox Code Playgroud)
好的,所以一个文件改变了。但是,如果我将任何文件放入该文件夹中,它们将具有不同的 chmod 值。如何让 chmod 坚持该目录中的每个文件和文件夹?
我希望默认 chmod 设置的文件正在通过 XHR 上传。IE 从浏览器到服务器的文件上传过程。
如何在 PHP 中的应用程序代码上设置 chmod 级别?
编辑
我想我已经找到了解决问题的合理方法。下面的答案解决了文件权限问题。但是get_current_user()在 php 中运行后,我意识到运行脚本的用户与我正在尝试处理的文件的用户不同。文件用户是 apache,因为那是创建它的人。但是PHP脚本是不同的用户,默认用户。
chmod ×13
linux ×7
permissions ×4
ubuntu ×3
umask ×2
amazon-ec2 ×1
bash ×1
centos ×1
chown ×1
files ×1
filesystems ×1
ftp ×1
mac-osx ×1
mkdir ×1
php ×1
postgresql ×1
setfacl ×1
ssh ×1
unix ×1