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
user:group 에 속합니다 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
이것이 주요 그룹이기 때문에 이해할 수 있습니다 .
하지만su
이렇게 하면 터미널 ejaz
의 파일과 터미널에서 실행되는 모든 프로그램을 편집할 수 있습니다.특정 터미널 인스턴스
질문
갑자기 이 파일을 편집할 수 없는 이유는 무엇이며 이전에는 어떻게 편집했습니까? 어제 이후로 내가 한 일은 Ubuntu의 적절한 업그레이드를 실행하는 것뿐입니다.
어떤 도움이라도 대단히 감사하겠습니다.
읽어 주셔서 감사합니다.
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
예약된 블록을 0으로 줄이는 것은 도움이 되지 않습니다.
저는 정기적으로 VirtualBox를 사용하여 이 PC에서 Windows 7을 실행한다는 점을 언급할 가치가 있다고 생각합니다. Windows는 VirtualBox를 통해 액세스 /var/www/html/
하고 /mnt/SSD2/
공유할 수 있습니다. Windows를 1년 정도 사용했는데 이로 인해 권한 혼란이 발생할 수 있나요?
Windows가 공유 디렉터리를 얼마나 잘 처리하는지에 관해서는 Widows를 독점적으로 사용하여 Adobe Photoshop을 실행하므로 Windows는 기본적으로 /mnt/SSD2
또는 에서 일부 이미지를 읽고 /var/www/html/html
이미지를 /mnt/SSD2/*
.아니요디렉터리 압축, 압축 파일 추출, 디렉터리 이동, 권한 설정 등과 같은 Windows의 공유 디렉터리에 대한 대용량 파일 작업을 수행합니다.
흐린 텍스트에는 다음과 같은 패턴이 있습니다.
/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
임의의 문자열 입니다 . 스크린샷은 전체 출력입니다.
답변1
의심스러워 보입니다.
/var/www/html/test » id -Gn
ejaz
이 id -G
명령(대문자 G 사용)은 모든 보조 그룹을 나열하도록 되어 있지만 그 중 하나만 표시되고 표시되지 않는 것 같습니다 www-data
.
현재 활성화된 보조 그룹이 아닌 groups ejaz
사용자의 보조 그룹이 무엇인지 묻기 때문에 실행하면 이런 일이 발생하지 않습니다 . ejaz
간단히 실행하여 하나만 존재하고 나머지는 누락되었는지 groups
확인할 수 있습니다.ejaz
다음 명령을 사용하여 보조 그룹을 재설정해 보십시오 newgrp
.
newgrp
그런 다음 다시 확인하여 모든 항목이 나열되는지 id -Gn
확인하세요 .groups
다음을 시도해 볼 수도 있습니다.
newgrp www-data
www-data
이것이 당신의 메인 그룹이 되도록 노력할 것입니다 . 하지만 보조 그룹이 올바르게 설정되지 않으면 실패할 수 있습니다.
(또한 을 사용하면 su
이 문제를 해결하는 데 도움이 될 수 있는 이유도 설명됩니다. 그런 다음 보조 그룹을 다시 재설정해야 하기 때문입니다.)
이제 질문은 왜 지금 이것을 받는가입니다. SSH를 통해 서버에 연결할 때 그것을 얻습니까? 아니면 콘솔에 로그인하시겠습니까(tty1, 액세스하려면 Ctrl+Alt+F1 사용)? 아니면 그래픽 세션에서요? 그 중 하나만 영향을 미치는지 확인할 수 있나요?
PAM 구성에 뭔가가 있을 수 있지만 말하기는 어렵습니다... 어떤 상황에서 문제가 발생하는지 파헤쳐보고 범위를 좁힐 수 있으면 이에 대한 새로운 질문을 게시하세요. 또한 APT 로그를 보고 이 업그레이드에 어떤 패키지가 포함되어 있는지 확인할 수도 있습니다. 최근 업데이트가 있는지 확인하려면 PAM 구성 파일의 타임스탬프를 살펴보세요.
행운을 빌어요!