swing 계정으로 c 언어 코드 작성하여, 컴파일 한다.
swing 계정으로 touch를 이용하여 test.c라는 파일을 만든다.
vi로 C언어 코드를 작성한 후 cat명령어를 이용하여 test.c파일에 vi로 작성한 내용을 확인할 수 있다.
gcc를 이용하여 컴파일한 후 a.out을 실행시키면 hello world를 출력하는 것을 볼 수 있다.
1-1. apple 계정으로 a.out 파일 실행
apple 계정으로 a.out을 실행시키면 hello world를 출력하는 것을 볼 수 있다.
위에서 a.out의 기타 사용자는 실행 권한이 있었기 때문에 apple 계정에서 실행시키는 것이 가능한 것이다.
1-2. swing 계정으로 다른 사람이 실행할 수 없게 바꾸기
swing 계정으로 들어가 chmod를 이용하여 권한을 수정한다.
8진수 754는 2진수로 111 101 100이고 이는 기타 사용자가 읽기 권한만 있다는 의미이다.
1-3. apple 계정으로 a.out 실행해 보기
swing계정에서 기타 사용자의 실행 권한을 삭제했기 때문에 apple 계정에서 a.out은 실행되지 않는다.
2-1. swing 계정으로 소스코드에 실행권한 부여
소스코드는 test.c 파일에 있고 chmod를 이용하여 이 파일의 권한을 수정한다.
8진수 755는 2진수로 111 101 101이고 이로 인해 모든 사용자에게 실행권한이 부여된다.
2-2. swing 계정으로 해당파일 실행 해보기
swing 계정으로 a.out을 실행해보면 실행이 가능하다.
위에서 모든 사용자가 실행할 수 있도록 권한을 수정해주었기 때문에 실행이 가능한 것이다.
2-3. swing 계정으로 소스코드를 누구나 쓸 수 있게 바꾼다.
8진수 777은 2진수로 111 111 111이다.
이는 모든 사용자가 모든 권한을 가질 수 있음을 의미하고 이로 인해 소스코드를 누구나 쓰는 것이 가능하다.
3. apple 계정으로 소스코드 파일을 apple의 홈 디렉토리 (/home/apple)로 옮긴다.
(안 되면 권한을 변경하여, 옮긴다. )
apple 계정으로 test.c 소스코드 파일을 apple의 홈 디렉토리로 옮기기 위해 mv 명령어를 사용한다.
하지만 허가 거부라는 오류가 난다.
안 되는 이유는 파일을 이동하려면 해당 파일의 디렉토리에 쓰기 권한이 있어야 하는데 swing의 홈 디렉토리에는 다른 사용자에 대한 w권한이 없기 때문이다.
chmod 777로 swing의 홈 디렉토리의 권한을 변경한다.
따라서 모든 사용자가 모든 권한을 가질 수 있고 이로 인해 소스코드 파일을 다른 사용자도 옮길 수 있게 된다.
권한 변경 후 apple 계정으로 가서 파일을 옮겼더니 잘 옮겨진 것을 볼 수 있다.
'2020-1 STUDY > Linux Study' 카테고리의 다른 글
Linux Study Week 3 - 1 (0) | 2020.05.24 |
---|---|
Linux Study Week 2 - 4 (0) | 2020.05.18 |
Linux Study Week 2 - 2 (0) | 2020.05.18 |
Linux Study Week 2 - 1 (0) | 2020.05.18 |
Linux Study Week 1 - 4 (0) | 2020.04.13 |