プライベートだったり仕事がらみだったりで比較的大きいモノの締切が余り間を開けずに襲来。
てんやわんやしてます。
段取りするのが上手ではないので、うまく回さないと回らない……
発表原稿とか資料とか環境作りが……
とりあえず一番近いものを優先して対応しなきゃ……
プライベートだったり仕事がらみだったりで比較的大きいモノの締切が余り間を開けずに襲来。
てんやわんやしてます。
段取りするのが上手ではないので、うまく回さないと回らない……
発表原稿とか資料とか環境作りが……
とりあえず一番近いものを優先して対応しなきゃ……
※この記事はQiitaにも投稿しています。
vagrant up
時に毎回パスワードを尋ねられるのが煩わしかったのでsudoersを設定したのですが初歩的なことに嵌っていたのでその備忘録。
/etc/sudoers
に追記するときはこれよりも後ろに記述すること!
%admin ALL = (ALL) ALL
/etc/sudoers.d/
の下に個別にファイルを作る!以下、失敗談込みの設定の流れ
Macだとsudoersにこれを追加します。
Cmnd_Alias VAGRANT_EXPORTS_ADD = /usr/bin/tee -a /etc/exports Cmnd_Alias VAGRANT_NFSD = /sbin/nfsd restart Cmnd_Alias VAGRANT_EXPORTS_REMOVE = /usr/bin/sed -E -e /*/ d -ibak /etc/exports %admin ALL=(root) NOPASSWD: VAGRANT_EXPORTS_ADD, VAGRANT_NFSD, VAGRANT_EXPORTS_REMOVE
編集にはsudo visudo
を使います。
sudoersを眺めていると"Cmnd alias specification"の項目があるので「ここに書けば良さそう」とここに上の4行を貼り付けました。
保存して意気揚々とvagrant up
!
パスワードを尋ねられました……orz
OSの違いなのかと数日悪戦苦闘しながらsudoersを眺めていると"Cmnd alias specification"の下に"%admin ALL = (ALL) ALL"を見つけました。
ひょっとして……と思いつつ設定を"%admin ALL = (ALL) ALL"の下に移動させるとvagrant upがすんなり起動しました。
"%admin ALL=(root) NOPASSWD: 〜"が打ち消されていたんですね……
sudoersファイルだとまた同じミスを行っていまいそう かつ 他にも設定を入れると長くなってしまうので/private/etc/sudoers.d/
にファイルを作ることにしました。
このディレクトリはsudoersの末尾で読み込まれます。
#includedir /private/etc/sudoers.d
←この部分です。
※先頭の#を消す必要はありません(コメントではありません)
$ cat /private/etc/sudoers.d/vagrant-nfs # NFS - Synced Folders - Vagrant by HashiCorp # https://www.vagrantup.com/docs/synced-folders/nfs.html Cmnd_Alias VAGRANT_EXPORTS_ADD = /usr/bin/tee -a /etc/exports Cmnd_Alias VAGRANT_NFSD = /sbin/nfsd restart Cmnd_Alias VAGRANT_EXPORTS_REMOVE = /usr/bin/sed -E -e /*/ d -ibak /etc/exports %admin ALL=(root) NOPASSWD: VAGRANT_EXPORTS_ADD, VAGRANT_NFSD, VAGRANT_EXPORTS_REMOVE
/etc/sudoers
に追記するときはこれよりも後ろに記述すること!
%admin ALL = (ALL) ALL
/etc/sudoers.d/
の下に個別にファイルを作る!他の設定ファイルでもそうですが、記述順序には気をつけましょう……
※この記事はQiitaにも投稿しています。
スマホの写真をPCに取り込んだ場合などにファイルの変更日時が取り込んだ日時になることがあります。
WindowsだとF6 Exifなどで復元することができますがMacでも同様のことができないか調べてみるとExifToolで同様のことができました。
HomebrewでExifToolをインストールします。
$ brew update $ brew install exiftool
あとは個々のファイルの撮影日時を変更日時に流し込みます。
$ find pic/ -type f -iname "*.jpg" -print0 | \ xargs -0 exiftool "-filemodifydate<datetimeoriginal" あるいは $ exiftool "-filemodifydate<datetimeoriginal" pic/
※この記事はQiitaにも投稿しています。
Ruby on Rails チュートリアル を行うにあたって仮想マシン内では無くMac上に環境を構築することにしました。
手元の環境には昔この辺の手順でインストールされた名残があったのでそのクリーンアップをしておきます。
$ rm -rf ~/.rbenv
$ brew update $ brew install rbenv ruby-build ==> Installing dependencies for rbenv: autoconf, ruby-build ==> Installing rbenv dependency: autoconf ==> Downloading https://homebrew.bintray.com/bottles/autoconf-2.69.el_capitan.bo Already downloaded: /Users/*****/Library/Caches/Homebrew/autoconf-2.69.el_capitan.bottle.4.tar.gz ==> Pouring autoconf-2.69.el_capitan.bottle.4.tar.gz ==> Caveats Emacs Lisp files have been installed to: /usr/local/share/emacs/site-lisp/autoconf ==> Summary 🍺 /usr/local/Cellar/autoconf/2.69: 70 files, 3.0M ==> Installing rbenv dependency: ruby-build ==> Downloading https://github.com/rbenv/ruby-build/archive/v20160602.tar.gz ==> Downloading from https://codeload.github.com/rbenv/ruby-build/tar.gz/v201606 ######################################################################## 100.0% ==> ./install.sh 🍺 /usr/local/Cellar/ruby-build/20160602: 282 files, 155.5K, built in 6 seconds ==> Installing rbenv ==> Downloading https://homebrew.bintray.com/bottles/rbenv-1.0.0.el_capitan.bott ######################################################################## 100.0% ==> Pouring rbenv-1.0.0.el_capitan.bottle.tar.gz ==> Caveats Rbenv stores data under ~/.rbenv by default. If you absolutely need to store everything under Homebrew's prefix, include this in your profile: export RBENV_ROOT=/usr/local/var/rbenv To enable shims and autocompletion, run this and follow the instructions: rbenv init ==> Summary 🍺 /usr/local/Cellar/rbenv/1.0.0: 36 files, 62.0K $ rbenv init
.bashrcに rbenv init
を追記します。
$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc $ source ~/.bashrc
現時点で一番最新の 2.3.1 をインストールします。
rbenv install --list
で利用できるバージョンの一覧が出力されます。
$ rbenv install 2.3.1 rbenv versions * system (set by /Users/*****/.rbenv/version) 2.3.1 $ rbenv local 2.3.1 $ ruby --version ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]
チュートリアルだと ~/.rbenv の下にgemをインストールすることになるのでbundlerを使ってカレントディレクトリにrailsをインストールします。
$ gem install bundler Fetching: bundler-1.13.2.gem (100%) Successfully installed bundler-1.13.2 1 gem installed $ cat << _EOT_ > Gemfile source 'https://rubygems.org' gem 'rails', '4.2.2' _EOT_ $ bundle install --path vendor/bundle Fetching gem metadata from https://rubygems.org/.......... Fetching version metadata from https://rubygems.org/.. Fetching dependency metadata from https://rubygems.org/. Resolving dependencies... Installing rake 11.3.0 Installing i18n 0.7.0 Using json 1.8.3 Installing minitest 5.9.1 Installing thread_safe 0.3.5 Installing builder 3.2.2 Installing erubis 2.7.0 Installing mini_portile2 2.1.0 Installing rack 1.6.4 Installing mime-types-data 3.2016.0521 Installing arel 6.0.3 Using bundler 1.13.2 Installing concurrent-ruby 1.0.2 Installing thor 0.19.1 Installing tzinfo 1.2.2 Installing nokogiri 1.6.8.1 with native extensions Installing rack-test 0.6.3 Installing mime-types 3.1 Installing sprockets 3.7.0 Installing activesupport 4.2.2 Installing loofah 2.0.3 Installing mail 2.6.4 Installing rails-deprecated_sanitizer 1.0.3 Installing globalid 0.3.7 Installing activemodel 4.2.2 Installing rails-html-sanitizer 1.0.3 Installing rails-dom-testing 1.0.7 Installing activejob 4.2.2 Installing activerecord 4.2.2 Installing actionview 4.2.2 Installing actionpack 4.2.2 Installing actionmailer 4.2.2 Installing railties 4.2.2 Installing sprockets-rails 3.2.0 Installing rails 4.2.2 Bundle complete! 1 Gemfile dependency, 35 gems now installed. Bundled gems are installed into ./vendor/bundle. $ bundle exec rails -v Rails 4.2.2
後は rails
コマンドを適宜 bundle exec rails
に読み替えていけば良さそうです。
※この記事はQiitaにも投稿しています。
請求の情報およびツールへのアクセス許可 - AWS 請求情報とコスト管理 を参考にルートアカウント認証情報でログインしてアカウントの"IAM User Access to Billing Information"を有効にします。
IAMユーザーで請求情報を見られるようにした場合、AdministratorAccessポリシーが適用されていると支払先情報までアクセスできてしまいます。
請求金額などは見せたいが支払先情報の表示や変更を許可したくない場合はインラインポリシーで個別にブロックします。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1474516683000", "Effect": "Deny", "Action": [ "aws-portal:ModifyAccount", "aws-portal:ModifyBilling", "aws-portal:ModifyPaymentMethods", "aws-portal:ViewAccount", "aws-portal:ViewBudget", "aws-portal:ViewPaymentMethods" ], "Resource": [ "*" ] } ] }
AdministratorAccessポリシーだったらポリシールールをIAMユーザーが自分で変更できちゃうよね。というツッコミは無しでお願いします。
それは別途ポリシーでブロックしてください。