![删除 debian 中除 root 之外的所有用户和组](https://linux22.com/image/80266/%E5%88%A0%E9%99%A4%20debian%20%E4%B8%AD%E9%99%A4%20root%20%E4%B9%8B%E5%A4%96%E7%9A%84%E6%89%80%E6%9C%89%E7%94%A8%E6%88%B7%E5%92%8C%E7%BB%84.png)
我想删除 Debian 上默认存在的所有用户,
但我想知道如果删除它们会发生什么......
我正在学习 Linux,所以我想清理除 root 之外的所有内容,并尝试使用用户、组、权限等
在这个系统上我只需要使用 apache、ssh、ftp
似乎运行cat /etc/passwd
它会按创建日期显示用户,如果是这样,初始安装后创建的最后一个默认用户是什么?
我也有www-data
用户。用户之后Debian-gdm
我有以下内容:
ammps
<-- 应该来自apt-get install ampps
mysql
<-- 应该来自apt-get install ampps
ftp
<-- 应该来自apt-get install ampps
sshd
<-- 应该来自apt-get install openssh
答案1
在每个类 Unix 系统上,/etc/passwd
都包含以下内容的混合体:特权(或者系统) 和普通的用户。大多数这些系统为前者保留开头的 0 到(某个数字)。在 Debian 上,普通用户从 1000 开始。
例如,以下是/etc/passwd
Debian 7 中的预定义部分:
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
messagebus:x:101:105::/var/run/dbus:/bin/false
colord:x:102:106:colord colour management daemon,,,:/var/lib/colord:/bin/false
usbmux:x:103:46:usbmux daemon,,,:/home/usbmux:/bin/false
Debian-exim:x:104:111::/var/spool/exim4:/bin/false
statd:x:105:65534::/var/lib/nfs:/bin/false
avahi:x:106:114:Avahi mDNS daemon,,,:/var/run/avahi-daemon:/bin/false
bind:x:107:115::/var/cache/bind:/bin/false
pulse:x:108:116:PulseAudio daemon,,,:/var/run/pulse:/bin/false
speech-dispatcher:x:109:29:Speech Dispatcher,,,:/var/run/speech-dispatcher:/bin/sh
sshd:x:110:65534::/var/run/sshd:/usr/sbin/nologin
rtkit:x:111:118:RealtimeKit,,,:/proc:/bin/false
saned:x:112:120::/home/saned:/bin/false
Debian-gdm:x:113:121:Gnome Display Manager:/var/lib/gdm3:/bin/false
包(例如apache2
)可以添加用户,例如www-data
。我通过这样做发现了这个
dpkg -l
并寻找apache
.
ps -ef
您可以通过使用列出进程以及运行的可执行文件的路径名来查看 apache 使用的进程。例如,我输入
ps -ef |grep apache
并查看(忽略显示“grep”命令的行):
root 2777 1 0 08:42 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 2924 2777 0 08:42 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 2925 2777 0 08:42 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 2926 2777 0 08:42 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 2929 2777 0 08:42 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 2932 2777 0 08:42 ? 00:00:00 /usr/sbin/apache2 -k start
第一列是来自 的用户名/etc/passwd
,右侧显示的路径名是那些正在运行的路径名,并且(根据 Debian 约定)将 apache 安装为“apache2”。其他软件包可能需要更多的工作来找到合适的程序列表来检查,但这ps
是查看哪些程序实际正在运行和正在使用的一个很好的起点。
通常,您不应简单地删除用户,因为这会导致文件所有权未知。首先删除安装该用户的软件包,然后用于find
查找可能剩余的文件。
如果您删除用户而不删除所有文件,然后执行ls -l
,您将只能看到所有权数字而不是名称。如果您创建一个新用户,它可能会使用这些数字,从而导致很多混乱。
www-data
位于预定义列表中,因为它经常被安装(并且它有助于从故障中恢复以具有已知的 uid 值)。某些其他系统可能会安装较少的预定义用户。
进一步阅读:
答案2
您可以删除任何不需要的用户帐户。如果您正在运行 apache 那么您可能不想删除 apache 用户。因此,如果您需要的任何服务未以该用户身份运行,您可以删除该用户。如果需要,您可以随时将它们添加回来。