LinuxServer

# 合わせてこちらも参照

# OSのInstall

# 設定

## 一般ユーザを追加 ``` sudo adduser userName ```

## sudo権限付与 ``` sudo visudo ```

## vim だけ先にインストール ``` sudo apt -y install vim ```

## ネットワークの設定 1. proxyの設定

	- [参考サイト(プロキシクライアントの設定 : Ubuntu)](https://www.server-world.info/query?os=Ubuntu_24.04&p=squid&f=2)
	1. proxy.shの作成
		```
		sudo vim /etc/profile.d/proxy.sh
		```
	1. 内容
		```
		MY_PROXY_URL="http://prox.srv.world:3128"
		
		HTTP_PROXY=$MY_PROXY_URL
		HTTPS_PROXY=$MY_PROXY_URL
		FTP_PROXY=$MY_PROXY_URL
		http_proxy=$MY_PROXY_URL
		https_proxy=$MY_PROXY_URL
		ftp_proxy=$MY_PROXY_URL
		
		export HTTP_PROXY HTTPS_PROXY FTP_PROXY http_proxy https_proxy ftp_proxy
		```
	1. 反映
		```
		source /etc/profile.d/proxy.sh
		```

1. ipv6無効化

# とりあえず無効化 1. 編集 ``` sudo vi /etc/sysctl.conf ``` 1. 以下の内容を追加 ``` net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 ``` 1. 反映 ``` sudo sysctl -p ```

# 再起動後も無効化

## 準備 1. ファイルを作成、編集 ``` sudo vi /etc/sysctl.d/60-ipv6-disable.conf ``` 1. 以下を追加 ```

net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1

``` 1. 反映確認 ``` sudo sysctl --system ```

## 自動起動設定 1. rc.localの末尾へ追記記載 ``` sudo vi /etc/rc.local ``` 1. 以下を末尾or新規に追加 ``` sudo sysctl --system ``` 1. 再起動して確認

sudo shutdown -r now

# 無効化されているか、確認するコマンド ``` ip addr ```

### その他のネットワーク設定の場所

## timezoneの変更 ``` sudo timedatectl set-timezone Asia/Tokyo ```

## インストール続き 1. Ubuntu パッケージ情報のアップデート

	```
	sudo apt update
	```

1. 初期アップデートプログラムの適用

	```
	sudo apt upgrade
	```

## 自分が必要なソフトのインストール1 1. ntp : Network Time Protocol(時計合わせ機能のインストール) 1. ssh : ssh 接続プログラム 1. net-tools : ifconfig など基本的なコマンドをインストール 1. iftop : top コマンドのネットワーク版 1. iotop : top のディスク版 1. tmux : 1つの接続で複数画面にしたり、途中でsshが切断されてもセッションが保持されたり。。。 1. htop : 高機能top 1. glances : htop のさらに高機能版

	```
	sudo apt -y install ntp ssh net-tools iftop iotop sysstat tmux htop glances
	```
	- tmux の時ファンクションキーが効かないので、以下も追加
	```
	vi ~/.bashrc
	```
	```
	export TERM=xterm-256color
	```
	

## ntp

# インストール

# 設定

# 設定反映(ntp再起動), 確認

# ntp serverを指定して手動同期 1. sudo systemctl stop ntpd 1. sudo ntpdate ntp.nict.jp 1. sudo systemctl start ntpd 1. sudo ntpq -p

# ntpdig: no eligible servers

## ldap

# Server

## Install (以下 su - 権限) ``` yum install openldap openldap-servers openldap-clients ```

## パスワードの準備 ``` slappasswd ```

``` vi /etc/openldap/slapd.d/cn=config/olcDatabase={0}config.ldif ```

## DB 環境構築

## Service の起動 ``` /etc/init.d/slapd start ```

## loglevel の設定

## LDAP の基本設定 ``` ldapsearch -x -LLL -b 'olcDatabase={2}bdb,cn=config' -D cn=config -W ```

## データ用ディレクトリの管理情報の変更

	```
	# 設定を行うDNを指定
	dn: olcDatabase={2}bdb,cn=config
	# このLDIFファイルで修正を行うことを宣言します
	changetype: modify
	# olcRootDNを書き換えることを指定し値を指定する
	replace: olcRootDN
	olcRootDN: cn=Manager,dc=unix-power,dc=net
	# olcSuffixを書き換えることを指定し値を指定する
	replace: olcSuffix
	olcSuffix: dc=unix-power,dc=net
	# olcRootPWを追加することを指定し値を指定する
	add: olcRootPW
	olcRootPW: {SSHA}en/K3sLikQDCWk/lMmWLNh8svNQ+ggf0
	```

## 初期データの登録(以下は CUI) ``` vi init.ldif ```

	dn: cn=Manager,dc=unix-power,dc=net
	objectclass: organizationalRole
	cn: Manager
	```
	```
	dn: ou=Users,dc=unix-power,dc=net
	objectclass: organizationalUnit
	ou: Users
	dn: ou=Groups,dc=unix-power,dc=net
	objectclass: organizationalUnit
	ou: Groups
	dn: ou=Computers,dc=unix-power,dc=net
	objectclass: organizationalUnit
	ou: Computers
	# ldapadd -x -W -D "cn=Manager,dc=unix-power,dc=net" -f add.ldif
	Enter LDAP Password:
	adding new entry "ou=Users,dc=unix-power,dc=net"
	adding new entry "ou=Groups,dc=unix-power,dc=net"
	adding new entry "ou=Computers,dc=unix-power,dc=net
	```
	```
	dn: cn=develop,ou=Groups,dc=unix-power,dc=net
	objectClass: posixGroup
	cn: develop
	gidNumber: 1000
	dn: cn=sales,ou=Groups,dc=unix-power,dc=net
	objectClass: posixGroup
	cn: sales
	gidNumber: 1001
	dn: cn=market,ou=Groups,dc=unix-power,dc=net
	objectClass: posixGroup
	cn: market
	gidNumber: 1002
	# ldapadd -x -W -D "cn=Manager,dc=unix-power,dc=net" -f groupadd.ldif
	Enter LDAP Password:
	adding new entry "cn=develop,ou=Groups,dc=unix-power,dc=net"
	adding new entry "cn=sales,ou=Groups,dc=unix-power,dc=net"
	adding new entry "cn=market,ou=Groups,dc=unix-power,dc=net"
	```
	```
	dn: uid=takeda,ou=Users,dc=unix-power,dc=net
	objectclass: posixAccount
	objectclass: inetOrgPerson
	sn: takeda
	cn: kazuma
	displayName: Takeda Kazuma
	uid: takeda
	uidNumber: 1000
	gidNumber: 1000
	homeDirectory: /home/takeda
	loginShell: /bin/bash
	userPassword: {CRYPT}B5fKzlwfatuy2
	mail: takeda@unix-power.net
	dn: uid=suzuki,ou=Users,dc=unix-power,dc=net
	objectclass: posixAccount
	objectclass: inetOrgPerson
	sn: suzuki
	cn: hajime
	displayName: Suzuki Hajime
	uid: suzuki
	uidNumber: 1001
	gidNumber: 1000
	homeDirectory: /home/suzuki
	loginShell: /bin/bash
	userPassword: {CRYPT}B5fKzlwfatuy2
	mail: suzuki@unix-power.net
	dn: uid=tanaka,ou=Users,dc=unix-power,dc=net
	objectclass: posixAccount
	objectclass: inetOrgPerson
	sn: tanaka
	cn: takuya
	displayName: Tanaka Takuya
	uid: tanaka
	uidNumber: 1002
	gidNumber: 1000
	homeDirectory: /home/tanaka
	loginShell: /bin/bash
	userPassword: {CRYPT}B5fKzlwfatuy2
	mail: tanaka@unix-power.net
	# ldapadd -x -W -D "cn=Manager,dc=unix-power,dc=net" -f useradd.ldif
	Enter LDAP Password:
	adding new entry "uid=takeda,ou=Users,dc=unix-power,dc=net"
	adding new entry "uid=suzuki,ou=Users,dc=unix-power,dc=net"
	adding new entry "uid=tanaka,ou=Users,dc=unix-power,dc=net"
	```

## ssl 対応

### 前提

### 証明書の作成(ldap サーバー側)

	1. ファイルの owner の変更
		(CentOS6 だとユーザー名などは 「ldap」)
		```
		chown -R ldap:ldap /etc/openldap/certs
		chown -R ldap:ldap /etc/openldap/cacerts
		```
	1. tls.ldif の適用
		```
		ldapmodify -Y EXTERNAL -H ldapi:// -f tls.ldif
		```

1. もう1つの設定変更ファイルの作成

	```
	vim tls-1.ldif
	```
	```
	dn: cn=config
	changetype: modify
	add: olcTLSCACertificateFile
	olcTLSCACertificateFile: /etc/openldap/cacerts/ca.cert.pem
	```
	1. 適用
		```
		ldapmodify -Y EXTERNAL -H ldapi:// -f tls-1.ldif
		```

1. 再度設定の確認

	```
	slapcat -b "cn=config" | egrep "olcTLSCertificateFile|olcTLSCertificateKeyFile|olcTLSCACertificateFile"
	```

1. ldap config file の変更

	(CentOS6 ではここの手順が違くてはまりました。。。
	CentOS6 では、SLAPD_URLS を空白にしておく必要があります。
	以下のSLAPD_LDAPS を yes に変更すれば、自動的に ldaps:/// が追加されます)
	```
	vi /etc/sysconfig/ldap
	```
	- 変更前
		```
		SLAPD_LDAPS=no
		```
		- 変更後
			```
			SLAPD_LDAPS=yes
			```

1. ldap.conf の変更

	```
	vim /etc/openldap/ldap.conf
	```
	- 以下を追加。
		```		
		TLS_CACERTDIR /etc/openldap/certs
		TLS_CACERT /etc/openldap/cacerts/ca.cert.pem
		TLS_REQCERT allow
		```

1. slapd の再起動

	```
	service slapd restart
	```

### クライアント側の設定

		[nss]
		homedir_substring = /home
		[pam]
		[domain/default]
		id_provider = ldap
		autofs_provider = ldap
		auth_provider = ldap
		chpass_provider = ldap
		ldap_uri = ldaps://ldap.domain.jp:636
		ldap_chpass_uri = ldaps://ldap.domain.jp:636
		ldap_search_base = dc=domain,dc=jp
		ldap_id_use_start_tls = False
		ldap_tls_cacertdir = /etc/openldap/certs
		cache_credentials = True
		ldap_tls_reqcert = never
		entry_cache_timeout = 600
		ldap_network_timeout = 3
		ldap_connection_expire_timeout = 60
		```

1. 権限の変更

	```
	chmod 600 /etc/sssd/sssd.conf
	chown root:root /etc/sssd/sssd.conf
	```

1. (クライアント) ldap.conf の変更

	- 「TLS_REQCERT     never」 はオレオレ証明書なので必要。
	```
	vi /etc/openldap/ldap.conf
	```
	```
	BASE    dc=domain,dc=jp
	URI     ldap://10.0.2.20
	TLS_CACERT      /etc/openldap/cacerts/ca.cert.pem
	TLS_CACERTDIR /etc/openldap/cacerts
	TLS_REQCERT     never
	```

1. (クライアント) 証明書のリフレッシュ

	```
	openssl rehash /etc/openldap/cacerts
	```

1. (クライアント) sssd の設定を関連設定ファイルへ設定。

	```
	authselect select sssd with-mkhomedir --force
	```

1. (クライアント) 関連サービスの実行

	- sssd
		```
		systemctl enable sssd.service --now 
		```
	- oddjobd
		```
		systemctl enable oddjobd.service --now
		```

1. (クライアント) ldap の user 名が引けるか確認

	```
	id testUser
	```

1. (他のPCから) ログインできるか確認

	```
	ssh testUser@clientComputer
	```

### error, daemon: listen(ldap:///, 5) failed errno=98 (Address already in use) ``` vim /etc/sysconfig/ldap ```

# Client

## common

## Redhat系 ``` sudo yum install openldap-clients nss-pam-ldapd ```

``` sudo authconfig-tui ``` 1. ユーザー情報

	```
	ユーザー情報         認証                         │
	[ ] キャッシュ情報    [ ] MD5 パスワードを使用      │
	[*] LDAP を使用      [*] シャドウパスワードを使用   │
	[ ] NIS を使用       [*] LDAP 認証を使用          │
	[ ] IPAv2 の使用     [ ] Kerberos 5 を使用       │
	[ ] Winbind を使用   [ ] 指紋読み取りを使用        │
	                    [ ] Winbind 認証を使用       │
	                    [*] ローカル認証は十分です     │
	[ ] TLS を使用
		サーバー: ''ldap://123.456.789.012/''
		ベース DN: ''dc=tar3,dc=net''
	```

1. sudo vi /etc/pam.d/system-auth (もし中身にsssがあれば)

	```
	sudo vi /etc/pam.d/system-auth (もし中身にsssがあれば)
	```
	```
	#auth        sufficient    pam_sss.so use_first_pass
	auth        sufficient    pam_ldap.so use_first_pass
	#account     [default=bad success=ok user_unknown=ignore] pam_sss.so
	account     [default=bad success=ok user_unknown=ignore] pam_ldap.so
	#password    sufficient    pam_sss.so use_authtok
	password    sufficient    pam_ldap.so use_authtok
	#session     optional      pam_sss.so
	session     optional      pam_ldap.so
	```

1. sudo vi /etc/pam.d/password-auth (もし中身にsssがあれば)

	```
	sudo vi /etc/pam.d/password-auth (もし中身にsssがあれば)
	```
	```
	#auth        sufficient    pam_sss.so use_first_pass
	auth        sufficient    pam_ldap.so use_first_pass
	#account     [default=bad success=ok user_unknown=ignore] pam_sss.so
	account     [default=bad success=ok user_unknown=ignore] pam_ldap.so
	#password    sufficient    pam_sss.so use_authtok
	password    sufficient    pam_ldap.so use_authtok
	#session     optional      pam_sss.so
	session     optional      pam_ldap.so
	```

1. sudo vi /etc/nsswitch.conf

	```
	sudo vi /etc/nsswitch.conf 
	```
	```
	#passwd:     files sss
	passwd:     files ldap
	#shadow:     files sss
	shadow:     files ldap
	#group:      files sss
	group:      files ldap
	#services:   files sss
	services:   files ldap
	#netgroup:   files sss
	netgroup:   files ldap
	#automount:  files sss
	automount:  files ldap
	```
	```
	session required pam_mkhomedir.so skel=/etc/skel/ umask=0007
	```

1. service の restart

	```
	sudo service nslcd restart
	```

1. 確認

	```
	getent passwd
	```

1. ssh 経由でログインしてホームディレクトリが作られる事を確認 1. ホームディレクトリが作成されない時

	```
	mkdir /home/userName
	```
	```
	sudo chown -R userName:GroupName /home/userName
	```
	- 必要に応じて
		```
		sudo visudo
		```

## Debian系

	```
	# Create home directory automatically.
	session required pam_mkhomedir.so skel=/etc/skel/ umask=0007
	```
	1. vim でクリップボードが効かない場合の設定を追記
		```
		sudo vi /etc/skel/.vimrc
		```
		
		```
		set clipboard=unnamed,autoselect
		```

1. 変更

	```
	sudo vi /etc/nsswitch.conf 
	```
	```
	passwd: files ldap
	group:  files ldap
	shadow: files ldap
	netgroup: ldap
	```

1. 確認

	```
	getent passwd
	```

1. サービスの再起動

	```
	systemctl restart nscd
	```

1. ssh 経由でログインしてホームディレクトリが作られる事を確認 1. ホームディレクトリが作成されない時

	```
	mkdir /home/userName
	```
	```
	sudo chown -R userName:GroupName /home/userName
	```
	- 必要に応じて
		```
		sudo visudo
		```

1. sudo 時、password を2回聞かれる問題(useとtryの違い)

	```
	sudo vi /etc/pam.d/common-auth
	```
	1. before
		```
		auth    [success=1 default=ignore]      pam_ldap.so use_first_pass
		```
	1. after
		```
		auth    [success=1 default=ignore]      pam_ldap.so try_first_pass
		```

1. x ログイン時にユーザー名が表示されない

	- ctrl + alt + F1 を押してコンソールへ。一度、ldap ユーザーでログインする。

# ApacheDirectoryStudio

## setButton(GtkWidget*): アサーション `!_button._widget' に失敗しました。

# トラブル

## config_back_db_open: line 0: warning: cannot assess the validity of the ACL scope within backend naming context 1. ログの確認

	```
	sudo less /var/log/ldap.log
	```

1. 以下のフォルダをバックアップから戻す

	- /var/lib/ldap
		```
		sudo cp -fr /mnt/backup/var/lib/ldap/# /var/lib/ldap/
		```

1. ldapの再起動

	```
	sudo service slapd restart
	```

## zabbix

## postfix

## logwatch ``` sudo apt install logwatch ```

## ufw

## moose file system(mfs) のインストールと設定

### ProxMoxの場合は以下の手順でfuseを有効化 (これ、はまりました。。。3時間以上。。。) 1. コンテナー(仮想マシン) -> 「オプション」->「機能」をダブルクリック -> 「FUSE」をチェックオン -> 「OK」 1. 仮想サーバ(コンテナ)の再起動

### ユーザーとグループの作成 ``` sudo groupadd -g 1001 mfs sudo useradd -u 1001 -g 1001 mfs ```

### Install

### mfs マウント先の作成 ``` sudo mkdir /mnt/mfs ```

### mfs のマウント ``` sudo mfsmount /mnt/mount -H master.tar3.net ```

### fstabへ追記


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS