본문 바로가기

Linux

C 에서 shell 의 return 값 받아오기 shell을 만든다. #!/bin/sh echo "shell : system call" exit 4 # C program으로 4를 반환한다. C code를 생성한다. #include #include int main(int argc, char* argv) { int rtn = 0; printf("rtn = %d : system call \n", rtn); rtn = system("./a.sh"); // a.sh을 실행한다. printf("result = %d\n " , rtn); // a.sh로 반환된 값을 찍는다. printf("result = %d\n ", WEXITSTATUS(rtn)); // a.sh로 반환된 값을 함수를 통해 실제 정수로 변환한다. return 0; } 더보기
file 리스트를 반환하는 shell script #!/bin/sh for file in * do if grep -q POSIX $file then echo $file fi done exit 0 더보기
Linux 파일 복사에 대한 권한 user 1를 다음과 같이 설정 UID=user1, GID=user1, Groups = user1, group1 user 2를 다음과 같이 설정 UID=user2, GID=user2, Groups = user2, group1 user1을 통해 파일을 생성한다. touch aFromUser1 chown user1:group1 afromUser1 --> aFromUser1 이라는 파일이 사용자는 user1 사용 그룹은 group1으로 설정된다. user1 logout 후 user2 login한다. 해당 파일 위치에서 mv aFromUser1 ./user2 ls -al ./user2/ --> aFromUser1의 파일 권한은 사용자는 user1 사용 그룹은 group1으로 설정이 유지되어있다. cp aFrom.. 더보기
Linux GroupID/UserID 생성 usr/sbin/useradd 사용법 useradd userName usr/sbin/userdel 사용법 userdel userName usr/sbin/groupadd 사용법 groupadd groupName /etc/group 파일을 직접 수정하여 group 권한을 줄 수 있다. login 명령을 통해서 계정 접속을 할 수 있다. 더보기
Linux 권한 SetUID --> 명령어가 아니고 개념이다. setuid 퍼미션이 설정되어 있는 실행 파일은 실행되는 동안에는 그 파일의 소유자 권한을 가지게 된다. 이러한 이유때문에 root 소유의 setuid 퍼미션이 포함되어 있는 파일은 아주 신중히 관리를 해야 된다 심볼릭 모드로 's'로 표현되고 8진수 모드로는 4000 으로 표현된다. SetGID --> 명령어가 아니고 개념이다. 퍼미션이 포함되어 있는 실행 파일은 실행되는 동안은 그 파일의 소유 그룹의 권한을 가지는 것 빼고는 setuid와 같다. setgid의 8진수 모드는 2000 이다. SetUID 설정법 chmod 4755 filename SetGID 설정법 chmod 7755 filename sticky Bits 이 sticky bit가 포함되어 .. 더보기