umask 077의 단점은?


14

077의 제한적 umask를 갖는 단점은 무엇입니까? 많은 배포판 (Red Hat을 제외한 모든 것)은 / etc / profile에 구성된 기본 umask가 022입니다. 여러 사용자가 액세스하고 있고 보안이 우려되는 비 데스크탑 시스템에는이 방법이 너무 안전하지 않은 것 같습니다.

관련 참고 사항에서 우분투에서는 사용자의 홈 디렉토리도 755 권한으로 생성되며 설치 프로그램은 사용자가 파일을 쉽게 공유 할 수 있다고 말합니다. 사용자가 파일을 공유하도록 손으로 권한을 설정하는 것이 편하다고 가정해도 문제가되지 않습니다.

다른 단점은 무엇입니까?


권한은 태그에 대한 'umask'보다 더 비슷합니다 ... imo
xenoterracide

질문에 대해 최대 5 개의 태그를 가질 수 있습니다. 그렇다면 왜 싸워야합니까? :) umask 태그를 추가했습니다.
Warren Young

@warren은 모든 고유 명사마다 태그가 필요하다고 생각하지 않기 때문에. 유닉스에서 권한을 이야기 할 때 umask를 포함시켜야합니다.
xenoterracide

답변:


15

022는 일을 편리하게 만듭니다. 077은 일을 덜 편리하게하지만 상황과 사용 프로필에 따라 사용하는 것보다 덜 편리하지 않을 수 있습니다 sudo.

나는 이것과 같이 sudo당신이 얻는 실질적이고 측정 가능한 보안 혜택은 당신과 사용자에게 가하는 고통의 수준에 비해 무시할 만하다고 주장한다 . 컨설턴트로서 저는 sudo여러 가지 sudo설정 에 대한 나의 견해에 대해 경멸을 당했으며 아직 15 초 이상 걸리지 않았습니다. 당신의 전화.

아는 umask것이 좋지만 "완벽한 아침 식사"에서 단 하나의 콘플레이크 일뿐입니다. 어쩌면 당신은 스스로에게 물어봐야 할 것입니다. "기본 설정을 사용하기 전에 설치 전반에 걸쳐 일관성을 유지해야하며 어둡지 않은 사람들에게 문서화하고 정당화해야 할 것입니다. 나를?"

Umask는 또한 개별 사용자가 셸 초기화 파일 ( ~/.bash*) 에서 설정할 수있는 bash 내장 기능이므로 실제로을 쉽게 적용 할 수 없습니다 umask. 그냥 기본값입니다. 다시 말해, 그것은 당신을 많이 사지 않습니다.


2

가장 명백한 단점은 공유 디렉토리에서 파일 / 디렉토리 작성을 시작하고 다른 사용자가 액세스 할 것으로 예상하는 것입니다.

물론, 모든 사용자가 공유해야하는 작업을 수행하기 전에 올바른 umask를 설정하는 것을 잊지 않는 것입니다.

또 다른 경고 (실제로 단점은 알지 못하지만)는 로컬 프로그램 설치, 루비 젬, 파이썬 계란 (OS는 패키지를 명확하게 관리하지 않음), 구성 파일 만들기 등과 같은 sudo 작업을 시작할 때입니다.

sudo 세션에 의해 umask가 상속되므로 문제가 발생하므로 루트 만 사용자가 작성한 파일 / 디렉토리에 액세스 할 수 있습니다. sudo는 umask를 원하는 방식으로 자동 설정하도록 구성 할 수 있습니다. 이 질문은 superuser.com에서 다룹니다 .


그리고 후자의 이유는 su -루트에 다른 umask가 있는지 확인해야하는 좋은 이유입니다 ...하지만 ... 우분투는 루트를 믿지 않습니다 ...
xenoterracide

1
@ xenoterracide : sudo su -잘 작동합니다. MacOSX와 마찬가지로 Ubuntu는 로그인 할 수있는 루트를 믿지 않습니다. 개인적으로, 나는 루트 명령에 대해 대부분 "Simon Says"와 같은 것을 말하고 싶습니다.
David Thornley

@xenoterracide 어? 너의 요점이 뭐야? sudo와 su는 루트에 다른 umask를 가질 수 있습니다. - 당신은 sudo를 -i 대신 sudo는 스와의 사용할 수 있습니다 @ 데이비드
zarkdav

1
@ xenoterracide : 실제로 루트 명령을 사용하면 잘못된 창에 무언가를 입력 할 가능성이 있습니다. "sudo"를 사용한다는 것은 루트로 이것을 실행하도록 지정해야 함을 의미합니다. 나는 루트 계정이 있다는 것을 완벽하게 잘 알고 있으므로 잘못된 보안 감각이 어디에서 오는지 알 수 없습니다. 그것은 내 손에 앉아있는 것처럼 하나의 작은 의식으로 루트로 치명적인 어리석은 짓을 할 가능성이 적습니다.
David Thornley

1
sudo와 su는 모든 명령과 같은 도구입니다. 실용성과 감정을 섞을 필요가 없습니다. sudo는 유연한 구성, 감사 및 사용 편의성을 제공합니다. 물론 다양한 가능성에 대해 알아야하며 실제로 이점을 인식하기 위해 필요합니다. 나는 당신이 말하는이 "가상 보안 감각"이 우분투 "루트 계정 비활성화"정책을보다 적절하게 목표로 삼아야한다고 생각합니다. 이것이 도구와 정책의 차이입니다. 정책에 대해 좋은 주장을 할 수 있습니다. 정책에 동의하지 않기 때문에 도구의 유용성을 부정하는 것은 명백한 잘못입니다.
zarkdav

1

다른 사용자가 서로 볼 수있는 것을 제어하려는 경우 Umask가 적합하지 않습니다. 그러나 파일에 대한 액세스 권한을 요청받은 시점에 민감한 많은 파일을 가지고 있고 작업하는 경우 사람들이 원하는 것을 보는 것보다 귀찮고 덜 위험합니다 .umask 077보다 좋은 생각입니다.

내가 관리하는 파일 서버에 민감한 파일이 있습니다. 제한적 umask를 설정 한 다음 주기적 스크립트를 사용하면 특정 폴더의 항목에 대해 더 구체적인 권한을 설정하는 cron 작업이 이상적인 솔루션이라고 생각합니다. 이것을 설정하면 여기에 다시 게시하고 작동 방식을 알려줍니다.

@ [shating bashing] 새 스레드를 시작하면 자체 스레드가 여러 개 필요할 수 있으며이 스레드는 umask에 관한 것입니다.


1

자체 설치 시스템을 사용하는 타사 응용 프로그램에는 시스템 기본 umask에 대한 기본 가정이있을 수 있습니다.

실용적인 예로, umask가 077로 설정된 시스템에서 Oracle 10 데이터베이스를 업데이트 한 후 데이터베이스 클라이언트에 필수적인 라이브러리 및 라이브러리 디렉토리로 인해 동일한 시스템의 애플리케이션이 데이터베이스에 액세스하지 못했습니다. oracle사용자 만 액세스 할 수 있도록 보호 되었습니다.

Oracle 업데이터 프로세스는 클라이언트 라이브러리의 권한이 다른 사용자가이를 사용할 수 있도록 특별히 신경 쓰지 않았지만 업데이터가 추가 한 파일이 umask 022로 작성되어 사용 가능하다는 가정에 의존했습니다. 기본적으로. chmod -R a+rX적절한 디렉토리에 대한 몇 가지 신중한 명령 후에 모든 것이 잘되었습니다.

물론, 이것은 oracle계정을 표준 umask 022가있는 특수 시스템 계정으로 취급하고 umask 077을 실제로 로그인 가능한 사용자 계정으로 제한함으로써 방지 할 수 있었지만 이것이 담요 "강화 방법의 좋은 예라고 생각합니다 "결정은 예상치 못한 부작용을 일으킬 수 있습니다.

.rpm그리고 .deb패키지는 그래서 그들은 일반적으로 이러한 유형의 오류의 위험이없는, 그들이 포함하는 모든 파일에 대한 명시 적 권한 정보를 전달.


0

나는이 줄을 내 ~/.zshrc

umask 0077

전역으로 설정하는 것은 좋은 생각이 아니지만 rc 파일에서 기본값으로 설정해도 아프지 않거나 /etc/skel/.rc파일 에서 기본값으로 설정되지 않을 것 입니다. 시스템 전체에 문제가 발생할 수 있습니다.


0

서버에 문제가 발생할 수 있습니다. 예를 들어 여러 사용자가 다른 사용자의 파일에 액세스하려고하는 다른 사용자로 여러 응용 프로그램을 실행하는 경우 설정 파일을 읽는 아파치 나 dnsmasq.conf를 읽는 구멍을 뚫는 것과 같습니다. 에 명시 적으로 설정되지 않은 개별 홈 디렉토리와 같이 혜택을 볼 수있는 사용자에게 실행하십시오 /etc/profile.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.