CentOS 7のユーザーIDが1000未満です。

CentOS 7のユーザーIDが1000未満です。

現在、CentOS-7を使用して新しいLinuxサーバーをインストールしています。以前は、すべてのコンピュータでCentOS-6を使用し、自分のアカウントにuid = 555を使用していました。しかし、CentOS-7では、uid <= 999がシステム用に予約されているようです(オンラインの一部の記事によると)。テストの目的で、次のようにuid = 555でアカウントを作成しました。

#useradd -u 555 {私のログイン名}

その後、CentOS-7でもコマンドに警告などのない新しいアカウントが作成されました。

私はuid <= 999が「システムのために予約されている」ことを知っていますが、実際に上記のuid(555)を使い続けるのに深刻な問題はありますか?それとも将来、新しいサービスで555を使用する可能性があるため、555の使用を避けるべきですか?どんなアドバイスにも感謝します!


編集する

新しいマシン(Centos-7)の/etc/login.defsが表示されます。

# Min/max values for automatic uid selection in useradd
#
UID_MIN                  1000
UID_MAX                 60000

そして私の古いコンピュータ(Centos-6)では、次のようになりました。

# Min/max values for automatic uid selection in useradd
#
UID_MIN           500
UID_MAX         60000

だから別のUID_MINがあります。また、私の新しいコンピュータの/etc/passwdは次のようになります。

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
pegasus:x:66:65:tog-pegasus OpenPegasus WBEM/CIM services:/var/lib/Pegasus:/sbin/nologin
ods:x:999:998:softhsm private keys owner:/var/lib/softhsm:/sbin/nologin
systemd-bus-proxy:x:998:996:systemd Bus Proxy:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:997:995:User for polkitd:/:/sbin/nologin
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
colord:x:996:993:User for colord:/var/lib/colord:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
unbound:x:995:992:Unbound DNS resolver:/etc/unbound:/sbin/nologin
usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
libstoragemgmt:x:994:991:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
saslauth:x:993:76:Saslauthd user:/run/saslauthd:/sbin/nologin
dirsrv:x:389:389:389-ds-base:/usr/share/dirsrv:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
amandabackup:x:33:6:Amanda user:/var/lib/amanda:/bin/bash
pcp:x:388:388:Performance Co-Pilot:/var/lib/pcp:/sbin/nologin
geoclue:x:387:386:User for geoclue:/var/lib/geoclue:/sbin/nologin
setroubleshoot:x:386:385::/var/lib/setroubleshoot:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
memcached:x:385:384:Memcached daemon:/run/memcached:/sbin/nologin
rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin
mysql:x:27:27:MariaDB Server:/var/lib/mysql:/sbin/nologin
qemu:x:107:107:qemu user:/:/sbin/nologin
radvd:x:75:75:radvd user:/:/sbin/nologin
chrony:x:384:383::/var/lib/chrony:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
sssd:x:383:382:User for sssd:/:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
pulse:x:171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
hsqldb:x:96:96::/var/lib/hsqldb:/sbin/nologin
tomcat:x:91:91:Apache Tomcat:/usr/share/tomcat:/sbin/nologin
pkiuser:x:17:17:Certificate System:/usr/share/pki:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
gnome-initial-setup:x:382:379::/run/gnome-initial-setup/:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
oprofile:x:16:16:Special user account to be used by OProfile:/var/lib/oprofile:/sbin/nologin

上記のuidを見ると、新しいサービスで使用されるuidは999(ods) - > 998(systemd-bus-proxy) - > 997(polkitd) - > ... - > 993(saslauth)のようです。 。したがって、(将来的に)他の新しいサービスがこのスキームに従う場合、555を使用するとき(私にとって)リスクはほとんどないかもしれません。ちなみに、私以外のユーザーはすでにuid> = 1000を持っているので問題ありません。しかし、他のコンピュータ(Macを含む)では555を使用してきたので、今後はuid> = 1000を使用する方が良いかどうか疑問に思います。

答え1

まあ、その質問をしてくれて嬉しいですね。興味深い質問です。

ウィキペディアによると:

Linux Standard Base Core仕様は、0〜99の範囲のUID値をシステムによって静的に割り当てる必要があり、アプリケーションによって生成されるべきではなく、100〜499の範囲のUIDはシステム管理者が動的割り当てのために予約する必要があることを示していますしています。そしてインストール後のスクリプト。 [4]

FreeBSDでは、パッケージにUIDが必要なポーターは、50から999の範囲の無料UIDを選択して静的割り当てを登録できます。 [5][6]

一部のPOSIXシステムは500(OS X、Red Hat Enterprise Linux)から始まり、新しいユーザーにUIDを割り当て、他のシステム(openSUSE、Debian [7])は1000から始まります。多くの Linux システムでは、これらのスコープは useradd と同様のツールに対して /etc/login.defs で指定されています。

企業ネットワーク(LDAPやNFSサーバーなど)の中央UID割り当ては、クライアントコンピュータにローカルに割り当てられたUIDとの潜在的な競合を避けるために、1000よりはるかに大きいUID番号にのみ制限できます。 NFSv4は、プロトコルパケット内のユーザー(およびグループ)を識別するために整数の代わりに "user @ domain"という名前を使用して数値識別子の競合を防ぐのに役立ちますが、追加の変換ステップが必要です。

源泉:https://en.wikipedia.org/wiki/User_identifier

したがって、私が得たものは次のとおりです。
- 50未満〜99 ==システムアプリケーションとの衝突のリスクが高い
- 499未満=プログラムとの衝突の危険
- 1000未満=プログラムとの衝突のリスクが少ない -
ネットワークUIDシステムの場合は、数字だけを使用したい

最悪の場合、まだ私が理解しているように、他のプログラムのファイルやプロセスとのやり取りを可能にするプログラムやユーザーまたはグループがあるかもしれません。ほとんどの小規模サーバーではそうではありません。あまりありませんが、そうかもしれません。大規模なシステムでは、重大なセキュリティの脆弱性になります。

答え2

~からhttps://systemd.io/UIDS-GIDS/

ディストリビューションは通常、利用可能なUIDの範囲を2つの部分に分割します。

1… 999→システムユーザー。これらのユーザーは実際の「人」ユーザーにマップされませんが、システムデーモンのセキュリティIDとして使用され、権限を分離し、最小限の権限でシステムデーモンを実行できます。

1000… 65533と65536… 4294967294→他のすべて、つまり一般(人間)ユーザー。

...

両方の割り当て範囲に関する注意事項:UID割り当てが発生すると、NSSは最初に競合があることを確認し、エントリが見つかった場合は別のUIDを選択します。

関連情報