第三章:Linux系统管理(上)

Linux 属于多用户多任务的操作系统,可让不同的用户从本地登陆。在网络上则允许用户利
用 telnet、ssh 等方式从远程登陆。无论是从本机或远程登陆,用户都必须在该台主机上拥
有账号。
本章会介绍管理员与一般用户帐号以及用户组对系统的管理和操作。

第一部分 账号管理

一、系统管理员账号与一般用户账号的差别
Linux 中的账号主要分成两类:系统管理员账号与一般用户账号。系统管理员账号名称
为 root,具有对系统完全的控制权,可以对系统做任何设置及修改,当然也可以决定哪些
用户可以进入系统,并设置所有账号的权限。这两类账号的主要差别如下表:

系统管理员账户 一般用户账户
账号名称 root 申请时自定,但需要由root创建
主目录位置 /root 默认为"/home/账号名称"
对文件的权限 可读取、修改系统中所有文件及目录,并可修改所有文件 仅能读取、修改具有权限的文件及目录
执行命令的权限 可执行系统中所有命令 仅能执行具有权限的命令

二、创建用户账号
创建用户账号有许多种方法,可以一次创建一个账号,也可以一次建多个账号。
使用 useradd 命令创建账号
在 Red HatLinux 中执行 useradd 命令,可创建新的用户帐号:
[[email protected] root]# useradd benny ←创建 benny 账号
[[email protected] root]# passwd benny ←设置口令
Changing password for user benny
New password: ←输入口令
Retype new password ←再输入一次
Passwd:all authentication ←设置成功
在一个系统中,用户的账号名称必须是唯一的,假若要创建的账号先被他人占用,这会
出现用户已存在的信息:
[[email protected] root]# useradd benny
Useradd: user benny exists
[[email protected] root]# useradd lambert
Useradd: user lambert exists
要解决用户账号的管理问题,需要依靠系统管理员本身。一般说来有 3 种方法:

  • 管理员自己根据用户的账号来创建一份数据库,以后在新增用户之前,都可以利用数据
    库先查询账号存在与否。
  • 检查/etc 目录下的 passwd 文件,该文件内含本系统所有用户的账号,管理员可确认账
    号是否已经存在。
  • 执行 finger“账号”命令,查看该账号是否存在。

三、管理员账号
安装完 Linux 之后,系统默认即创建了 root 账号。此账号为系统管理员,对系统拥有
完全的控制权,可对系统做任何设置和修改,所以维护 root 账号的安全格外重要。

1.设置 root 账号的口令
在安装 Linux 过程中,即要求安装者为 root 账号设置口令。管理员可在日后更改甚至
取消口令。不过,除非整个 Linux 系统只有自己使用,否则强烈建议替 root 账号设置一个
不易被破译的口令。
在 x window 下面单击主菜单,执行“系统设置/根命令”命令,在图形界面下比较直观
与 Windows 大致雷同。
第三章:Linux系统管理(上)
图为:在图形界面下设置一般用户账号

拥有 root 账号的系统管理员除了设置口令之外,建议先替自己创建一个一般的用户的
账号,供日常操作使用,如此可避免因操作失误而影响整个系统。最好等到系统需要维护时,
再使用 root 账号登陆。

四,只允许 root 登陆的维护模式
如果希望这台计算机除了 root 账号之外,其他账号都不得登陆时,可在/ect 目录中执行
touch nologin 命令,产生一个文件名为 nologin 的文件,当其他用户要登陆时,系统只要发
现此文件存在,就会禁止他们登陆:
Red HatLinuxrelease 9 (Shrike)
Kernel 2.4.20-8 on an 686
free login benny ← 用 benny 账号登陆
Password: ← 输入正确的口令
Login incorrect ← 即使输入正确也会登陆失败
login ← 重新返回到登陆界面
这种状态通常用于管理员要维护系统时。若要再度恢复用户登陆,则只要将 nologin 文
件删除即可。

五,停用与删除用户账号
当用户毕业、离职、或逾期不缴费时,可以考虑停用或删除用户账号,以避免这些用户
继续登陆系统。

1,停用账号
将账号停用的意思是暂时不允许用户登陆系统,但仍然保留其数据。可编辑/ect/passwd
文件,要把停止使用的账号标注起来:
cassia: x:502: 502::/home/cassia:/bin/bash
#silent: x:600: 100::/home/silent/bin/bash ←在账号最前面加上“#”

2,删除账号
当确定用户已不再需要使用本系统,或列为拒绝来往用户时,可以考虑将该账号完全删
除。
使用 userdel 命令或编辑 passwd 与 shadow 文件
使用 userdel 命令可以很方便地将用户删除,范例如下:
[[email protected] root]# userdel –r silent
加上参数“-r”表示删除账号时,一并将该账号的用户的用户目录及邮件文件都删除。若
不加“-r”参数,则只会删除而保留该账号的相关目录。
当然也可编辑 passwd 和 shadow 文件,直接将账号删除,随后删除账号该账号的主目录
与邮件目录。
删除后台执行程序
为避免用户还有程序遗留在系统中,请执行下列命令检查后台执行的程序,并把在后台
中执行的程序删除:
[[email protected] root]# ps aux grep “silent”

3,删除计时器
此外还有一点相当重要,就是要将用户所设置的计时器去掉。在 Linux 系统中,用户可
以自行设置计时器,时间一到就自动执行某些命令。这些计时器所执行的命令,有的可能会
影响系统的安全与保密,因此必须特别注意用户所留下来的计时器。执行下列命令检查计时
器:
[[email protected] root]# crontab –u silent -1
当发现用户自行设置的计时器还在系统中时,直接执行 crontab –u silent –r 命令,便能
删除该用户的计时器文件。

六,创建组
创建组的方法和创建账号几乎相同,且过程更简单。可执行 groupadd 命令来创建组。
例如要创建 GID 编号 700、名称为 staff 的组:
[[email protected] root]# groupadd –g 700 staff ← 执行命令
[[email protected] root]# more/etc/group ← 查看结果

Lambert: x:501
Cassia: x:502
Staff: x:700 ← 加进来了
参数-g 用来指定组标识符,0~499 则留给系统使用。若省略此参数,系统会自动指定
GID,使用从编号 500 开始尚未用掉的号码。

七,删除组
当不在需要某一个组时,可执行 groupdel 命令删除组(再删除某个组前,要执行
find/-group 组名称命令,检查系统中隶属于该组的目录及文件,并利用 chown 命令改变其所
属组):
[[email protected] root]#groupdel staff

总结的不到位,请留言我修改或者一起探讨