Linux 零碎是一个多用户多任务的分时操作系统,任何一个要应用系统资源的用户,都必须首先向系统管理员申请一个账号,而后以这个账号的身份进入零碎。用户的账号一方面能够帮忙系统管理员对应用零碎的用户进行跟踪,并管制他们对系统资源的拜访;另一方面也能够帮忙用户组织文件,并为用户提供安全性爱护。每个用户账号都领有一个惟一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就可能进入零碎和本人的主目录。
实现用户账号的治理,要实现的工作次要有如下几个方面:
· 用户账号的增加、删除与批改。
· 用户口令的治理。
· 用户组的治理。
一、Linux 零碎用户账号的治理
用户账号的管理工作次要波及到用户账号的增加、批改和删除。
增加用户账号就是在零碎中创立一个新账号,而后为新账号调配用户号、用户组、主目录和登录 Shell 等资源。刚增加的账号是被锁定的,无奈应用。
1、增加新的用户账号应用 useradd 命令,其语法如下:
代码:
useradd 选项 用户名
其中各选项含意如下:
代码:
-c comment 指定一段正文性形容。
-d 目录 指定用户主目录,如果此目录不存在,则同时应用 - m 选项,能够创立主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell 文件 指定用户的登录 Shell。
-u 用户号 指定用户的用户号,如果同时有 - o 选项,则能够重复使用其余用户的标识号。
用户名 指定新账号的登录名。
2、例子阐明
例 1:
代码:
useradd –d /usr/sam -m sam
此命令创立了一个用户 sam,
其中 - d 和 - m 选项用来为登录名 sam 产生一个主目录 /usr/sam(/usr 为默认的用户主目录所在的父目录)。
例 2:
代码:
useradd -s /bin/sh -g group –G adm,root gem
此命令新建了一个用户 gem,该用户的登录 Shell 是 /bin/sh,它属于 group 用户组,同时又属于 adm 和 root 用户组,其中 group 用户组是其主组。
这里可能新建组:#groupadd group 及 groupadd adm
减少用户账号就是在 /etc/passwd 文件中为新用户减少一条记录,同时更新其余系统文件如 /etc/shadow, /etc/group 等。
Linux 提供了集成的系统管理工具 userconf,它能够用来对用户账号进行对立治理。
3、删除帐号
如果一个用户的账号不再应用,能够从零碎中删除。删除用户账号就是要将 /etc/passwd 等系统文件中的该用户记录删除,必要时还删除用户的主目录。删除一个已有的用户账号应用 userdel 命令,其格局如下:
代码:
userdel 选项 用户名
罕用的选项是 -r,它的作用是把用户的主目录一起删除。
例如:
代码:
userdel sam
此命令删除用户 sam 在系统文件中(次要是 /etc/passwd, /etc/shadow, /etc/group 等)的记录,同时删除用户的主目录。
4、批改帐号
批改用户账号就是依据理论状况更改用户的无关属性,如用户号、主目录、用户组、登录 Shell 等。
批改已有用户的信息应用 usermod 命令,其格局如下:
代码:
usermod 选项 用户名
罕用的选项包含 -c, -d, -m, -g, -G, -s, - u 以及 - o 等,这些选项的意义与 useradd 命令中的选项一样,能够为用户指定新的资源值。另外,有些零碎能够应用如下选项:
代码:
-l 新用户名
这个选项指定一个新的账号,行将原来的用户名改为新的用户名。
例如:
代码:
usermod -s /bin/ksh -d /home/z –g developer sam
此命令将用户 sam 的登录 Shell 批改为 ksh,主目录改为 /home/z,用户组改为 developer。
5、用户口令的治理
用户治理的一项重要内容是用户口令的治理。用户账号刚创立时没有口令,然而被零碎锁定,无奈应用,必须为其指定口令后才能够应用,即便是指定空口令。
指定和批改用户口令的 Shell 命令是 passwd。超级用户能够为本人和其余用户指定口令,普通用户只能用它批改本人的口令。命令的格局为:
代码:
passwd 选项 用户名
可应用的选项:
代码:
-l 锁定口令,即禁用账号。
-u 口令解锁。
-d 使账号无口令。
-f 强制用户下次登录时批改口令。
如果默认用户名,则批改以后用户的口令。
例如,假如以后用户是 sam,则上面的命令批改该用户本人的口令:
代码:
$ passwd
Old password:
New password:*
Re-enter new password:*
如果是超级用户,能够用下列模式指定任何用户的口令:
代码:
# passwd sam
New password:*
Re-enter new password:*
普通用户批改本人的口令时,passwd 命令会先询问原口令,验证后再要求用户输出两遍新口令,如果两次输出的口令统一,则将这个口令指定给用户;而超级用户为用户指定口令时,就不须要晓得原口令。
为了系统安全起见,用户应该抉择比较复杂的口令,例如最好应用 8 位长的口令,口令中蕴含有大写、小写字母和数字,并且应该与姓名、生日等不雷同。
为用户指定空口令时,执行下列模式的命令:
代码:
passwd -d sam
此命令将用户 sam 的口令删除,这样用户 sam 下一次登录时,零碎就不再询问口令。
passwd 命令还能够用 -l(lock)选项锁定某一用户,使其不能登录,例如:
代码:
passwd -l sam
二、Linux 零碎用户组的治理
每个用户都有一个用户组,零碎能够对一个用户组中的所有用户进行集中管理。不同 Linux 系统对用户组的规定有所不同,如 Linux 下的用户属于与它同名的用户组,这个用户组在创立用户时同时创立。
用户组的治理波及用户组的增加、删除和批改。组的减少、删除和批改实际上就是对 /etc/group 文件的更新。
1、减少一个新的用户组应用 groupadd 命令。其格局如下:
代码:
groupadd 选项 用户组
能够应用的选项有:
代码:
-g GID 指定新用户组的组标识号(GID)。
-o 个别与 - g 选项同时应用,示意新用户组的 GID 能够与零碎已有用户组的 GID 雷同。
例 1:
代码:
groupadd group1
此命令向零碎中减少了一个新组 group1,新组的组标识号是在以后已有的最大组标识号的根底上加 1。
例 2:
代码:
groupadd -g 101 group2
此命令向零碎中减少了一个新组 group2,同时指定新组的组标识号是 101。
2、如果要删除一个已有的用户组,应用 groupdel 命令,其格局如下:
代码:
groupdel 用户组
例如:
代码:
groupdel group1
此命令从零碎中删除组 group1。
3、批改用户组的属性应用 groupmod 命令。其语法如下:
代码:
groupmod 选项 用户组
罕用的选项有:
代码:
-g GID 为用户组指定新的组标识号。
-o 与 - g 选项同时应用,用户组的新 GID 能够与零碎已有用户组的 GID 雷同。
- n 新用户组 将用户组的名字改为新名字
例 1:
代码:
groupmod -g 102 group2
此命令将组 group2 的组标识号批改为 102。
例 2:
代码:
groupmod –g 10000 -n group3 group2
此命令将组 group2 的标识号改为 10000,组名批改为 group3。
4、如果一个用户同时属于多个用户组,那么用户能够在用户组之间切换,以便具备其余用户组的权限。用户能够在登录后,应用命令 newgrp 切换到其余用户组,这个命令的参数就是目标用户组。例如:
代码:
$ newgrp root
这条命令将以后用户切换到 root 用户组,前提条件是 root 用户组的确是该用户的主组或附加组。相似于用户账号的治理,用户组的治理也能够通过集成的系统管理工具来实现。
三、与用户账号无关的系统文件
实现用户治理的工作有许多种办法,然而每一种办法实际上都是对无关的系统文件进行批改。与用户和用户组相干的信息都寄存在一些系统文件中,这些文件包含 /etc/passwd, /etc/shadow, /etc/group 等。上面别离介绍这些文件的内容。
1、/etc/passwd 文件是用户管理工作波及的最重要的一个文件。Linux 零碎中的每个用户都在 /etc/passwd 文件中有一个对应的记录行,它记录了这个用户的一些根本属性。这个文件对所有用户都是可读的。它的内容相似上面的例子:
代码:
# cat /etc/passwd
root0:0:Superuser:/:
daemon1:1:System daemons:/etc:
bin2:2:Owner of system commands:/bin:
sys3:3:Owner of system files:/usr/sys:
adm4:4:System accounting:/usr/adm:
uucp5:5:UUCP administrator:/usr/lib/uucp:
auth7:21:Authentication administrator:/tcb/files/auth:
cron9:16:Cron daemon:/usr/spool/cron:
listen37:4:Network daemon:/usr/net/nls:
lp71:18:Printer administrator:/usr/spool/lp:
sam200:50:Sam san:/usr/sam:/bin/sh
从下面的例子咱们能够看到,/etc/passwd 中一行记录对应着一个用户,每行记录又被冒号(分隔为 7 个字段,其格局和具体含意如下:
代码:
用户名: 口令: 用户标识号: 组标识号: 正文性形容: 主目录: 登录 Shell
1)“用户名”是代表用户账号的字符串。通常长度不超过 8 个字符,并且由大小写字母和 / 或数字组成。登录名中不能有冒号 (,因为冒号在这里是分隔符。为了兼容起见,登录名中最好不要蕴含点字符(.),并且不应用连字符(-) 和加号 (+) 打头。
2)“口令”一些零碎中,寄存着加密后的用户口令字。。尽管这个字段寄存的只是用户口令的加密串,不是明文,然而因为 /etc/passwd 文件对所有用户都可读,所以这仍是一个安全隐患。因而,当初许多 Linux 零碎(如 SVR4)都应用了 shadow 技术,把真正的加密后的用户口令字寄存到 /etc/shadow 文件中,而在 /etc/passwd 文件的口令字段中只寄存一个非凡的字符,例如“x”或者“*”。
3)“用户标识号”是一个整数,零碎外部用它来标识用户。个别状况下它与用户名是一一对应的。如果几个用户名对应的用户标识号是一样的,零碎外部将把它们视为同一个用户,然而它们能够有不同的口令、不同的主目录以及不同的登录 Shell 等。
通常用户标识号的取值范畴是 0~65 535。0 是超级用户 root 的标识号,1~99 由零碎保留,作为治理账号,普通用户的标识号从 100 开始。在 Linux 零碎中,这个界线是 500。
4)“组标识号”字段记录的是用户所属的用户组。它对应着 /etc/group 文件中的一条记录。
5)“正文性形容”字段记录着用户的一些集体状况,例如用户的实在姓名、电话、地址等,这个字段并没有什么理论的用处。在不同的 Linux 零碎中,这个字段的格局并没有对立。在许多 Linux 零碎中,这个字段寄存的是一段任意的正文性形容文字,用做 finger 命令的输入。
6)“主目录”,也就是用户的起始工作目录,它是用户在登录到零碎之后所处的目录。在大多数零碎中,各用户的主目录都被组织在同一个特定的目录下,而用户主目录的名称就是该用户的登录名。各用户对本人的主目录有读、写、执行(搜寻)权限,其余用户对此目录的拜访权限则依据具体情况设置。
7)用户登录后,要启动一个过程,负责将用户的操作传给内核,这个过程是用户登录到零碎后运行的命令解释器或某个特定的程序,即 Shell。Shell 是用户与 Linux 零碎之间的接口。Linux 的 Shell 有许多种,每种都有不同的特点。罕用的有 sh(Bourne Shell), csh(C Shell), ksh(Korn Shell), tcsh(TENEX/TOPS-20 type C Shell), bash(Bourne Again Shell)等。系统管理员能够依据零碎状况和用户习惯为用户指定某个 Shell。如果不指定 Shell,那么零碎应用 sh 为默认的登录 Shell,即这个字段的值为 /bin/sh。
用户的登录 Shell 也能够指定为某个特定的程序(此程序不是一个命令解释器)。利用这一特点,咱们能够限度用户只能运行指定的应用程序,在该利用程序运行完结后,用户就主动退出了零碎。有些 Linux 零碎要求只有那些在零碎中注销了的程序能力呈现在这个字段中。
零碎中有一类用户称为伪用户(psuedo users),这些用户在 /etc/passwd 文件中也占有一条记录,然而不能登录,因为它们的登录 Shell 为空。它们的存在次要是不便系统管理,满足相应的零碎过程对文件属主的要求。常见的伪用户如下所示。
代码:
伪 用 户 含 义
bin 领有可执行的用户命令文件
sys 领有系统文件
adm 领有帐户文件
uucp UUCP 应用
lp lp 或 lpd 子系统应用
nobody NFS 应用
领有帐户文件
除了下面列出的伪用户外,还有许多规范的伪用户,例如:audit, cron, mail, usenet 等,它们也都各自为相干的过程和文件所须要。
因为 /etc/passwd 文件是所有用户都可读的,如果用户的明码太简略或法则比拟显著的话,一台一般的计算机就可能很容易地将它破解,因而对安全性要求较高的 Linux 零碎都把加密后的口令字分离出来,独自寄存在一个文件中,这个文件是 /etc/shadow 文件。只有超级用户才领有该文件读权限,这就保障了用户明码的安全性。
2、/etc/shadow 中的记录行与 /etc/passwd 中的一一对应,它由 pwconv 命令依据 /etc/passwd 中的数据主动产生。它的文件格式与 /etc/passwd 相似,由若干个字段组成,字段之间用“:”隔开。这些字段是:
代码:
登录名: 加密口令: 最初一次批改工夫: 最小工夫距离: 最大工夫距离: 正告工夫: 不流动工夫: 生效工夫: 标记
1)“登录名”是与 /etc/passwd 文件中的登录名相一致的用户账号
2)“口令”字段寄存的是加密后的用户口令字,长度为 13 个字符。如果为空,则对应用户没有口令,登录时不须要口令;如果含有不属于汇合 {./0-9A-Za-z} 中的字符,则对应的用户不能登录。
3)“最初一次批改工夫”示意的是从某个时刻起,到用户最初一次批改口令时的天数。工夫终点对不同的零碎可能不一样。例如在 SCO Linux 中,这个工夫终点是 1970 年 1 月 1 日。
4)“最小工夫距离”指的是两次批改口令之间所需的最小天数。
5)“最大工夫距离”指的是口令放弃无效的最大天数。
6)“正告工夫”字段示意的是从零碎开始正告用户到用户明码正式生效之间的天数。
7)“不流动工夫”示意的是用户没有登录流动但账号仍能放弃无效的最大天数。
8)“生效工夫”字段给出的是一个相对的天数,如果应用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个非法的账号,也就不能再用来登录了。
上面是 /etc/shadow 的一个例子:
代码:
# cat /etc/shadow
root:Dnakfw28zf38w:8764:0:168:7:::
daemon:*::0:0::::
bin:*::0:0::::
sys:*::0:0::::
adm:*::0:0::::
uucp:*::0:0::::
nuucp:*::0:0::::
auth:*::0:0::::
cron:*::0:0::::
listen:*::0:0::::
lp:*::0:0::::
sam:EkdiSECLWPdSa:9740:0:0::::
3、用户组的所有信息都寄存在 /etc/group 文件中。
将用户分组是 Linux 零碎中对用户进行治理及管制拜访权限的一种伎俩。每个用户都属于某个用户组;一个组中能够有多个用户,一个用户也能够属于不同的组。当一个用户同时是多个组中的成员时,在 /etc/passwd 文件中记录的是用户所属的主组,也就是登录时所属的默认组,而其余组称为附加组。用户要拜访属于附加组的文件时,必须首先应用 newgrp 命令使本人成为所要拜访的组中的成员。用户组的所有信息都寄存在 /etc/group 文件中。此文件的格局也相似于 /etc/passwd 文件,由冒号(隔开若干个字段,这些字段有:
代码:
组名: 口令: 组标识号: 组内用户列表
1)“组名”是用户组的名称,由字母或数字形成。与 /etc/passwd 中的登录名一样,组名不应反复。
2)“口令”字段寄存的是用户组加密后的口令字。个别 Linux 零碎的用户组都没有口令,即这个字段个别为空,或者是 *。
3)“组标识号”与用户标识号相似,也是一个整数,被零碎外部用来标识组。
4)“组内用户列表”是属于这个组的所有用户的列表 /b],不同用户之间用逗号 (,) 分隔。这个用户组可能是用户的主组,也可能是附加组。
/etc/group 文件的一个例子如下:
# cat /etc/group
代码:
root::0:root
bin::2:root,bin
sys::3:root,uucp
adm::4:root,adm
daemon::5:root,daemon
lp::7:root,lp
users::20:root,sam
四、增加量用户批
增加和删除用户对每位 Linux 系统管理员都是轻而易举的事,比拟辣手的是如果要增加几十个、上百个甚至上千个用户时,咱们不太可能还应用 useradd 一个一个地增加,必然要找一种简便的创立大量用户的办法。Linux 零碎提供了创立大量用户的工具,能够让您立刻创立大量用户,办法如下:
(1)先编辑一个文本用户文件,每一列依照 /etc/passwd 密码文件的格局书写,要留神每个用户的用户名、UID、宿主目录都不能够雷同,其中明码栏能够留做空白或输出 x 号。一个范例文件 user.txt 内容如下:
代码:
user001::600:100:user:/home/user001:/bin/bash
user002::601:100:user:/home/user002:/bin/bash
user003::602:100:user:/home/user003:/bin/bash
user004::603:100:user:/home/user004:/bin/bash
user005::604:100:user:/home/user005:/bin/bash
user006::605:100:user:/home/user006:/bin/bash
(2)以 root 身份执行命令 /usr/sbin/newusers,从刚创立的用户文件 user.txt 中导入数据,创立用户:
代码:
newusers < user.txt
而后能够执行命令 vipw 或 vi /etc/passwd 查看 /etc/passwd 文件是否曾经呈现这些用户的数据,并且用户的宿主目录是否曾经创立。
(3)执行命令 /usr/sbin/pwunconv,将 /etc/shadow 产生的 shadow 明码解码,而后回写到 /etc/passwd 中,并将 /etc/shadow 的 shadow 明码栏删掉。这是为了不便下一步的明码转换工作,即先勾销 shadow password 性能。
代码:
pwunconv
(4)编辑每个用户的明码对照文件,范例文件 passwd.txt 内容如下:
代码:
user001: 明码
user002: 明码
user003: 明码
user004: 明码
user005: 明码
user006: 明码
(5)以 root 身份执行命令 /usr/sbin/chpasswd,创立用户明码,chpasswd 会将通过 /usr/bin/passwd 命令编码过的明码写入 /etc/passwd 的明码栏。
代码:
chpasswd < passwd.txt
(6)确定明码经编码写入 /etc/passwd 的明码栏后,执行命令 /usr/sbin/pwconv 将明码编码为 shadow password,并将后果写入 /etc/shadow。
代码:
pwconv
这样就实现了大量用户的创立了,之后您能够到 /home 下查看这些用户宿主目录的权限设置是否都正确,并登录验证用户明码是否正确。
五、赋予普通用户非凡权限
在 Linux 零碎中,管理员往往不止一人,若每位管理员都用 root 身份进行管理工作,根本无法弄清楚谁该做什么。所以最好的形式是:管理员创立一些普通用户,调配一部分系统管理工作给他们。
咱们不能够应用 su 让他们间接变成 root,因为这些用户都必须晓得 root 的明码,这种办法很不平安,而且也不合乎咱们的分工需要。个别的做法是利用权限的设置,依工作性质分类,让非凡身份的用户成为同一个工作组,并设置工作组权限。例如:要 wwwadm 这位用户负责管理网站数据,个别 Apache Web Server 的过程 httpd 的所有者是 www,您能够设置用户 wwwadm 与 www 为同一工作组,并设置 Apache 默认寄存网页目录 /usr/local/httpd/htdocs 的工作组权限为可读、可写、可执行,这样属于此工作组的每位用户就能够进行网页的治理了。
但这并不是最好的解决办法,例如管理员想授予一个普通用户关机的权限,这时应用上述的方法就不是很现实。这时您兴许会想,我只让这个用户能够以 root 身份执行 shutdown 命令就行了。齐全没错,惋惜在通常的 Linux 零碎中无奈实现这一性能,不过曾经有了工具能够实现这样的性能——sudo。
sudo 通过保护一个特权到用户名映射的数据库将特权调配给不同的用户,这些特权可由数据库中所列的一些不同的命令来辨认。为了取得某一特权项,有资格的用户只需简略地在命令行输出 sudo 与命令名之后,依照提醒再次输出口令(用户本人的口令,不是 root 用户口令)。例如,sudo 容许普通用户格式化磁盘,然而却没有赋予其余的 root 用户特权。
1、sudo 工具由文件 /etc/sudoers 进行配置,该文件蕴含所有能够拜访 sudo 工具的用户列表并定义了他们的特权。一个典型的 /etc/sudoers 条目如下:
代码:
liming ALL=(ALL) ALL
这个条目使得用户 liming 作为超级用户拜访所有应用程序,如用户 liming 须要作为超级用户运行命令,他只需简略地在命令前加上前缀 sudo。因而,要以 root 用户的身份执行命令 format,liming 能够输出如下命令:
代码:
sudo /usr/sbin/useradd sam
留神:命令要写绝对路径,/usr/sbin 默认不在普通用户的搜寻门路中,或者退出此门路:PATH=$PATH:/usr/sbin;export PATH。另外,不同系统命令的门路不尽相同,能够应用命令“whereis 命令名”来查找其门路。
这时会显示上面的输入后果:
代码:
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these two things:
#1) Respect the privacy of others.
#2) Think before you type.
Password:
如果 liming 正确地输出了口令,命令 useradd 将会以 root 用户身份执行。
留神:配置文件 /etc/sudoers 必须应用命令 Visudo 来编辑。
只有把相应的用户名、主机名和许可的命令列表以规范的格局退出到文件 /etc/sudoers,并保留就能够失效,再看一个例子。
2、例子:管理员须要容许 gem 用户在主机 sun 上执行 reboot 和 shutdown 命令,在 /etc/sudoers 中退出:
代码:
gem sun=/usr/sbin/reboot,/usr/sbin/shutdown
留神:命令肯定要应用绝对路径,以防止其余目录的同名命令被执行,从而造成安全隐患。
而后保留退出,gem 用户想执行 reboot 命令时,只有在提示符下运行下列命令:
代码:
$ sudo /usr/sbin/reboot
输出正确的明码,就能够重启服务器了。
如果您想对一组用户进行定义,能够在组名前加上 %,对其进行设置,如:
代码:
%cuug ALL=(ALL) ALL
3、另外,还能够利用别名来简化配置文件。别名相似组的概念,有用户别名、主机别名和命令别名。多个用户能够首先用一个别名来定义,而后在规定他们能够执行什么命令的时候应用别名就能够了,这个配置对所有用户都失效。主机别名和命令别名也是如此。留神应用前先要在 /etc/sudoers 中定义:User_Alias, Host_Alias, Cmnd_Alias 项,在其前面退出相应的名称,也以逗号分隔开就能够了,举例如下:
代码:
Host_Alias SERVER=no1
User_Alias ADMINS=liming,gem
Cmnd_Alias SHUTDOWN=/usr/sbin/halt,/usr/sbin/shutdown,/usr/sbin/reboot
ADMINS SERVER=SHUTDOWN
4、再看这个例子:
代码:
ADMINS ALL=(ALL) NOPASSWD: ALL
示意容许 ADMINS 不必口令执行所有操作,其中“NOPASSWD:”项定义了用户执行操作时不须要输出口令。
5、sudo 命令还能够加上一些参数,实现一些辅助的性能,如
代码:
$ sudo –l
会显示出相似这样的信息:
代码:
User liming may run the following commands on this host:
(root) /usr/sbin/reboot
阐明 root 容许用户 liming 执行 /usr/sbin/reboot 命令。这个参数能够使用户查看本人目前能够在 sudo 中执行哪些命令。
6、在命令提示符下键入 sudo 命令会列出所有参数,其余一些参数如下:
代码:
-V 显示版本编号。
-h 显示 sudo 命令的应用参数。
-v 因为 sudo 在第一次执行时或是在 N 分钟内没有执行(N 预设为 5)会询问明码。这个参数是从新做一次确认,如果超过 N 分钟,也会问明码。
-k 将会强制使用者在下一次执行 sudo 时询问明码(不管有没有超过 N 分钟)。
-b 将要执行的命令放在背景执行。
-p prompt 能够更改问明码的提醒语,其中 %u 会替换为使用者的账号名称,%h 会显示主机名称。
-u username/#uid 不加此参数,代表要以 root 的身份执行命令,而加了此参数,能够以 username 的身份执行命令(#uid 为该 username 的 UID)。
-s 执行环境变量中的 SHELL 所指定的 Shell,或是 /etc/passwd 里所指定的 Shell。
-H 将环境变量中的 HOME(宿主目录)指定为要变更身份的使用者的宿主目录。(如不加 - u 参数就是零碎管理者 root。)
参考链接:
3 ways to check user id in Linux