lvm 関連のコマンドは root のみ
lvm コマンドを実行したいと思っても、root に制限されているので、使えないことがあり困ったので、一般ユーザーに開放することにした。
sudoers に許可したいコマンドのフルパスを列挙すればいい。
Cmnd_Alias LVM = /sbin/lvchange,/sbin/lvconvert,/sbin/lvcreate,/sbin/lvdisplay,\
/sbin/lvextend,/sbin/lvm,/sbin/lvmchange,/sbin/lvmconf,/sbin/lvmdiskscan,\
/sbin/lvmdump,/sbin/lvmetad,/sbin/lvmsadc,/sbin/lvmsar,/sbin/lvreduce,\
/sbin/lvremove,/sbin/lvrename,/sbin/lvresize,/sbin/lvs,/sbin/lvscan,\
/sbin/pvchange,/sbin/pvck,/sbin/pvcreate,/sbin/pvdisplay,/sbin/pvmove,\
/sbin/pvremove,/sbin/pvresize,/sbin/pvs,/sbin/pvscan,/sbin/vgcfgbackup,\
/sbin/vgcfgrestore,/sbin/vgchange,/sbin/vgck,/sbin/vgconvert,\
/sbin/vgcreate,/sbin/vgdisplay,/sbin/vgexport,/sbin/vgextend,\
/sbin/vgimport,/sbin/vgmerge,/sbin/vgmknodes,/sbin/vgreduce,\
/sbin/vgremove,/sbin/vgrename,/sbin/vgs,/sbin/vgscan,/sbin/vgsplit
takuya ALL=(ALL) NOPASSWD: LVM
sudo lvs で使える。
sudo pvs
コマンド一覧作り方
lvm 関連のコマンドは、lvm のサブコマンドや
takuya@:~$ lvm
WARNING: Running as a non-root user. Functionality may be unavailable.
lvm> help
pvremove Remove LVM label(s) from physical volume(s)
pvs Display information about physical volumes
pvscan List all physical volumes
segtypes List available segment types
systemid Display the system ID, if any, currently set on this host
tags List tags defined on this host
vgcfgbackup Backup volume group configuration(s)
vgcfgrestore Restore volume group configuration
vgchange Change volume group attributes
vgck Check the consistency of volume group(s)
vgconvert Change volume group metadata format
vgcreate Create a volume group
sbin の中で lvm にエイリアスしているものを列挙すれば見つけられる、
takuya@:~$ ll /sbin/ | grep lvm
107:lrwxrwxrwx 1 root root 3 2017-03-18 01:29 lvchange -> lvm
108:lrwxrwxrwx 1 root root 3 2017-03-18 01:29 lvconvert -> lvm
109:lrwxrwxrwx 1 root root 3 2017-03-18 01:29 lvcreate -> lvm
110:lrwxrwxrwx 1 root root 3 2017-03-18 01:29 lvdisplay -> lvm
あとはこの結果を xargs などで配列にしてあげればいい
やり方はいくらでもあると思う。
takuya@:~$ ll /sbin/ | grep lvm | cut -d ' ' -f 13 | sort | uniq | xargs -I@ echo /sbin/@ |xargs echo | tr ' ' ' ,'
/sbin/lvchange,/sbin/lvconvert,/sbin/lvcreate,/sbin/lvdisplay,/sbin/lvextend,/sbin/lvmchange,/sbin/lvmconfig,/sbin/lvmdiskscan,/sbin/lvmsadc,/sbin/lvmsar,/sbin/lvreduce,/sbin/lvremove,/sbin/lvrename,/sbin/lvresize,/sbin/lvs,/sbin/lvscan,/sbin/pvchange,/sbin/pvck,/sbin/pvcreate,/sbin/pvdisplay,/sbin/pvmove,/sbin/pvremove,/sbin/pvresize,/sbin/pvs,/sbin/pvscan,/sbin/vgcfgbackup,/sbin/vgcfgrestore,/sbin/vgchange,/sbin/vgck,/sbin/vgconvert,/sbin/vgcreate,/sbin/vgdisplay,/sbin/vgexport,/sbin/vgextend,/sbin/vgimport,/sbin/vgimportclone,/sbin/vgmerge,/sbin/vgmknodes,/sbin/vgreduce,/sbin/vgremove,/sbin/vgrename,/sbin/vgs,/sbin/vgscan,/sbin/vgsplit
2019-09-27
このメモは随分前に書いていて、公開してなかったものなので、情報が古い可能性があります。昔LVMを触り始めたころに何故か sudo lvs が出来なくてこういうことをしました。今はできるはず。
sudoers のサンプル程度に使ってください。