2016-12-05 1 views
-2

파일의 내용을 붙여 넣기를 원하면 다음 명령을 실행했습니다./usr/bin에있는 파일을 cat 할 수 없습니다.

sudo cat > /usr/bin/sasquatch 

심지어 sudo와 파일 사용 권한을 변경 한 후, 다음과 같은 오류가 점점 계속.

bash: /usr/bin/sasquatch: Permission denied 

왜 이런 일이 발생하며 어떻게 해결할 수 있습니까?

+0

도우는 당신에게 관리자가 주신 액세스 권한을 부여

한 가지 방법은 sudo를 가진 새로운 쉘을 시작하는 것입니다 당신. 자신의 개인 기계가 아닌 한 일반적으로 막을 수없는 루트 매직이 아닙니다. –

+2

'sudo sh -c 'cat>/usr/bin/sasquatch'' 사용하십시오.'sudo'는'cat'에만 적용되며 리디렉션'>'은 일반 사용자로 수행됩니다. '-c'를 사용하면 그 일이 처리됩니다. –

+0

'/ usr/bin'에있는 파일들로 함부로 변경하는 것은 좋지 않습니다. 파일을 혼자 두어야합니다 ('/ usr/bin '과 다른 경우'/ bin'에있는 파일들). 'system'디렉토리에 파일을 추가해야하는 경우 일반적으로'/ usr/local/bin'을 사용하는 것이 더 좋습니다. –

답변

2

>은 쓰기 용 파일을 열 수 있습니다. 쉘이 사용자 권한으로 실행 중입니다.

sudo를 사용하면 파일을 여는 셸이 아닌 명령이 상승되어 실행됩니다. 당신이 붙여 넣기를 언급하고 있기 때문에

sudo bash -c 'cat > /usr/bin/sasquatch' 

, 당신은 XCLIP 사용을 고려할 수 있습니다 :

sudo bash -c 'xclip -sel clip > /usr/bin/sasquatch' 
관련 문제