1. 概要
- Linuxの学習をしているときに、実際にコマンドを入力して勉強したかったが、macOSでは微妙に異なる
-
Docker
でCentOS
イメージを使用してコンテナを作成し、その中で勉強した
2. 前提条件
-
linux
のディレクトリ構成やコマンドがなんとなくわかる -
Docker
を触ったことがある
3. Let's Try
3.1. 任意のディレクトリにCentOS
イメージのコンテナを作成し、コンテナに接続する
Docker Hub
などでイメージとタグも指定する場合は確認すること
イメージのみ指定する場合は自動で:latest
タグを指定したことになる
$ docker pull centos #Docker Hubからcentosイメージをローカルにpull
$ docker run -it centos #centosイメージを用いてコンテナを作成し、コンテナに接続
-it
オプション
- -i(interactive) コンテナの標準入力(STDIN)にアタッチ
- -t(tty) 疑似ターミナル(pseudo-TTY)を割り当てる
3.2. ユーザー情報の設定
3.2.1. 現在のユーザー情報を確認
# whom #現在のユーザーの表示
> root
# id #現在のユーザーのID情報
> uid=0(root) gid=0(root) groups=0(root)
# cat /etc/passwd #現在のユーザー一覧
>
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin
systemd-resolve:x:193:193:systemd Resolver:/:/sbin/nologin
3.2.2. ユーザー追加、確認
# useradd -D #ユーザー新規作成時のデフォルト値を確認
>
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
# ueradd sampleuser #デフォルトの設定でユーザーを作成する
# id sampleuser
> uid=1000(sampleuser) gid=1000(sampleuser) groups=1000(sampleuser)
# cat etc/passwd | grep -n sampleuser #sampleuserが登録されているかを確認
> 17:sampleuser:x:1000:1000::/home/sampleuser:/bin/bash
# ueradd sampleuser2
# cat etc/passwd | grep -n sampleuser
>
17:sampleuser:x:1000:1000::/home/sampleuser:/bin/bash
18:sampleuser2:x:1001:1001::/home/sampleuser2:/bin/bash
3.2.3. ユーザーの設定変更
- 最初にしておくべきrootユーザーのパスワード変更など
# yum -y install sudo
> ...
# yum -y install passwd
> ...
# passwd sampleuser #パスワードを変更する
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
# echo 'sampleuser ALL=(ALL) ALL' >> /etc/sudoers #sudo設定
3.2.4. ファイル作成、権限変更
# su - sampleuser
> ... #sampleuserに変更
$ cd /home
$ sudo touch sample.txt
$ ll sample.txt #bashrcにaliasでll=ls -alを登録済みの場合のみllで指定
> -rw-r--r-- 1 root root 0 Jun 30 16:36 sample.txt
$ chmod 755 sample.txt #権限を数値形式で変更
$ ll sample.txt
> -rwxr-xr-x 1 root root 0 Jun 30 16:36 sample.txt
$ chmod u+s sample.txt #SUIDを設定
$ ll sample.txt
> -rwsr-xr-x 1 root root 0 Jun 30 16:36 sample.txt
$ chmod g+s sample.txt #GUIDを設定
$ ll sample.txt
> -rwsr-sr-x 1 root root 0 Jun 30 16:36 sample.txt
参考:grep
参考2:useradd
参考3:sudoersの設定
参考4:chmod