stdout은 사용자가 액세스 할 수 있지만 su-user에서는 액세스 할 수 없습니다.

죽음의 천사 908

도커 알파인에서 std_out 프로그램을 / dev / stdout으로 리디렉션하는 테스트 중입니다. 사용자에서 stdout으로 에코 할 수 있지만 su명령 에서는 에코 할 수없는 이유를 알 수 없습니다 .

docker exec -it 779ddea6ec33 bash # 루트 사용자

bash-4.4# su - http -c "echo 1 >> /dev/stdout"
-sh: can't create /dev/stdout: Permission denied 
# why comman above failed
bash-4.4# whoami 
root
bash-4.4# su - root -c "echo 1 >> /dev/stdout"
1

docker exec -u http -it 779ddea6ec33 bash # http 사용자

bash-4.4$ whoami 
http
bash-4.4$ echo 1 >> /dev/stdout
1
# but this command works

일부 ls :

bash-4.4# ls -lad /dev/stdout 
lrwxrwxrwx    1 root     root            15 Jul  7 16:47 /dev/stdout -> /proc/self/fd/1
bash-4.4# ls -lad /proc/self/fd/1
lrwx------    1 root     root            64 Jul  7 18:09 /proc/self/fd/1 -> /dev/pts/0
bash-4.4# ls -lad /dev/pts/0 
crw--w----    1 root     tty       136,   0 Jul  7 18:09 /dev/pts/0

통계 :

bash-4.4# stat /dev/stdout
  File: '/dev/stdout' -> '/proc/self/fd/1'
  Size: 15              Blocks: 0          IO Block: 4096   symbolic link
Device: 4dh/77d Inode: 8013573     Links: 1
Access: (0777/lrwxrwxrwx)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2019-07-07 18:09:33.000000000
Modify: 2019-07-07 16:47:08.000000000
Change: 2019-07-07 16:47:08.000000000

bash-4.4# stat /dev/pts/0
  File: /dev/pts/0
  Size: 0               Blocks: 0          IO Block: 1024   character special file
Device: 4eh/78d Inode: 3           Links: 1     Device type: 88,0
Access: (0620/crw--w----)  Uid: (    0/    root)   Gid: (    5/     tty)
Access: 2019-07-07 18:15:28.000000000
Modify: 2019-07-07 18:15:28.000000000
Change: 2019-07-07 17:48:22.000000000
Ravexina

/dev/stdout 특수 파일입니다.

두 명의 사용자 (tty1의 user1, tty2의 user2)로 로그인했다고 가정 해 보겠습니다.

/dev/stdout사용자 1은을 /dev/tty1, 사용자 2 는를 나타냅니다 /dev/tty2.

여기서 http사용자는 /dev/stdout현재 사용자 (루트)에 속한 것을 작성하려고합니다 .

bash-4.4# su - http -c "echo 1 >> /dev/stdout"
-sh: can't create /dev/stdout: Permission denied 

다른 경우 http는 자신이 소유 한 파일에 쓰는 것입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

서블릿은 localhost에 대해 직접 액세스 할 수 있지만 사이트 이름 뒤에 액세스 할 때는 액세스 할 수 없습니다.

분류에서Dev

사용자가 액세스 할 수 없지만 웹 서버에서 액세스 할 수있는 폴더

분류에서Dev

JqueryUI datepicker는 액세스 할 수 있지만 사용할 수 없습니다.

분류에서Dev

ccd OpenVPN 사용자는 연결할 수 있지만 다른 장치에는 액세스 할 수 없습니다.

분류에서Dev

내 개체의 속성에 액세스 할 수 있지만 함수에는 액세스 할 수 없습니다.

분류에서Dev

Ubuntu 서버는 인터넷에 액세스 할 수 없지만 SSH를 사용할 수 있습니다.

분류에서Dev

Ubuntu 서버는 SSH를 사용할 수 있지만 인터넷에 액세스 할 수 없습니다.

분류에서Dev

Firebase 사용자 ID가 있지만 이름에 액세스 할 수 없습니다.

분류에서Dev

Samba 공유는 한 명의 사용자 만 액세스 할 수 있지만 두 명의 사용자가 액세스 할 수 있어야합니다.

분류에서Dev

ActiveRecord 개체에 액세스 할 수 있지만 해당 속성에는 액세스 할 수 없습니다.

분류에서Dev

SSIS는 모든 사람이 액세스 할 수있는 폴더에 액세스 할 수 없습니다.

분류에서Dev

앱은 Dropbox 용이 API에 액세스 할 수 없습니다.

분류에서Dev

IP로 웹에 액세스 할 수 있지만 DNS 이름으로는 액세스 할 수 없습니다.

분류에서Dev

외장 HDD의 일부 폴더 및 / 또는 파일은 Linux에서 액세스 할 수 있지만 macOS 및 Windows에서는 액세스 할 수 없습니다.

분류에서Dev

ls를 사용하여 디렉토리에 액세스 할 수 있지만 Bash에서는 액세스 할 수 없습니다.

분류에서Dev

ls를 사용하여 디렉토리에 액세스 할 수 있지만 Bash에서는 액세스 할 수 없습니다.

분류에서Dev

BE 사용자는 현지화에 액세스 할 수 없습니다.

분류에서Dev

ASP.NET은 요청 된 리소스에 액세스 할 권한이 없습니다. 디버그 모드에서 폴더에 액세스 할 수 있지만 IIS에 배포 할 때는 액세스 할 수 없습니다.

분류에서Dev

'http://dean.technology'에 액세스 할 수 없지만 하위 도메인을 사용하여 서버에 액세스 할 수 있습니다.

분류에서Dev

PHPmyadmin은 문서 루트에서 액세스 할 수 없지만 문서 루트 내의 모든 디렉토리에서 액세스 할 수 있습니다.

분류에서Dev

PrimeFaces Extensions CKEditor : 사용자 지정 구성에 액세스 할 수 없습니다.

분류에서Dev

VPN은 IP로 네트워크 드라이브에 액세스 할 수 있지만 컴퓨터 이름으로는 액세스 할 수 없습니다.

분류에서Dev

있는 IllegalAccessError : 방법은 클래스에 액세스 할 수 없습니다

분류에서Dev

키 이름으로 쿼리 문자열 값에 액세스 할 수 없지만 인덱스로 액세스 할 수 있습니다.

분류에서Dev

할당되었지만 액세스 할 수없는 SSD 드라이브를 사용할 수 있습니까?

분류에서Dev

"초기화되지 않은 변수에 액세스 할 수 없습니다." 클래스 생성자에서

분류에서Dev

Ping은 할 수 없지만 웹 사이트 가상 머신에 액세스 할 수 있음

분류에서Dev

Ping은 호스트 이름을 확인하지만 웹 사이트에 액세스 할 수 없습니다.

분류에서Dev

WordPress 사용자 정의 게시물 유형은 하위 페이지에 액세스 할 수 없습니다.

Related 관련 기사

  1. 1

    서블릿은 localhost에 대해 직접 액세스 할 수 있지만 사이트 이름 뒤에 액세스 할 때는 액세스 할 수 없습니다.

  2. 2

    사용자가 액세스 할 수 없지만 웹 서버에서 액세스 할 수있는 폴더

  3. 3

    JqueryUI datepicker는 액세스 할 수 있지만 사용할 수 없습니다.

  4. 4

    ccd OpenVPN 사용자는 연결할 수 있지만 다른 장치에는 액세스 할 수 없습니다.

  5. 5

    내 개체의 속성에 액세스 할 수 있지만 함수에는 액세스 할 수 없습니다.

  6. 6

    Ubuntu 서버는 인터넷에 액세스 할 수 없지만 SSH를 사용할 수 있습니다.

  7. 7

    Ubuntu 서버는 SSH를 사용할 수 있지만 인터넷에 액세스 할 수 없습니다.

  8. 8

    Firebase 사용자 ID가 있지만 이름에 액세스 할 수 없습니다.

  9. 9

    Samba 공유는 한 명의 사용자 만 액세스 할 수 있지만 두 명의 사용자가 액세스 할 수 있어야합니다.

  10. 10

    ActiveRecord 개체에 액세스 할 수 있지만 해당 속성에는 액세스 할 수 없습니다.

  11. 11

    SSIS는 모든 사람이 액세스 할 수있는 폴더에 액세스 할 수 없습니다.

  12. 12

    앱은 Dropbox 용이 API에 액세스 할 수 없습니다.

  13. 13

    IP로 웹에 액세스 할 수 있지만 DNS 이름으로는 액세스 할 수 없습니다.

  14. 14

    외장 HDD의 일부 폴더 및 / 또는 파일은 Linux에서 액세스 할 수 있지만 macOS 및 Windows에서는 액세스 할 수 없습니다.

  15. 15

    ls를 사용하여 디렉토리에 액세스 할 수 있지만 Bash에서는 액세스 할 수 없습니다.

  16. 16

    ls를 사용하여 디렉토리에 액세스 할 수 있지만 Bash에서는 액세스 할 수 없습니다.

  17. 17

    BE 사용자는 현지화에 액세스 할 수 없습니다.

  18. 18

    ASP.NET은 요청 된 리소스에 액세스 할 권한이 없습니다. 디버그 모드에서 폴더에 액세스 할 수 있지만 IIS에 배포 할 때는 액세스 할 수 없습니다.

  19. 19

    'http://dean.technology'에 액세스 할 수 없지만 하위 도메인을 사용하여 서버에 액세스 할 수 있습니다.

  20. 20

    PHPmyadmin은 문서 루트에서 액세스 할 수 없지만 문서 루트 내의 모든 디렉토리에서 액세스 할 수 있습니다.

  21. 21

    PrimeFaces Extensions CKEditor : 사용자 지정 구성에 액세스 할 수 없습니다.

  22. 22

    VPN은 IP로 네트워크 드라이브에 액세스 할 수 있지만 컴퓨터 이름으로는 액세스 할 수 없습니다.

  23. 23

    있는 IllegalAccessError : 방법은 클래스에 액세스 할 수 없습니다

  24. 24

    키 이름으로 쿼리 문자열 값에 액세스 할 수 없지만 인덱스로 액세스 할 수 있습니다.

  25. 25

    할당되었지만 액세스 할 수없는 SSD 드라이브를 사용할 수 있습니까?

  26. 26

    "초기화되지 않은 변수에 액세스 할 수 없습니다." 클래스 생성자에서

  27. 27

    Ping은 할 수 없지만 웹 사이트 가상 머신에 액세스 할 수 있음

  28. 28

    Ping은 호스트 이름을 확인하지만 웹 사이트에 액세스 할 수 없습니다.

  29. 29

    WordPress 사용자 정의 게시물 유형은 하위 페이지에 액세스 할 수 없습니다.

뜨겁다태그

보관