"sudo"를 쓰지 않고도 리눅스에서 모든 작은 일을 할 수 있는 방법이 있나요?

"sudo"를 쓰지 않고도 리눅스에서 모든 작은 일을 할 수 있는 방법이 있나요?

곧 PHP 작업을 많이 할 예정이고 RoR을 배우는 데 관심이 있어서 VirtualBox에 Linux Mint 12를 설치했습니다.

이 스위치의 가장 실망스러운 측면은 Linux 권한을 다루는 것입니다. sudo를 통해 루트를 가장하지 않고는 유용한 작업을 수행할 수 없는 것 같습니다(예: 내 다운로드 디렉터리에서 내 문서 루트로 Symfony2 tarball을 복사하고 추출).

단순히 특정 디렉토리에 대한 모든 권한을 설정하지 않고도 특정 디렉토리에 대한 무제한 액세스를 제공하도록 Linux에 지시하는 쉬운 방법이 있습니까?

답변1

두 가지 옵션이 떠올랐습니다.

  1. 원하는 디렉토리를 얻으려면 다음 명령을 사용하십시오 chown.

    sudo chown your_username directory 
    

    (your_username을 사용자 이름으로 바꾸고 디렉토리를 원하는 디렉토리로 바꾸십시오.)

  2. 당신이 할 수 있는 또 다른 일은 루트로 작업하는 것입니다.당신이 무엇을하고 있는지 알아. 루트를 사용하려면 다음을 수행하십시오.

    sudo -s
    

sudo그러면 각 명령 앞에 입력 하지 않고도 원하는 모든 작업을 수행할 수 있습니다 .

sudo -s이 쉘 터미널을 종료하려면 다음을 입력 exit하면 이전 쉘 터미널로 돌아갑니다.

답변2

일반적으로 시스템 전체에 영향을 미치는 작업을 수행하지 않는 한 항상 자신의 사용자로 작업하십시오.

웹 서버에 특정 파일을 배치하려면 자신의 사용자로 작업하고 sudo파일 시스템의 웹 서비스 영역에 파일 배치를 사용하십시오. 일반적으로 이는 설치 스크립트에 의해 수행되며 sudo -u webmaster install-webserver-files유사하거나 더 나은 것 sudo -u webmaster git update(또는 선택한 버전 제어 시스템)을 실행합니다.

개발 서버에서 작업 중이고 파일에 즉시 액세스하려면 웹 서버 영역에 디렉터리를 만들고 해당 디렉터리를 자신이 소유하거나 최소한 쓰기 가능하게 만드세요. 이 일회성 작업 후에는 sudo chown …일일 sudo -u webmaster setfacl …작업에 대해 높은 권한이 필요하지 않습니다.

여러 사용자가 디렉터리에 쓸 수 있도록 허용하거나 소유자 외에 여러 사용자 또는 여러 그룹에 대해 서로 다른 권한을 갖는 것이 편리한 경우가 있습니다.액세스 제어 목록이 능력을 주십시오. 바라보다 서버의 공유 디렉터리에 대한 권한 문제또는백업 스크립트 권한 문제.

답변3

예, 루트로 로그인하면 슈퍼유저 액세스 제어가 제공됩니다.
개념은 Windows에서도 동일합니다. 관리자를 사용하여 터미널에 로그인합니다.

답변4

다른 답변에서 지적했듯이 가장 깨끗한 해결책은 액세스해야 하는 파일과 디렉터리의 소유권을 변경하는 것입니다. 새 개인 그룹을 생성하고, 파일 및 디렉터리의 그룹 소유권을 이 그룹으로 변경하고, 해당 파일 및 디렉터리에 대한 그룹 쓰기 권한을 설정할 수도 있습니다. 마지막으로 새 파일을 생성할 경우 해당 파일이 포함된 디렉터리(즉, 개인 그룹)의 그룹 소유권을 상속하도록 디렉터리에 SGID 비트를 설정합니다.

관련 정보