- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2021-12-14T01:53:28+00:00","","")
#topicpath
----
//ここにコンテンツを記述します。
#contents
*** hogeユーザに、次回ログイン時パスワード変更させる [#ved1dd80]
# sudo passwd -e hoge
これでhogeユーザは、次回ログインしたあとにパスワード変更を求められます((Linuxのイメージとかを作ったときに、初期パスでログインさせるとかでつかえますね))。
***デフォルトゲートウェイの変更 [#r9fa3d8e]
sudo route add default gw 192.168.10.1
sudo route del default gw 192.168.10.1
などでデフォゲの設定ができます。((自宅に引き込んだ回線が2本とかあったりすると、もどり先が異なっててちゃんと戻んないときがあって。あ、デフォゲをそっちにしなきゃダメじゃん、なんてときがよくある、、、。))
ちなみに確認は
route -n
***echoコマンドの件 [#a5922e2d]
改行などのエスケープ文字を使いたい
$ echo hoge01\\nhoge02\\n
hoge01\nhoge02\n
$ echo -e hoge01\\nhoge02\\n
hoge01
hoge02
もしくは、
$ echo -e "hoge01\nhoge02\n"
hoge01
hoge02
$
----
最後、改行しない
$ echo hoge
hoge
$ echo -n hoge
hoge$
*** Linuxのパスワード有効期限 [#e04ae2f6]
[[パスワードの有効期限の設定>https://www.express.nec.co.jp/linux/distributions/knowledge/system/password.html]]
# chage -l root
ってコマンドで、該当ユーザのパスワード有効期限がいつかとか、パスワード変更のインターバルなどが確認できます。
# chage -M 30 root
など引数でインターバルを変更できます。これは30日後って意味。9999より大きい値を指定すると、無期限って意味になるらしい。
よくある、初回ログインしたときだけパスワードを変更させたい場合は、
# passwd -e ユーザ名
これでOK.次回ログインするときだけ、パスワード変更を促します。
[[Linux,UNIXで次回ログイン時にパスワードを変更させる | 俺的備忘録 〜なんかいろいろ〜>https://orebibou.com/2014/05/linuxunix%E3%81%A7%E6%AC%A1%E5%9B%9E%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3%E6%99%82%E3%81%AB%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%95%E3%81%9B%E3%82%8B/]]
*** 表のような結果から列を抽出する [#dcbf6c10]
[[cut コマンド | コマンドの使い方(Linux) | hydroculのメモ>https://hydrocul.github.io/wiki/commands/cut.html]]
***日付を取得する。1週間前の日付、とかも。 [#o6a642b5]
Linux系
$ from=`date +"%Y%m%d" --date "7 days ago"`
$ echo $from
20141127
$ to=`date +"%Y%m%d"`
$ echo $to
20141204
MacOS系(BSD系?)
$ from=`TZ=JST-9 date -v-7d '+%Y%m%d'`
$ echo $from
20141127
$ to=`TZ=JST-9 date '+%Y%m%d'`
$ echo $to
20141204
***バイナリ値の表示。 [#o066202e]
$ cat hoge.txt
a
$ od -tx1 hoge.txt
0000000 61 0a
0000002
$
たとえば、NULL値:
$ printf "\0" > hoge.txt && od -tx1 hoge.txt
0000000 00
0000001
$ printf "\0\n" > hoge.txt && od -tx1 hoge.txt
0000000 00 0a
0000002
こんな感じ。
***ログイン不可ユーザの設定を変える・戻す [#tfcb7b73]
usermod -s /bin/bash apache
su - apache <-普通はログイン出来ないけど、出来るようになる
exit
usermod -s /sbin/nologin apache
***cronをviで編集するための設定。 [#kb6b5fe2]
setenv EDITOR /usr/bin/vi
を設定しておく((bashは export EDITOR=/usr/bin/vi か))。
***フォーマットコマンド [#ua514f7e]
mkfs -L Firewire /dev/sda1 -t ext3
でボリュームラベルがFirewireで/dev/sda1をext3ファイルタイプでフォーマットする。
*** grepで前後何行を一緒に出す [#e7113934]
Linuxだけみたいですが
-a 後ろ何行。
-c 前後何行
***ファイルの分割、結合 [#w6d276e0]
バイナリ
split -b 2000m hoge.bin <-2GBごとにファイルを分ける。
テキスト
split -60000 hoge.csv <-60000行ごとにファイルを分ける
結合するときはcatですね。
cat hoge.* > hoge.new
***WEBからダウンロード [#eeb499bd]
wgetコマンドを使うと、コマンドライン上でファイルをダウンロードできます。たとえば
wget http://ezix.sourceforge.net/software/files/lshw-B.02.03.tar.gz
など。いままでWindowsでダウンロードしてFTPしてたので、これは便利(ていうか常識なのかな?)。
***grepでor検索 [#e16e444a]
egrep '(hoge | fuga)' ファイル名
***属性を保持してコピー [#wfc2ee75]
\cp -a
コピー先で、できる限り元のファイルの構成と属性を保持する (ディレクトリ構造体は保存しない) 。-dpR と同じ。
***定期的にコマンドを実行 [#kb6ecea5]
いわゆるcrontabです([[参考:http://www.atmarkit.co.jp/flinux/rensai/linuxtips/066cronset.html]])
crontab -e
でviが起動されるので、そこに記述する。記述方法は上記サイトを参考にしてください。
***設定したcrontabを参照する [#f7e63c00]
crontab -l
結果はたとえば
02 2 * * * /var/hoge.sh (毎日2時2分にhoge.shを実行)
***Shellの条件判定方法をmanで見る [#ze1bbc37]
man test
***xinetdのリスタート [#v3e40536]
/sbin/service xinetd restart
***言語の設定 [#e6c874c3]
setenv LANG ja
***WebSphereのプロセス参照(Solarisのみ?) [#e3e9c9a0]
/usr/ucb/ps -alxww | grep WebSphere
***gzファイルの解凍 [#febe9310]
gzip -d hoge.gz
***isoイメージマウント [#sd313dd4]
mount -t iso9660 -o loop WAS5.0forLinux.iso /mnt/iso/
***指定ディレクトリのサイズ [#j9a20ff0]
du -hs [ディレクトリ|ファイル]
オプション
|-h|わかりやすい単位にして表示する。|
|-s|引数で指定したファイルの総計だけを表示する。|
***ユーザ追加 [#pf4e9729]
useradd mqm ←ユーザmqm を作成します。
***グループ追加 [#zde1812a]
groupadd mqbrkrs ←グループmqbrkrs を作成します。
***グループにユーザを追加 [#i28ca0d7]
usermod -G [group] [user] ←user をグループ group に追加します。
usermod -G mqm,mqbrkrs root ←root をグループmqm とmqbrkrs に追加します。
usermod -G mqm mqm ←mqm をグループmqm に追加します。
***groupid: wsadmin,userid: user1 というユーザを作成する [#g2d3b6ff]
[root@node1 root]# useradd -g wsadmin user1
[root@node1 root]# su - user1
[user1@node1 user1]$ id
uid=502(user1) gid=502(wsadmin) 所属グループ=502(wsadmin)
[user1@node1 user1]$
***group1というgroupidを作成する [#h1abd856]
[root@node1 root]# groupadd group1
***user1というuseridのプライマリグループをwasgroupにする [#u85d9167]
[root@node1 root]# usermod -g wasgroup user1
[root@node1 root]# su - user1
[user1@node1 user1]$ id
uid=502(user1) gid=501(wasgroup) 所属グループ=501(wasgroup),503(user1)
[user1@node1 user1]$
***user1というuseridをuser1,wasgroupというgroupに属させる [#y46b9f7f]
[root@node1 root]# usermod -G user1,wasgroup user1
[root@node1 root]#
引数にないgroupに属していた場合、そのgroupからは削除される((つまりこの一覧にあるgroupのみに属するようになる))
***ユーザのパスワード変更 [#gf623d84]
passwd [username]
ユーザを指定する。指定しない場合、自分のパスワードを変更する。
***ユーザのuidやgidを変更したい [#i3e3e108]
たとえば
uid:502(hoge),gid:502(hoge1) を
uid:506(hoge),gid:506(hoge1) に変更したい。
とします。
以下の手順でOKっぽい。。
groupmod -g 506 hoge1 <- hoge1というグループのidを506に
↑ これで、hoge1というグループのgidは506となる
(この段階でhogeというユーザは無名のグループ(gid=502は存在しなくなるので)に属する)
usermod -g hoge1 hoge <- hogeというユーザのgidをhoge1に(gid=506になる)
↑ これで、hogeというユーザはhoge1というグループに属する(gid=506に変更される)
usermod -u 506 hoge <- hogeというユーザのuidを 506にする
↑ これで、hogeという名称のuidは506となった。
終わり。あ、あとはすでに作っちゃったファイルのオーナの変更が必要です。
というか、
/etc/passwd
/etc/group
の値を直接変えちまえばよい??
参考~
http://blog.goo.ne.jp/gleaning/e/c96f5b71df3acb64cafa46888ce2b787
***逆に、gidはそのままに表示名称を変えたい [#nc70bd66]
たとえばwasgroup -> new_wasgroup と変更したい場合
# groupmod -n new_wasgroup wasgroup
----
この記事は
#vote(おもしろかった[35],そうでもない[1])
#vote(おもしろかった[45],そうでもない[1])
- あの、勝手に/etc/passwdを変更しても大丈夫ですか? こういう内容のサイトもありますよ。http://x68000.q-e-d.net/~68user/unix/pickup?%2Fetc%2Fpasswd -- [[通りすがり]] &new{2010-03-30 (火) 15:04:22};
- コメントありがとうございます。/etc/passwdをいじってしまって良いかは、実際に試していないのでわからないですしそうすればよいといいたいわけでもないです。。。リンクを見させていただいた限り、直接修正はNGぽいですね。。 -- [[きの]] &new{2010-03-30 (火) 17:02:38};
- 仕組みを理解してればいじってもOK。Linux系はエディタでいじれるから、OK。BSD系はテキストデータじゃなくて、DBデータだから、エディタでいじるな、db系でいじればOK。んだけです。 -- [[ZORO]] &new{2010-09-03 (金) 10:29:25};
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}