- useradd : 사용자추가
- sudo useradd dragon : dragon 이라는 계정 생성
- cat /etc/passwd 경로에서 계정 생성된 정보 확인
- dragon:x:1001:1001::/home/dragon:/bin/sh : 밑줄 친 1001번은 group을 나타낸다.
- sudo passwd dragon : dragon 계정 패스워드 설정
- 보통은 계정 로그인하면 home 디렉토리로 이동하게 되는데 신규 계정은 home 디렉토리가 없으므로 home 디렉토리를 만들어준다.
만들어준 home 디렉토리 권한은 root로 되어있다. - $ ls -l /home
drwxr-xr-x 2 root root 4096 Oct 28 09:19 dragon : 권한이 root(소유자) root(소유그룹) 으로 되어있다
이 부분을 dragon 계정의 권한으로 변경해준다
- sudo useradd dragon : dragon 이라는 계정 생성
- chown : 디렉토리,파일 소유권 변경
- sudo chown dragon:dragon /home/dragon
- 소유권한이 root/root로 되어있는 것을 dragon(소유자):dragon(소유그룹) 변경한다.
/home/dragon (해당 경로에 폴더를 지정) - drwxr-xr-x 2 dragon dragon 4096 Oct 28 09:19 dragon
- 소유권한이 root/root로 되어있는 것을 dragon(소유자):dragon(소유그룹) 변경한다.
- sudo chown dragon:dragon /home/dragon
- usermod : 사용자변경
- sudo usermod <계정> -l <바꿀 계정> (사용 비 권장)
- sudo usermod <계정> -l <바꿀 계정> (사용 비 권장)
- userdel : 사용자삭제
- sudo userdel 계정명
- sudo userdel 계정명
- chmod : 파일권한 변경
- -rw-rw-r-- 1 root root 0 Oct 28 09:33 dragon1
- -(파일)rw-(유저)rw-(그룹)r--(Other) 를 뜻한다
- r(Read) 읽기 권한
- w(Write) 쓰기 권한
- x(eXecute) 실행 권한
- chmod 751 dragon1 : dragon1 파일에 대한 권한을 유저 rwx, 그룹 rx, Other x의 권한을 준다
- chmod u+rwx dragon1 : dragon1 파일에 대한 권한을 유저 rwx 로 주겠다.
- chmod go+x dragon1 : 그룹과 Other에 x 권한을 주겠다.
- 사용자를 추가하는 스크립트 파일 생성하기
- nano adduser
- useradd testuser
tail -n2 /etc/passwd
mkdir /home/testuser
chown testuser:testuser /home/testuser
echo "testuser user added"
- useradd testuser
- 스크립트 파일 이름은 adduser이며 실행을 하면 위의 생성한 스크립트가 실행이 안되고 다른 작업이 실행 되는데 adduser 라는 파일명은 기존 linux 시스템 자체에 존재하여 adduser 입력 시 전역적으로 확인하여 기존 시스템의 adduser 파일을 불러온다.
우리가 만든 스크립트를 실행하기 위해선 스크립트 폴더에서 ./adduser 로 실행한다.
스크립트 파일 생성 전 whereis <파일명> 을 입력하여 기존 리눅스에 중복 파일명이 있는지 확인 후 설정 할 것
- nano adduser
- 인자를 이용한 스크립트 파일 변경하기($1)
- 위의 스크립트 파일 실행 시 계정명이 testuser로 고정되어 있기 때문에 신규계정을 변경하려면 일일이 계정명을 바꿔줘야되는 번거로움이 있기 때문에 인자를 이용하여 쉽게 계정을 추가한다.
- nano adduser
- useradd $1
tail -n2 /etc/passwd
mkdir /home/$1
chown $1:$1 /home/$1
echo "$1 user added"
- useradd $1
- $1 이란 파라미터 1번값을 의미하며 파라미터는 adduser aaa bbb ccc 라고 명령어 를 입력했을때 공백을 파라미터로 구분하며 aaa 는 파라미터1번, bbb는 2번 ccc는 3번으로 인식한다.
- adduser aaa : aaa라고 입력하면 해당 스크립트의 $1 부분에 aaa 이 입력되어 스크립트가 실행된다.
- adduser 라는 파일이 있는 경로에서 파일을 실행 하지 않고 다른 경로에서 adduser를 실행하면 내가 만든 스크립트가 실행되지 않고 다른 스크립트가 실행된다.
- 그 이유는 echo $PATH 입력하면 /home/chae/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin 처음 밑줄 친 /home/chae 부터 파일을 확인하여 실행하게 되는데
- sudo su - 입력하여 root 계정으로 접속 후 echo $PATH를 입력하면 /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin 밑줄 친 /usr/local 부터 파일을 확인하기 때문에
- /home/chae/bin/adduser 경로의 adduser를 실행 하지 않기 때문이다.
- sudo /home/chae/bin/adduser bbb : 절대경로를 이용. bbb 계정을 생성한다.
- tail -n3 /etc/passwd 로 bbb 계정생성 확인
- tail -n3 /etc/passwd 로 bbb 계정생성 확인
- adduser 라는 파일이 있는 경로에서 파일을 실행 하지 않고 다른 경로에서 adduser를 실행하면 내가 만든 스크립트가 실행되지 않고 다른 스크립트가 실행된다.
- 위의 스크립트 파일 실행 시 계정명이 testuser로 고정되어 있기 때문에 신규계정을 변경하려면 일일이 계정명을 바꿔줘야되는 번거로움이 있기 때문에 인자를 이용하여 쉽게 계정을 추가한다.
- 향상된 사용자 추가방법
- adduser <계정명>
- sudo adduser fff
Adding user `fff' ...
Adding new group `fff' (1007) ...
Adding new user `fff' (1007) with group `fff' ...
Creating home directory `/home/fff' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for fff
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] y- 패스워드 입력 및 나머지 정보 엔터로 넘기고 마지막에 y 누르면 계정 및 home 디렉토리에 폴더까지 생성된다.
'리눅스 > ubuntu' 카테고리의 다른 글
[Ubuntu] 파일 압축 관리(tar) (0) | 2023.10.28 |
---|---|
[Ubuntu] 파일 관리 관련 명령어 (0) | 2023.10.27 |