[server] 권한이 거부되었지만 그룹 권한이 redhat에서 좋아 보입니다.

ftpadmin 사용자가 있습니다.

-bash-3.2$ id ftpadmin
uid=10001(ftpadmin) gid=2525(fsg) groups=2525(fsg),10005(git)

주목할 중요한 그룹은 “git”입니다

그런 다음 자식 저장소가 있습니다.

ls -al
drwxrwxr-x   7 git      git          4096 Apr 20 14:17 fsg

따라서 ftpadmin은 git의 구성원이며 git은 그룹의 사람들에게 모든 권한을 부여했습니다. ftpadmin으로 로그인 할 때 이것이 왜 표시됩니까?

-bash-3.2$ ls -al /home/git/
ls: /home/git/fsg: Permission denied
...

내가 허가를 받아야 할 것 같습니다 …


/ home / git에 대한 권한 업데이트

drwxrw-rw-   6 git      git          4096 Apr 26 09:20 git

여전히 좋아 보인다 …


/ home / git에 대한 새로운 권한 업데이트 는 다음과 같습니다.

drwxrwxrw-   6 git      git          4096 Apr 26 09:20 git

/ home / git / fsg에 대한 권한은 다음과 같습니다.

drwxrwxr-x   7 git      git          4096 Apr 20 14:17 fsg

그러나 나는 여전히

ls: /home/git/fsg: Permission denied
ls: /home/git/fsg: Permission denied



답변

그의 답변 “그룹 검색을 허용하기 위해 디렉토리에 그룹”x “비트가 필요합니다.”rw- “권한을 사용하여 mpez0에 +1을 지정하고 싶었습니다. (w), 파일을 나열하거나 검색하지 않음 (x). “

잊기 쉬우 며 그의 해결책은 중간에 묻혀 있습니다. 이것은 사용자 및 그룹의 파일 / 디렉토리 권한과 관련하여 새로운 Linux 사용자에게는 분명히 문제입니다.

에이버리가 말한 모든 것은 돈에 대한 것이 었습니다. 다시 한 번 +1을 줄 수 있기를 바랍니다.

더 자세한 또 다른 예를 보면 새로운 Linux 사용자에게 도움이 될 수 있습니다 ( 신용 정보를 찾지 않고 명확성을 위해 다른 예를 제공함 ) 내 PC에서 특정 개발 프로젝트에 대한 추가 사용자를 만들고 싶었습니다. 내 컴퓨터와 웹상의 같은 위치에있는 서버 사이의 일부 SSH, SFTP 문제를 테스트하고있었습니다. 모든 것을 설정 한 후 동일한 “권한 거부”오류가 발생했습니다. mpez0이 지적한 다른 권한에 대한 검색 문제를 제외하고는 올바르게 표시되었습니다.

참고 : 새로운 Linux 사용자의 경우 권한은 각각 사용자, 그룹, 기타 또는 rwx, rwx, rwx이며 다음과 같습니다.

drwxr-xr--

user has read + write + execute, rwx
group has only read and execute, r-x
other has only read acces r--

‘other’의 경우 디렉토리를 찾거나 검색하기에 충분하지 않으므로 오류 메시지가 표시됩니다.

여기 내가 한 일이 있습니다 (6 단계의 오류 메시지가 나타남)

1) 사용자 hoiuser를 작성했습니다 (사용자 정보를 보려면 손가락 cmd, “finger hoiuser”를 사용하거나 ‘cat / etc / passwd’파일을 읽을 수 있음)

2) 그룹 hoidevs (사용자 “hoiuser”를 그룹에 추가)

root@zareason-breeze:/etc# cat group | grep hoidevs
hoidevs:x:1010:userz,hoiuser

새 “그룹”권한이 계정 ID와 연결 되려면 로그 오프했다가 다시 로그인해야합니다.

3) 디렉토리 / home / userz / data / Sites / hoi에 대한 chgrp hoidevs 및 파일의 위치를 ​​작성했습니다

hoiuser@zareason-breeze:/home/userz/data/Sites/hoi$ ls -alF
total 16
drwxr-xr-x  4 userz hoidevs  4096 2012-02-27 13:34 ./
drwxr-xr-x  2 userz userz 4096 2012-02-29 17:00 odt/
drwxrwxr-x  2 userz hoidevs  4096 2012-02-27 13:34 html/

4) 터미널 창을 열었습니다. userz 사용자가 활성화되었습니다

5) su-hoiuser (사용자 hoiuser로 전환)

6) / home / userz / data / Site를 cd하려고했습니다.

hoiuser@zareason-breeze:/home/userz/data$ cd Sites
-su: cd: Sites: Permission denied    (voila, the problem)


userz@zareason-breeze:~/data/Sites$ ls -alF
total 60
drwxr-xr--  11 userz userz  4096 2012-02-24 16:20 ./
drwxr-xr-x   4 userz hoidevs   4096 2012-02-27 13:34 hoi/

7) 사이트에 대한 권한 변경

userz@zareason-breeze:~/data/Sites$ chmod 755 .
userz@zareason-breeze:~/data/Sites$ ls -alF
total 60
drwxr-xr-x  11 userz userz  4096 2012-02-24 16:20 ./

그리고 짜잔 문제가 해결되었습니다 …. 여기 증거가 있습니다

hoiuser@zareason-breeze:/home/userz/data$ id
uid=1009(hoiuser) gid=1009(hoiuser) groups=1009(hoiuser),1010(hoidevs)

hoiuser@zareason-breeze:/home/userz/data$ cd Sites        (<- yea no error message)
hoiuser@zareason-breeze:/home/userz/data/Sites$ cd hoi
hoiuser@zareason-breeze:/home/userz/data/Sites/hoi$ ls -alF
total 16
drwxr-xr-x  4 userz hoidevs  4096 2012-02-27 13:34 ./
drwxr-xr-x 11 userz userz 4096 2012-02-24 16:20 ../
drwxr-xr-x  2 userz userz 4096 2012-02-29 17:00 odt/
drwxrwxr-x  2 userz hoidevs  4096 2012-02-27 13:34 html/

우리가 경험 한 Linux / Unix 사용자도 몇 번이고 알림이 필요합니다.

지적했듯이 파일이있는 디렉토리에 대한 올바른 권한을 부여하는 것만으로는 충분하지 않으며, 해당 디렉토리로 연결되는 모든 디렉토리에 올바른 권한이 있는지 확인해야합니다. 특히 “other” “검색” 하고 디렉토리와 파일을 찾으십시오. x가 실행을 의미 할 때는 거의 직관적이지 않습니다.

내 하위 디렉토리 구조는 / home / userz / data / Sites / hoi / html /

집에서 시작

userz@zareason-breeze:~$ pwd
/home

이것은 chmod 전에 내 디렉토리 구조였습니다.

drwxr-xr-x  13 root root     4096 2012-02-29 14:51 home/
drwxr-xr-x 88 userz userz 4096 2012-02-29 17:07 userz/
drwxr-xr-x 476 userz userz    20480 2012-02-26 16:08 data/
drwxr-xr--  11 userz userz     4096 2012-02-24 16:20 Sites/    (<-- Do you see it, other is r--)
drwxr-xr-x   4 userz hoidevs   4096 2012-02-27 13:34 hoi/
drwxrwxr-x  2 userz hoidevs  4096 2012-02-27 13:34 html/

이것은 chmod 후에 내 디렉토리 구조였습니다.

drwxr-xr-x  13 root root     4096 2012-02-29 14:51 home/
drwxr-xr-x 88 userz userz 4096 2012-02-29 17:07 userz/
drwxr-xr-x 476 userz userz    20480 2012-02-26 16:08 data/
drwxr-xr-x  11 userz userz     4096 2012-02-24 16:20 Sites/      (<-- Fixed by the chmod > 755 ., now r-x)
drwxr-xr-x   4 userz hoidevs   4096 2012-02-27 13:34 hoi/
drwxrwxr-x  2 userz hoidevs  4096 2012-02-27 13:34 html/

디렉토리 ‘Site’에 대한 ‘other’에 대한 rx 권한 만 변경되었습니다. 이것이 다른 사람들에게 도움이되기를 바랍니다.


답변

파일을 얻으려면 파일이 포함 된 디렉토리에 대한 권한이 있어야합니다. / home / git에 대한 권한은 무엇입니까? (예, Zoredache, 나는 그것을 지적하기 위해 +1을 주었다)


후속 조치 : 해당 그룹이 디렉토리에 들어가려면 그룹에 대해 실행 (x) 비트 세트가 필요합니다. 창 “Traverse Directory”설정과 대략 비슷한 것으로 생각하십시오. 그렇지 않으면 그룹에 대한 액세스가 거부됩니다. 필사적이라면 다음을 수행 할 수 있습니다.

chmod g+x /home/git
chmod g+x /home/git/fsg

다음을 시도하고 각각의 메시지를 게시하십시오.

cd /home
cd /home/git
cd /home/git/fsg

에 의해 액세스 할 수 있어야합니다 ftpadmin. 그들 중 하나가 아닌 경우 , 당신이 들어가는 것을 막을 것입니다 /home/git/fsg.


답변

루트 액세스를 통해 사용자 X의 그룹을 변경 한 후에는 해당 사용자 X로 로그 아웃했다가 다시 로그인해야합니다. 그렇지 않으면 새 그룹이 고려되지 않습니다


답변

다시 su - ftpadmin로그인 하거나 현재 쉘 내에서 로그인을 실행하십시오 . 그룹은 로그인 할 때 설정되므로 그룹에 소위를 추가했지만 이전 그룹 설정이 계속 사용 중일 수 있습니다.


답변