mesg와 동등한 chmod는 무엇입니까

mesg와 동등한 chmod는 무엇입니까

chmod에 해당하는 것은 무엇입니까 ?mesg ymesg n

답변1

참고: JdeBP로댓글로 지적해mesg, with 의 동작을 재현하는 것은 쉽지 않습니다 chmod.

POSIX 사양의 기본 섹션mesg설명하다

변경된 터미널 mesg은 세션의 제어 터미널이 아닌 표준 입력, 출력 또는 오류와 관련된 터미널입니다.. 이는 여러 번 로그인하는 사용자가 해당 세션에서 실행 중인 작업을 중지하지 않고도 로그인 터미널을 변경할 수 있어야 하기 때문입니다. 다른 사용자의 엔드포인트에 영향을 미치려면 적절한 권한이 필요하므로 이는 다른 사용자의 엔드포인트와 관련된 보안 문제가 아닙니다.

터미널을 찾을 때까지 처음 세 개의 파일 설명자를 순서대로 확인하는 방법은 System V부터 사용되었습니다.

순진한 접근mesg이는 쉘의 제어 터미널(현재 대화형 쉘의 표준 입력에 연결된 장치)에서 권한 변경을 보는 데 사용됩니다.

쉘의 제어 터미널은 명령에 의해 반환됩니다 tty. 장치에 대한 권한이 수행하는 작업을 파악하려면 mesg n다음을 사용하여 변경된 사항을 확인할 수 있습니다.mesg yls -l

$ ls -l "$(tty)"
crw--w----  1 myself  tty    5,   1 May  6 00:21 /dev/ttyp1

$ mesg n
$ ls -l "$(tty)"
crw-------  1 myself  tty    5,   1 May  6 00:21 /dev/ttyp1

$ mesg y
$ ls -l "$(tty)"
crw--w----  1 myself  tty    5,   1 May  6 00:21 /dev/ttyp1

mesg n따라서 장치에 대한 그룹 쓰기 권한이 제거되고( rw--w----로 변경됨 rw-------) mesg y그룹 쓰기 권한이 다시 추가된 것으로 보입니다 .

chmod내 경우에는 다음과 같습니다.

$ chmod g-w "$(tty)"     # for "mesg n"
$ chmod g+w "$(tty)"     # for "mesg y"

유닉스 취향에 맞게 소금과 후추를 추가하세요.

그러나 쉘의 표준 입력이 터미널이 아닌 경우 tty문자열이 반환 not a tty되고 chmod실패합니다. 이 경우 mesg터미널 장치를 사용하여 쉘의 표준 출력을 얻은 다음 표준 오류(순서대로)를 얻으려는 시도가 계속됩니다. 그렇기 때문에 위의 내용은어린애 같은방법.

관련 정보