好的,所以我已经尽我最大的努力通过搜索和查看可能的重复来找到这个问题的答案,但如果它在某个地方,我就不能原谅我。
我的问题如下。我给自己定的所有者/var/www,以myuser:www-data和该文件夹的权限和所有(目前只是基本的index.html)它的内容750,和Apache似乎运行它像预想的那样,但我不能访问它,当我到FTP服务器作为myuser用户。我的意思是,我可以访问它,但是一旦我尝试编辑、删除或添加一些东西,我就会得到500 Permission denied,如果我尝试编辑我得到的权限500 Unknown SITE command.
帮助!我做错了什么?上面设置用户和组,然后权限的想法来自我的一个好朋友,他是一位专家,但是当我问这么多问题时,我觉得我在打扰他,所以如果你能帮忙再给我一些,那太好了!
我正在尝试将带有 4 个虚拟主机的备份放回 www 文件夹,但我放的内容不应该有任何问题,对吧?这只是后来虚拟主机的讨论与此有关,对吗?
提前致谢!
添加信息:
我跑了这个:
myuser@myserver:/$ groups myuser
得到了这个:
myuser : myuser adm cdrom sudo dip plugdev lpadmin sambashare
然后我跑了这个:
myuser@myserver:/$ groups www-data
得到了这个:
www-data : www-data
然后这个:
myuser@myserver:/var/www$ ls -l
得到了这个:
total 4
-rwxr-x--- 1 tjita1 www-data 177 Jan 25 17:45 index.html
关于ftpserver,我没有做特别的事情,我只是安装了vsftpd。哦,是的,我还在我认为/etc/vsftpd.conf或类似的内容中添加了一行,内容如下:chmod_enable=YES。
另外,我无法让那些 4 个空格缩进工作,对此感到抱歉..
当我在终端中键入 sudo 命令时,它显示以下错误:
sudo: /etc/sudoers is owned by uid 1000, should be 0
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin
Run Code Online (Sandbox Code Playgroud)
我该如何解决?
使用sudo nautilus我创建了一些文件夹,我想摆脱对它们的 root 权限。但是我有很多,我想对整个目录及其包含的文件夹执行此操作。
那么如何允许当前用户读取/写入特定目录中的所有文件和文件夹/home呢?
我已经研究了这个主题https://help.ubuntu.com/community/FilePermissions一段时间,但由于某种原因无法让它工作。
特别是,这些行最让我感兴趣:
要一次更改指定目录下每个文件和文件夹的所有权限,请使用 sudo chmod 和 -R
Run Code Online (Sandbox Code Playgroud)$ sudo chmod 777 -R /path/to/someDirectory $ ls -l total 3 -rwxrwxrwx 1 user user 0 Nov 19 20:13 file1 drwxrwxrwx 2 user user 4096 Nov 19 20:13 folder -rwxrwxrwx 1 user user 0 Nov 19 20:13 file2
这是我输入的内容:
mark@ubuntuserver:~$ sudo chmod 755 /var/www/html
mark@ubuntuserver:~$ ls -l
total 0
Run Code Online (Sandbox Code Playgroud)
然后我检查了 sftp 中的任何更改:
sftp> cd /
sftp> cd var/www/html
sftp> pwd
Remote working directory: /var/www/html
sftp> ls -l
-rw-r--r-- 1 root root …Run Code Online (Sandbox Code Playgroud) ubuntu64@ubuntu:/$ sudo chown –R hduser:hadoop mongodbdata
chown: invalid user: ‘–R'
Run Code Online (Sandbox Code Playgroud)
当我尝试更改文件的所有权时,我只是收到invalid user: '-R'错误消息。
我是 Ubuntu 的新手,想知道是否有办法将所有文件和脚本的所有权从 root 删除到用户,即使我必须重新安装 Ubuntu?我确实知道命令“chown -v username foldername”,尽管它不适用于所有文件。
我正在运行 Ubuntu 12.04 并遇到各种问题。我已经将其追溯到我用户的主目录 (/home/user) 归 root 所有的事实。
/home 目录实际上安装在另一个驱动器上,但我可以看到在 fstab 中我只安装了 /home 而不是 /home/user:
UUID=DC56D19E56DX3233 /home ntfs user,exec 0 2
Run Code Online (Sandbox Code Playgroud)
下面的 chown 命令似乎不起作用:
sudo chown -R user /home/user
Run Code Online (Sandbox Code Playgroud)
这将运行而不会出错,但它实际上不会更改目录的所有权。这是ls -ld运行命令后的输出:
drwxrwxrwx 1 root root 20480 Sep 25 00:07 /home/user
Run Code Online (Sandbox Code Playgroud)
这与以前相同。
有时我使用 root 帐户为普通用户创建一些文件。但这只是为了方便。我真的希望这个文件的所有者应该是我创建这个文件的用户。
如何更改文件所有者?(GUI工具更好)
如果我有一个具有以下权限和所有权的文件:
-rw------- 1 root root,此文件是否已加密?
我问这个是因为我想知道如何真正保护文件不被读取为纯字节,然后被某些非 root 用户或攻击者重建。
我怎样才能删除这个目录?我做了fsck,它发现了一些垃圾,我查看了这些文件,没有什么重要的东西。所以我试图删除内容,/lost+found除了这个奇怪的目录外,一切都消失了。我认为将它放在/tmp(我可以在整个卷上移动该目录)将在下次重新启动时将其擦除,但在重新启动和另一个fsck.
由于问题似乎是低级别的,并且使用所有权和权限还不够,我已经让您能够自己重现该问题。享受!
dd if=/dev/sda1 of=/files/broken.iso;我制作了一个 15MB 的存档,其中的图像约为 1.2GB。您可以使用以下命令下载并使用它:
cd /tmp
wget https://dl.dropboxusercontent.com/u/22701362/broken.tar.xz
tar xvf broken.tar.xz
mkdir test
sudo mount broken.iso test
cd test
Run Code Online (Sandbox Code Playgroud)
将有两个目录(在创建该映像期间,我的磁盘上似乎有两个这样的目录):
/tmp/test> tree
.
??? 1
? ??? plexus-component-annotations-1.5.5.jar.sha1 [error opening dir]
??? 2
??? #1589030 [error opening dir]
4 directories, 0 files
Run Code Online (Sandbox Code Playgroud)
删除这两个目录祝你好运:
/tmp/test> sudo rm -rf *
rm: cannot remove '1/plexus-component-annotations-1.5.5.jar.sha1': Operation not permitted
rm: cannot remove '2/#1589030': Operation not permitted
/tmp/test> …Run Code Online (Sandbox Code Playgroud) ownership ×10
permissions ×8
chown ×4
command-line ×1
directory ×1
encryption ×1
ext4 ×1
fsck ×1
ftp ×1
mount ×1
server ×1
sftp ×1
sudo ×1
users ×1