리눅스 시스템을 셋팅하면서, sudo와 su 명령어는 꽤 많이 사용하였습니다. 예를 들어, 우분투에서 sudo apt update 라던지, 아니면 sudo su라던지. 먼저 sudo를 보시면, execute a command as another user라고 되어 있습니다. 이것을 해석하면, 명령어를 다른 유저로 실행을 한다는 의미입니다. 예를 들자면 A라는 명령어를 cho로 실행할 수도 있지만 cho2로도 실행할 수 있고, root로도 실행할 수 있을 겁니다. -u 옵션을 주면, user가 실행하게 되는데요. other than 이라는 것이 있습니다. 원래 default 값은 보통 root인데, -u user 이렇게 옵션을 주면, 예를 들어서 sudo -u user C 라고 입력을 하면, C라는 명령어를..
OS 검색 결과
제 데스크탑 컴퓨터에 Ubuntu 20.04를 설치하였습니다. 그런데, 제 'cho' 라는 계정으로, sudo su라는 것을 입력하였을 때, 'cho'의 암호만 입력하면, root로 로그인을 할 수 있었습니다. cho로 sudo su를 수행했습니다. 적절한 인증을 거친 후에, root가 되었다는 것을 확인할 수 있는데요. 제가 쓰던 또 다른 환경에서는, 다른 유저로 sudo su를 했을 때, 'cho'라는 유저로 로그인을 하면, 실패를 하고 reported가 될 거라는 문구가 떴습니다. 왜 그럴까요? 이러한 의문을 해결하기 위해서, 이들을 관리할 법한 파일들을 보도록 하겠습니다. pwd 디렉터리로 가 보겠습니다. 여기서 ls 명령어를 입력하면, 꽤 많은 파일과 폴더들이 나오는 것을 볼 수 있는데요. 이 ..
race condition은 경쟁 상태를 의미합니다. 둘 이상의 무언가가 자원에 접근한다고 생각하면 어떨까요? 그리고 그것의 상태를 바꾸려고 한다면 어떨까요? 아래 프로그램을 보겠습니다. 리소스인 LinkedBlockingQueue가 있습니다. BlockingQueue는 쉽게 말해 동기화가 된 큐라고 생각하시면 됩니다. Executor 내부 구현에 쓰이기도 합니다. 여기에서 BlockingQueue에 대해 심도 있는 내용을 다루지 않겠습니다. 여기에서는 내부적으로 lock을 이용해서 Thread Safe 하다는 것 정도만 이해하셔도 무난합니다. Worker1은 Queue에 수를 추가합니다. 0부터 99까지 순서대로 추가를 합니다. 그리고, Worker2는 수를 뺍니다. Main 함수에서는 worker1과..
Linux의 shadow 파일을 간단하게 보겠습니다. shadow 파일을 보면, 유저 이름과 이상하게 긴 문자열이 있거나 !이나 *가 있는 것을 볼 수 있습니다. 그리고 뭔가 이상한 구분자가 상당히 많이 있다는 것도 볼 수 있습니다. 이 중 앞에 2개는 유저 이름과, 패스워드가 encrypted가 된 것을 의미합니다. 물론 $으로 구분된 무언가는 또 다른 뜻이 있지만, 이것은 밑에서 후술해 보도록 하겠습니다. 2번째 단락의 encrypted password를 보시면, 2번째 필드의 의미를 대략 짐작하실 수 있을 겁니다. 그러면, 먼저 cho1을 하나 추가해 보겠습니다. 그 다음에, shadow 파일에 어떤 내용이 들어갔는지 보겠습니다. 앞에 떡하니 !가 쳐져 있습니다. 이게 무엇인지 모르겠으니, 일단 지..
이번 시간에는 서버에 key 파일을 가지고 로그인 하게끔 설정을 해 보도록 하겠습니다. setting 파일도 하나 다룰 겸 말입니다. 먼저, 제 로컬에는 ssh 클라이언트와, git for windows, cygwin이 있습니다. ssh-keygen -t rsa는 rsa 알고리즘으로 public key와 private key를 생성합니다. 저는 C:\Users\cho의 .ssh 폴더에 생성했는데요. 이들을 모두 cygwin의 home 폴더에 그대로 복사했습니다. 다음에 권한 설정을 하나씩 해 주어야 하는데요. private, public 키가 한 쌍을 이루고 있어요. 이들은 각각 id_rsa와 id_rsa.pub인데요. 이 중에서 id_rsa는 나 말고 다른 사람이 보면 안 됩니다. 나 외에 다른 사람들..
최근댓글