groups命令输出

groups命令输出

我正在运行 Ubuntu 16.04.4 LTS,遇到了一个问题。突然间,我无法编辑以前可以编辑的文件,由于权限错误,我无法运行程序。

ejaz我始终以属于主要组ejaz和次要组的用户身份登录root adm cdrom sudo dip www-data plugdev lpadmin sambashare kismet wireshark docker。我在的子目录中有多个网站/var/www/html/(不是在,~/public_html因为它是一台没有安全/共享考虑的开发机器)。以网站/var/www/html/test为例;它属于用户:组www-data:www-data。我以身份登录ejaz,在编辑目录中的文件时出现权限错误test。我似乎具有编辑此目录的正确组权限。

groups命令输出

~ » groups ejaz                                                                                                                                                              
ejaz : ejaz root adm cdrom sudo dip www-data plugdev lpadmin sambashare kismet wireshark docker

test网站权限

/var/www/html » l | grep test
drwxrwxr-x  2 www-data www-data 4.0K Apr  9  2017 test

但任何编辑都会导致权限错误

/var/www/html » cd test 

/var/www/html/test » l                                                                                                                                                           
total 16K
drwxrwxr-x  2 www-data www-data 4.0K Apr  9  2017 .
drwxrwxr-x 87 www-data www-data 4.0K Jul 10 06:50 ..
-rw-rw-r--  1 www-data www-data    0 Apr  9  2017 blah.html
-rw-rw-r--  1 www-data www-data   16 Apr  9  2017 .htaccess
-rw-rw-r--  1 www-data www-data   73 Apr  9  2017 index1.html

/var/www/html/test » touch blah.html
touch: cannot touch 'blah.html': Permission denied

id命令输出

/var/www/html/test » id -Gn
ejaz

这是可以理解的,因为它ejaz是主要群体。

如果我suejaz我能够在终端和从启动的任何程序中编辑该文件那个特定的终端实例

问题

为什么我突然无法编辑这些文件了?我之前怎么能编辑这些文件呢?从昨天开始我所做的就是运行 Ubuntu 的 apt upgrade。

任何帮助都将不胜感激。
谢谢阅读。

更新#1

sudo mount命令输出

~ » sudo mount                                                                    
[sudo] password for ejaz: 
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=4021496k,nr_inodes=1005374,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=808412k,mode=755)
/dev/sda1 on / type ext4 (rw,relatime,errors=remount-ro,data=ordered)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=27,pgrp=1,timeout=0,minproto=5,maxproto=5,direct)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
/var/lib/snapd/snaps/core_4917.snap on /snap/core/4917 type squashfs (ro,nodev,relatime)
/var/lib/snapd/snaps/core_4650.snap on /snap/core/4650 type squashfs (ro,nodev,relatime)
/var/lib/snapd/snaps/core_4830.snap on /snap/core/4830 type squashfs (ro,nodev,relatime)
/var/lib/snapd/snaps/pycharm-community_62.snap on /snap/pycharm-community/62 type squashfs (ro,nodev,relatime)
/var/lib/snapd/snaps/pycharm-community_60.snap on /snap/pycharm-community/60 type squashfs (ro,nodev,relatime)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,relatime)
/var/lib/snapd/snaps/pycharm-community_64.snap on /snap/pycharm-community/64 type squashfs (ro,nodev,relatime)
/dev/sda4 on /mnt/SSD2 type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,blksize=4096)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=808412k,mode=700,uid=1000,gid=1000)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)

sudo df -h命令输出

~ » sudo df -h                                                                  
Filesystem      Size  Used Avail Use% Mounted on
udev            3.9G     0  3.9G   0% /dev
tmpfs           790M  9.3M  781M   2% /run
/dev/sda1        82G   75G  2.3G  98% /
tmpfs           3.9G  165M  3.7G   5% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/loop0       87M   87M     0 100% /snap/core/4917
/dev/loop1       87M   87M     0 100% /snap/core/4650
/dev/loop2       87M   87M     0 100% /snap/core/4830
/dev/loop4      233M  233M     0 100% /snap/pycharm-community/62
/dev/loop3      240M  240M     0 100% /snap/pycharm-community/60
/dev/loop5      237M  237M     0 100% /snap/pycharm-community/64
/dev/sda4       136G  125G   11G  92% /mnt/SSD2
tmpfs           790M   28K  790M   1% /run/user/1000

更新#2

在此处输入图片描述

更新#3

将保留块减少到 0 没有帮助

在此处输入图片描述

更新# 4

我之前忘了提一下,但我觉得值得一提的是,我经常使用 VirtualBox 在这台电脑上运行 Windows 7。Windows 可以通过 VirtualBox 共享访问/var/www/html//mnt/SSD2/。我已经运行 Windows 大约一年了,但这是否会导致权限混乱?关于 Windows 对共享目录所做的操作范围,我专门使用 Widows 来运行 Adob​​e Photoshop,因此 Windows 基本上会从或
读取一些图像并将图像存储在 中。/mnt/SSD2/var/www/html/html/mnt/SSD2/*Windows 中对共享目录进行大量文件操作,例如压缩目录、提取压缩文件、移动目录、设置权限等。

更新#5

在此处输入图片描述

模糊的文本具有以下模式..

/var/www/html/magento_site_1
/var/www/html/magento_site_1/var/session/sess_xxxxxxxxxxxxxxxxxxxxxxxxxx
/var/www/html/magento_site_1
/var/www/html/magento_site_1/var/session/sess_xxxxxxxxxxxxxxxxxxxxxxxxxx
/var/www/html/magento_site_1
/var/www/html/magento_site_1/var/session/sess_xxxxxxxxxxxxxxxxxxxxxxxxxx
/var/www/html/magento_site_1
/var/www/html/magento_site_1/var/session/sess_xxxxxxxxxxxxxxxxxxxxxxxxxx
....

xxxxxxxxxxxxxxxxxxxxxxxxxx随机字符串。截图为完整输出。

更新 #6

输出

cd /var/www/html/test 
sudo trace-cmd record -o /tmp/trace.dat -e all touch blah.html
cd /tmp 
run trace-cmd report

X

更新 7

我整晚开着电脑,用/mnt/SSD2电脑上的单个 SSD 下载了一些文件,第二天早上回来时,我看到了这种情况

在此处输入图片描述

重启后,我得到了一个busybox initramfs命令提示符,运行后fsck /dev/sda1/我可以再次使用我的电脑,但这是否与我遇到的权限问题有关?我的固态硬盘坏了吗?是不是在权限问题开始发生前不久安装的新内核sudo apt upgrade

答案1

前言:我对 Snap 一无所知。

ext 文件系统的一个标准选项是保留 5% 的空间用于 root/

因此,在我看来,这/var/www/html/是根分区的一部分,从 的输出来看,它只剩下 2% 的空间df。作为标准选项,Linux 将为/根保留 5% 的分区空间。因此,这可以解释为什么您不能使用用户帐户进行编辑,但可以使用su

要检查是否确实如此,您可以使用tune2fs查看有多少个保留块

sudo tune2fs -l /dev/sda1

看看是否Reserved block count:高于 0。

Reserved block count: 3034088

您可能需要将其修改为短期解决方案,例如,修改为 1%

sudo tune2fs -m 1 /dev/sda1

或用-r表示数量blocks(也可以设置为 0)

但最好将 5% 留给根目录,并将数据文件移动到单独的分区。

这很好地解释了为什么这是一个好主意。


/如果您没有为、等设置单独的分区,则/var可以/home通过其他方式快速获取一些文件空间:

  • 清理用户主页
  • 删除旧日志文件
  • 删除旧的软件包/内核sudo apt-get update && sudo apt-get autoremove

答案2

这不会 100% 适用于您,但它是相关的,并且希望能够为您指明正确的方向。我怀疑,正如您所说,问题出在共享的 Virtualbox 文件夹上。基本上,文件夹从 2 个不同的操作系统访问,每个操作系统都有自己的文件系统/权限,并且由于您无法 100% 强制执行其中一个,否则您将失去另一个的所有访问权限……

是的,Virtualbox 很可能正在尝试在两者之间走钢丝,而不在任何一边掉下来。

无论如何,我找到的参考资料与您的设置相反,Windows 主机和 Ubuntu 客户机。但权限诡计是相同的。

Windows 主机、Ubuntu 客户机、权限问题及解决方案

相关内容