Linux的多人多工命令如表2-4所示。
表2-4 Linux的多人多工命令说明
常用命令 |
简要中文说明 |
程序所在目录 |
备 注 |
adduser |
增加用户 (useradd亦可) |
/usr/sbin |
限系统 管理者 |
passwd |
更改自己或别人的密码 |
/usr/bin |
|
chfn |
更改用户的资料 |
/usr/bin |
|
chsh |
更改用户所用的Shell 程序 |
/usr/bin |
|
chmod |
更改文件或目录的使用权限 |
/bin |
|
chown |
更改文件或目录的所有者 |
/bin |
|
chgrp |
更改文件或目录的所属的用户组 |
/bin |
|
su |
使自己暂时变成超级用户root |
/bin |
|
sudo |
暂时以超级用户root身份执行 |
/usr/bin |
|
uname |
显示目前的版本等系统信息 |
/bin |
|
who |
显示目前有哪些人在使用 |
/usr/bin |
|
whoami |
显示目前自己是谁 |
/usr/bin |
|
ps |
显示目前有哪些进程在执行 |
/bin |
|
kill |
中断一个处理进程(process) |
/bin |
|
adduser [新用户名称]
增加用户
一个人能不能使用这套UNIX系统,就取决于超级用户要不要用这个命令“赐”给他一个账号了。
例如,您(您是超级用户才行)想为 tommy 先生设立一个账号,那么就这样下达:
adduser tommy
它会自动帮您在 /home 处产生一个目录来置放他自己的文件,这个目录就叫做用户主目录(Home Directory)。例如,这位先生叫做 tommy ,那么他的用户主目录就在 /home/tommy,其他人的也如此。(注:只有超级用户的主目录不一样,他是在 /root中。)
但是在Slackware 版本中有一点小差别,adduser 命令却是一个Script脚本(脚本类似DOS的批处理文件)。它的用户名称是执行完 adduser这个命令后再回答的。
咦,怎么没有设置密码的动作?
密码是要另外再用 passwd 这个命令设置的。
无论adduser是程序文件或者脚本,我们不用太在意。但是它们同样都会去改变 /etc 目录中的passwd设置文件的内容。每增加一个用户,passwd里面就会多增加一行。如图2-16所示。
图2-16 passwd文件的内容 |
资料安排是:用户名称、密码(为什么只有一个x,在下一个 passwd命令会说明),用户编号(惟一的,不可重复)、用户组编号(目前系统给每人各自一个用户组编号)、用户全名(目前空着,在两个冒号之间)、用户主目录所在、用户选用的命令解释器(Shell)。
练习:
(1)请用 adduser 增设3个用户之后,再去观察 /etc 中的passwd文件。
(2)系统能允许增设tommy和Tommy这样两个用户吗?
passwd [用户名称]
更改自己或别人的密码
passwd 命令可以更改自己的密码,也可以更改别人的密码。如果后面没有接用户名称的话,它就是更改自己的密码:
passwd
如果接着一个用户名称的话,就是为这个用户设置或更改密码。当然,这个用户名称必须是已经用 adduser 命令增加过的名称才可以。不然密码文件里根本没有这行资料。(每个用户的密码资料文件,并不是在执行这个 passwd 命令时才有的,而是在执行 adduser 时就已经准备好了空白的,执行 passwd 只是把它再填进去而已。)
passwd tommy
前面提到,设置后的密码会存在 /etc 中的passwd文件中。那么如果我们把这个文件拿来读取,会不会看到别人的密码呢?可以看到,但是它已经经过“加密程序”处理,变成一堆不相干的字母和数字了。如图2-17所示。
图2-17 经加密处理的密码 |
但是为了防范有心人士仍然对这些加密过的密码努力研究,近来最新的 Linux 系统又更进一步,把这堆加密过的密码再移到另外一个 /etc/shadow 中,而原来的 /etc/passwd 文件放置密码的地方,只留一个x字节。这就是在图2-16中看到的情况。
而 /etc/shadow里只有超级用户有读取的权限,其他人想要看到加密过的密码都免谈。这就叫做最新的Shadow password功能,您在系统的安装过程中可能会看到。
练习:
(1)如果您设置的密码是1234567,会怎么样?
(2)您添加两个用户,然后对它们分别设置一样的密码,然后到 /etc 里去看 /shadow 文件的内容,两个人加密后的码是一样的吗?