Ubuntuでのユーザーのホームディレクトリのデフォルトのアクセスモード(0755など)とは何ですか(例:ls -ld /home/*
の出力)他の主要なLinuxディストリビューション(Debian、RedHat、Gentoo、Arch)では?
このデフォルトを変更するにはどうすればよいですか?
PS:申し訳ありませんが、ubuntuが見つからないため、自分でテストすることはできません。
useradd --create-home username
を使用してユーザーを作成する場合、スケルトンディレクトリ(通常は/etc/skel
)が、その権限を含めてコピーされます。
ホームディレクトリ(/home/username
)は、/etc/login.defs
のUMASK
設定の影響を受けます。これはデフォルトで022
に設定されているため、/home/username
の権限は755になります。
buntuマニュアルページのuseradd
からの関連抜粋:
/etc/login.defs内の次の構成変数は、このツールの動作を変更します。
[..]
UMASK(数値)ファイルモード作成マスクはこの値に初期化されます。指定しない場合、マスクは022に初期化されます。
useraddおよびnewusersは、このマスクを使用して、作成したホームディレクトリのモードを設定します。
ユーザーホームのデフォルト権限は以下の場所で制御できます。
useradd
のスケルトンディレクトリオプション(_-k, --skel SKEL_DIR
_)。/etc/adduser.conf
_のSKEL
値。DIR_MODE
_の_/etc/adduser.conf
_値。新規ユーザーのホームディレクトリは、テンプレートとして_/etc/skel
_を使用して作成されます(デフォルトの動作)。
_/etc/skel
_のデフォルトの権限は0755 (drwxr-xr-x)
です。
適切な権限を持つカスタムスケルトンディレクトリを使用すると、新しいホームディレクトリに必要な権限を付与できます。
adduser
のデフォルトは_/etc/adduser.conf
_で定義されています。
_DIR_MODE
_の_/etc/adduser.conf
_のデフォルト値は_0755
_です。
_DIR_MODE
_を変更して権限を修正すると(_DIR_MODE=0750
_または類似のもの)、新しいホームディレクトリに必要な権限を付与できます。
Ubuntuのドキュメントによると、これが最良のオプションのようです。
すでに存在するユーザーのホームディレクトリは手動で変更する必要があります。
_Sudo chmod 0750 /home/username
_
そのため、インストール直後に_/etc/adduser.conf
_を変更して、新しいユーザーが0755 (drwxr-xr-x)
タイプの権限を取得しないようにすることをお勧めします。
インストール中に作成された最初のユーザーは、_0755
_をホームディレクトリに設定します。ホームディレクトリは手動で変更する必要があります。
_/etc/login.defs
_のUMASK
は、ユーザーが(ホームディレクトリだけでなく)作成したファイル/ディレクトリなどの一般的な設定です。 _USERGROUPS_ENAB
_の_/etc/login.defs
_に応じて変更される可能性があります。
公式説明: ユーザー管理-ユーザープロファイルセキュリティ
ユーザー管理の他のセクションも確認してください。
関連: https://askubuntu.com/questions/46501/why-can-other-users-see-the-files-in-my-home-folder
注:[〜#〜] umask [〜#〜]/ etc/login.defsの値は、ホームディレクトリのアクセス許可のみを変更する場合は変更しないでください。 。 UMASKを変更すると原因がすべてに影響します。
私はかつて同じように従い、pipを使用してパッケージシステム全体をインストールしたとき、他のユーザーはアクセスできず、常に拒否された許可をスローしていました。デフォルトなので[〜#〜] umask [〜#〜]は、変更が適用された後に作成されたすべてのパッケージディレクトリの権限に影響を与えました。
正しい方法は、/ etc/adduser.confのDIR_MODEを変更することです。 / etc/adduser.confはほとんどのLinuxディストリビューションで使用されるため、このソリューションはほとんどの場合に機能します。
Ubuntuでの/ homeのデフォルトの権限は、rwxr-xr-xまたは755です。/home/userの場合は、rwxr-xr-xまたは755でもあります。少なくとも、私のインストールにはそれがあります。
ホームディレクトリのファイル権限を変更するには、ターミナルを開いて次のように実行します。
chmod 700 /home/user
700を、実際に設定するchmod値に変更することを忘れないでください。
ディレクトリを所有していない場合、権限を変更するにはroot権限が必要です。 UbuntuはそのためにSudo
を使用します。
Sudo chmod 700 /home/user
このコマンドを実行すると、管理者パスワードが要求されます。