0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Ubuntuの/media/以下のACLがたまにバグる

Posted at

インストーラがDVDメディアだったりISOだったりするLinuxソフトウェアが存在する。そしてそのインストーラが自分以外のユーザ(aptとか)でメディア内のファイルを実行する場合、UbuntuのデフォルトACLに引っかかってインストールが失敗する。そのためACLを変更する必要があるのだが、なぜかたまにACLがバグっててsetfaclで変更出来なくなる事象に遭遇した。

正常なパターンでは、基本的にメディアが自動マウントされるとユーザに合わせたディレクトリが作成され、ACLが設定される。メディアごとのディレクトリはこのディレクトリのACLを継承する。

$ getfacl /media/liqsuq/
getfacl: 絶対パス名から先頭の '/' を削除

# file: media/liqsuq/
# owner: root
# group: root
user::rwx
user:liqsuq:r-x
group::---
mask::r-x
other::---

これをグループもしくは他のユーザーでも実行可能にすれば良いので本来は以下のコマンドを実行すれば良い。

$ sudo setfacl -m g::5,o::5 /media/*

しかし何回もUbuntuを再インストールしていると稀に以下のような事象に出くわした。"user:liqsuq:r-x"行が複数存在しているせいでsetfaclコマンドが失敗している。

$ sudo setfacl -m g::5,o::5 /media/*
[sudo] liqsuq のパスワード: 
setfacl: /media/liqsuq: Malformed access ACL 'user::rwx,user:liqsuq:r-x,user:liqsuq:r-x,group::r-x,mask::r-x,other::r-x': 重複エントリ at entry 3
$ getfacl /media/liqsuq/
getfacl: 絶対パス名から先頭の '/' を削除

# file: media/liqsuq/
# owner: root
# group: root
user::rwx
user:liqsuq:r-x
user:liqsuq:r-x
group::---
mask::r-x
other::---

これを修正するには以下を実行する

$ sudo setfacl -x user:liqsuq /media/liqsuq
$ getfacl /media/liqsuq/
getfacl: 絶対パス名から先頭の '/' を削除

# file: media/liqsuq/
# owner: root
# group: root
user::rwx
user:liqsuq:r-x
group::---
mask::r-x
other::---

$ sudo setfacl -m g::5,o::5 /media/*
$ getfacl /media/liqsuq/
getfacl: 絶対パス名から先頭の '/' を削除

# file: media/liqsuq/
# owner: root
# group: root
user::rwx
user:liqsuq:r-x
group::r-x
mask::r-x
other::r-x

対処法は分かるが原因は不明。トリガーとなる操作も分からず本当に不定期で発生するので都度対処する。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?