linux command よく使うやつ (centos)

書き換えてからコピーできる

特定の文字列含むファイルを検索するコマンド

特定の文字列含むファイルを拡張子指定で検索するコマンド

ディレクトリごと削除

現在実行されているプロセスを知る

サブディレクトリ以下の特定ファイルを一括して削除する


ファイル名で指定ディレクトリ以下を検索

日付で検索する (10日以内に編集)

ディレクトリを除外して日付で検索する (3日以内に編集)

更新日順に表示する

  • find -type f はファイルのみを対象とする
  • find -print0 は検出されたファイルのフルパスをNULLキャラクターで分割して出力する
  • xargs -0 もしくは xargs --null 入力ストリームの分割はNULLキャラクターを用いる
 
特定の日に更新したファイルを見つける
 find . -type f -name "*.php" -newermt "2020-09-25"

管理者:グループの変更

一括変更

パーミッション変更

ファイル移動 、名前変更

コピー A to B

viエディタに行番号


全てのphpが755に、htmlは644になる

ローカルのファイルをリモートにアップロード
# -a オプションでアスキー転送 (デフォルトはバイナリ転送)

FTPserver : ftp.exzample.daa.jp
FTP account : daa.jp-user

php.ini すべてのエラーを表示する

   検索する
	/display_errors
   470行目くらい  OffをOnに変える
	display_errors = On

apache再起動

ubuntu18 ポートスキャン
20-83のあいだの開いているポートを探す


 nc -vz localhost 20-83 2>&1|grep succeeded

php7.2 → 7.4 アップデートcentos7

今のバージョンを削除

# yum remove php-*

Remiリポジトリを使用するための依存パッケージのインストール

# yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
 # vi /etc/yum.repos.d/remi-php74.repo

[remi-php74]  ←この項目の
enabled=1   ← 1にする

他にremi-php72.repo とかが1なら0にする。priorityが1なら削除する

必要パッケージとphp7.4インストール

# yum install --enablerepo=remi,remi-php74 php php-devel php-mbstring php-pdo php-gd php-mysqlnd php-intl php-pecl php-pear
# php -v
PHP 7.4.5 (cli) (built: Apr 14 2020 12:54:33) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

Apache再起動

 # systemctl restart httpd

外部のコラボレータをGithubリポジトリに追加する

https://help.github.com/ja/github/setting-up-and-managing-organizations-and-teams/adding-outside-collaborators-to-repositories-in-your-organization

外部のコラボレータを Organization のリポジトリに追加する

外部のコラボレータは、Organization の明示的なメンバーではありませんが、Organization の 1 つ以上のリポジトリに読み取り、書き込み、あるいは管理権限を持っている人です。

Organization のオーナー権限もしくはリポジトリの管理者権限を持つメンバーだけが、
add outside collaborators to a repository, unless an organization owner has restricted the ability to invite collaborators. For more information, see “Setting permissions for adding outside collaborators.”

外部コラボレータをプライベートリポジトリに追加すると、Organizationの有料シートが使われます。 詳しい情報については、「ユーザごとの価格付けについて」を参照してください。

Organization がメンバーおよび外部コラボレーターに 2 要素認証を使うことを求めるなら、メンバーおよび外部コラボレーターはあなたからの Organization のリポジトリでのコラボレーションの招待を受諾する前に、2 要素認証を有効化しなければなりません。

リポジトリに外部コラボレータを追加する際には、アクセスしてもらうリポジトリ内のフォークにもそのコラボレータを追加しなければなりません。

  1. GitHubで、リポジトリのメインページにアクセスしてください。

  2. リポジトリ名の下で Settings(設定)をクリックしてください。

    リポジトリの設定ボタン

  3. In the left sidebar, click Manage access.

    "Manage access" tab

  4. To the right of “Manage access”, click Invite teams or people.

    "Invite teams or people" button

  5. In the search field, start typing the name of person you want to invite, then click a name in the list of matches.

    Search field for typing the name of a person to invite to the repository

  6. Under “Choose a role”, select the permissions to grant to the person, then click Add NAME to REPOSITORY.

    Selecting permissions for the person

参考リンク

centos7 php7.3 Postfixインストール

CentOS 7にphp7.3のインストール


暫く掛かるが 完了しました! がでればOK

読み込まれているモジュールの確認

phpを入れたあとでやる adminer でエラー

   None of the supported PHP extensions (MySQLi, MySQL, PDO_MySQL) are available.
   はこれを入れて解決↓
                

Apache 再起動

1. メール送信に必要なパッケージのインストール
メール転送エージェント (MTA)にPostfix、メールサーバにGmailを利用するため

必要なパッケージをインストールします。


2. MTAの確認
alternativesコマンドでデフォルトのMTAの確認をします。

デフォルトMTAにsendmailが設定されているときは、postfixに設定を変更します。

There is 1 program that provides 'mta'.

  Selection    Command
-----------------------------------------------
*+ 1           /usr/sbin/sendmail.postfix

Enter to keep the current selection[+], or type selection number:

3. Postfixの設定
メール配送に必要な設定をします。

Gmailアカウントが必要になるので、アカウントが未登録の場合は事前に登録を済ませてください。

============================
# メールサーバのホスト名を設定します。
myhostname = mail.localdomain.local

# ドメイン名を設定します。
mydomain = localdomain.local

# 差出人のメールアドレスに使用するドメイン名を設定します。
myorigin = $mydomain

# メール受信を許可するアドレスを設定します。
# ローカルから外部への配送のみを許可するため下記を指定します。(127.0.0.1でもOK)
inet_interfaces = localhost

# IPv4 のみを有効にします。
inet_protocols = ipv4

# メールサーバー自身に配送されたとみなすドメインのリストを設定します。
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

# メールのリレー(転送)を許可するネットワークを設定します。
# ローカルからのメールのみ転送を許可するため127.0.0.0/8 を指定します。
mynetworks = 127.0.0.0/8

# Gmailサーバにメールをリレーする設定をします。
relayhost = [smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_mechanism_filter = plain
smtp_use_tls = yes
smtp_sasl_tls_security_options = noanonymous
smtp_tls_CApath = /etc/pki/tls/certs/ca-bundle.crt
============================

4. sasl_passwdの設定
Gmailサーバの認証に必要なユーザIDとパスワードを記述したファイルを作成します。

[smtp.gmail.com]:587 xxxxx@gmail.com:パスワード

postmapコマンドでデータベースを作成します。



また他のユーザにパスワードを読み取られないためにアクセス権を設定します。





5. Postfixの起動
Postfixを起動させます。

さらにサーバを再起動しても自動的にPostfixが起動するように設定します。


6. Gmail「安全性の低いアプリのアクセス」をON
Gmailの設定で、 『安全性の低いアプリのアクセス』 の設定を 「オンにする」 にします。

※セキュリティレベルをどうしても下げたくないなら2段階認証にしてアプリパスワードを作る記事

7. メール送信テスト
実際にメールが送信できるかコンソールからmailコマンドを使ってテストしてみます。

無事メールが届けば完了です。

2. centos7 インターネットへの接続確認


ipアドレスの確認


こんな感じに出る。

    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
            link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
            inet 127.0.0.1/8 scope host lo
                valid_lft forever preferred_lft forever
            inet6 ::1/128 scope host 
                valid_lft forever preferred_lft forever
        2: ens1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
            link/ether 00:1c:c4:cc:a7:16 brd ff:ff:ff:ff:ff:ff
            inet 192.168.0.4/24 brd 192.168.0.255 scope global dynamic ens1   ←これがv4のIP
                valid_lft 2763sec preferred_lft 2763sec
            inet 192.168.0.5/24 brd 192.168.0.255 scope global secondary ens1 ← これも
                valid_lft forever preferred_lft forever                     
            inet6 240f:51:16c8:1:21c:c4ff:fecc:a716/64 scope global noprefixroute dynamic 
                valid_lft 297sec preferred_lft 297sec
            inet6 fe80::21c:c4ff:fecc:a716/64 scope link 
                valid_lft forever preferred_lft forever
        
        

OSバーションチェック

rootユーザーへの切り替え

rootのパスワードを入れる
パスワードが認証されるとプロンプトが”$”から”#”に変わります。

一般ユーザーへの切り替えは”exit”コマンドを入力します

まず、selinuxを無効化します。selinuxはLinuxの監査やセキュリティを向上させる機能ですが、有効になっているとサービスの動作や、設定内容にかなりの制限が出てきます。そのため、基本的には無効にする場合が多いのが実

2-1. selinuxの状態を確認

selinuxが有効になっているかの確認はgetenforceコマンドで行います。(基本的にデフォルトで有効になっています。)以下のようにgetenforceコマンドを実行して「Enforcing」と表示された場合にはselinuxが有効になっています。

 
 $ getenforce
Enforcing

2-2. selinuxを無効に設定

selinuxを無効にするには/etc/selinux/configファイルを修正します。
修正はviなどのテキストエディターで行います。本記事ではファイルを修正する場合、基本的にviコマンドの利用を前提として記載しております。
設定ファイルをviコマンドで開きます。

configファイルの修正点は

 
     SELINUX=enforcing
                                

になります。このパラメーターを

 
     SELINUX=disabled
             

CentOSが起動しなくなった場合はインストールメディアを使ってリカバリモードで起動後、configファイルを修正することで起動できるようになります。

ファイルの修正後、サーバーを再起動して、ログインできる状態になったら、再度、getenforceコマンドでselinuxの設定状況を確認します。以下のように実行結果としてDisabledと表示されれば、selinuxは正常に無効化されています。

   $ getenforce
Disabled

これでselinuxの無効化は完了です。

一般ユーザー の作成

(ユーザー名 任意)

パスワードうんぬん 
	wert3333
	x2回

(ユーザーの確認)

今作ったユーザーに管理者コマンドを使える権限を与える

# visudo  エディタが開く
 %wheel  ALL=(ALL)  ALL の % を消す
 :wq 上書き終了

作ったユーザーを登録
ginzoのグループを確認
→ ginzo : ginzo wheel と出てればOK

ポートの開放状況を確認

:22 だけ開放されている

Linux firewalldでポート開放する方法(RHEL/CentOS7系)

開放するポートを追加

先頭の#はroot権限を表すプロンプトなので貼り付けないこと!

http 80番を開放

ftp 21番を開放

一応 sslの 443番を開放

設定の有効化

設定状態の確認


公開しているサーバーならここで rootログインの無効化、とパスワード認証の無効→鍵認証有効化を行うがローカル環境なので省略する

デフォルトゲートウェイの設定方法

ip固定にして DNS を変更する場合こやる

ens1はnicのハードウェアにつけられた管理上の名前

	
        TYPE="Ethernet"
        BOOTPROTO="dhcp"
        DEFROUTE="yes"
        IPV4_FAILURE_FATAL="no"
        IPV6INIT="yes"
        IPV6_AUTOCONF="yes"
        IPV6_DEFROUTE="yes"
        IPV6_FAILURE_FATAL="no"
        NAME="ens1"
        UUID="53056463-a9a4-438d-9b2c-20b5f3bfbd49"
        DEVICE="ens1"
        ONBOOT="yes"
        IPADDR=192.168.0.5
        PREFIX=24
        DNS1=8.8.8.8
        DNS2=8.8.4.4
        PEERDNS=yes
        PEERROUTES=yes
        IPV6_PEERDNS=yes
        IPV6_PEERROUTES=yes
        
    

インターネットへの接続確認

curlコマンドはweb上のURLを読み込んで文字列をコンソールに表示する

htmlのコードが見えればOK