ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 생활코딩 리눅스 강좌 요약 및 정리 - 사용자 / 권한 / 그룹
    Knowledge/Linux 2019. 10. 5. 20:25
    반응형

    이 포스팅은 6편 ( https://takeknowledge.tistory.com/70 ) 에 이어 작성하는 것입니다.

    프로세스와 실행에 대한 정보는 6편에서 확인할 수 있습니다

     

    •  id, who

    리눅스는 다중사용자 시스템이다. id와 who는 이 때문에 존재하는 명령어다

     

    먼저 id를 입력하면

     

    이렇게 uid 와 gid라는 것들의 내용이 쭉 나오는데 이 때 uid는 userid / gid는 groupid다

     

    명령어 who를 입력하면 위의 user중 누가 지금 리눅스 시스템에 접속하고 있는지를 확인할 수 있다.

     

    • 사용자의 추가

    useradd 명령어를 통해 사용자는 추가할 수도 있다. 

    sudo 명령어를 사용할 수 있는 일반 사용자 id로 들어가

     

    sudo useradd -m 사용할 아이디 를 입력해 id를 생성하고

    sudo passwd 아이디 를 입력해 비밀번호를 설정하면

     

    위에서 보듯 su - 아이디 를 입력했을 때 해당 유저로 시스템에 접속할 수 있고 

    id를 쳤을 때도 userid에 추가한 유저 id를 확인할 수 있다.

     

    그러나 이게 끝은 아니다. 이렇게만 생성하면 아직 sudo 명령어를 사용할 수 없다

     

    사용하려 하면 이런 경고만 뜬다

    다시 sudo 권한을 가지고 있는 계정으로 접속해 sudo 권한을 부여해줘야 하는데 

    이는 sudo usermod -a -G sudo 아이디 명령어를 입력해 할 수 있다. 입력하면

     

    위와 같이 sudo 명령을 잘 실행하는 걸 볼 수 있다

     

    • 권한

    다중 사용자 시스템인 리눅스에는 권한 개념이 있다.

    이는 파일과 디렉토리를 대상으로 읽고 쓰고 실행하는 일에 대해 적용된다.

     

    예를 들면 이런 것이다.

     

     

    ubuntu 계정으로 ubuntu home 디렉토리에서

    perm.txt 파일을 만들고 hi의 출력을 perm.txt로 돌리면 perm.txt에 hi라는 내용이 잘 써지는 걸 볼 수 있지만

     

     

    다른 계정으로 ubuntu 홈 디렉트로에 접속해서는 

    perm.txt의 내용을 볼 수는 있지만 hello의 출력을 perm.txt로 돌릴 수는 없다

     

    권한이 부여되지 않았기 때문이다. 이 권한의 내용은 ls -l 명령어로 확인할 수 있다.

     

    빨간 표시한 부분이 바로 권한인데

     

    상세 내용은 이와 같다.

     

    저 권한과 숫자 옆에 ubuntu라고 써져있는 게 user를 뜻하고 그 옆에 ubuntu가 권한을 뜻하니

    방금 쓰기를 시도한 takeknowledge는 other에 해당하고

    perm.txt는 other에 대한 쓰기 권한 즉 w에 해당하는 권한이 막혀있기 때문에 쓰기 시도가 거부된 것이다

     

    • 권한 변경

    이런 권한은 chmod 명령어를 활용해 더하거나 뺄 수 있다

     

    'chmod o(other) or u(user) or g(group) / + (추가) or - (삭제) / r (read) or w(write) or x(excute) / 파일명'

    이렇게 사용하면 된다. 예를 들어 쓰기 권한은

     

    위와 같이 부여할 수 있고 perm.txt의 other 부분에 w가 추가된 걸 확인할 수 있다. 이러면

     

    위와 같이 other 계정으로 접속해도 perm.txt 파일에 내용을 쓸 수 있다.

     

    • directory의 권한

    directory에도 권한을 부여할 수 있다 예를 들어

     

    perm이란 폴더를 만들고 other의 읽기 권한을 제한하면 

    other계정으로 해당 디렉토리에 들어가 리스트를 보려했을 때 실행이 제한된다

     

    아예 perm의 실행권한까지 제한하면

     

    other 계정으로는 해당 폴더로 이동조차 불가능한 걸 확인할 수 있다

     

    • 권한 일괄변경

    권한을 일괄로 변경할 수도 있다

     

    하나씩 입력할 필요 없이 위를 참고해서 입력하면 되는데

     

    예를 들어

     

    현재 perm의 권한은 위와 같은데

     

    위와 같이 chmod 777 perm 해주면

     

    유저, 그룹, other의 순으로 7번 권한 ( rwx ) 이 활성화되어

    perm 폴더의 모든 권한이 활성화 된 것을 확인할 수 있다. 

     

    • 그룹

    이런 권한은 그룹으로 관리할 수도 있다

     

    group은 'groupadd 그룹명' 명령어를 활용해 추가할 수 있다.

     

     

    이렇게 명령어를 입력하고 nano 에디터로 /etc/group을 열어보면

     

    최하단에 grouptest 그룹이 추가된 걸 확인할 수 있다

     

    이 그룹의 멤버를 추가하는 건  'usermod -a -G 그룹명 유저이름' 명령어를 활용해 할 수 있다

     

    위와 같이 입력하고 터미널 종료 후 재접속을 해서 

    nano에디터로 위의 /etc/group을 다시 열어주면

     

    해당 그룹에 사용자가 추가된 걸 확인할 수 있다

     

    이제 디렉토리의 관리 그룹을 바꿔보자

    group은 'chown user명:group명 경로' 명령어로 바꿀 수 있다

     

    현재는 group 폴더의 관리 그룹은

     

    ubuntu 인걸 확인할 수 있는데

     

    위와 같이 권한을 변경할 디렉토리로 이동하여

    chown 명령어를 실행해주면 해당 디렉토리의 그룹이 grouptest로 바뀐 걸 확인할 수 있다

    반응형

    댓글

Designed by Tistory.