posts - 4,  comments - 0,  trackbacks - 0


passwd

1. 作用
passwd
命令原来修改账户的登陆密码,使用权限是所有用户。

2. 格式
passwd [
选项 ] 账户名称

3. 主要参数
-l
:锁定已经命名的账户名称,只有具备超级用户权限的使用者方可使用。
-u
:解开账户锁定状态,只有具备超级用户权限的使用者方可使用。
-x, --maximum=DAYS
:最大密码使用时间(天),只有具备超级用户权限的使用者方可使用。
-n, --minimum=DAYS
:最小密码使用时间(天),只有具备超级用户权限的使用者方可使用。
-d
:删除使用者的密码 , 只有具备超级用户权限的使用者方可使用。
-S
:检查指定使用者的密码认证种类 , 只有具备超级用户权限的使用者方可使用。

4. 应用实例

$ passwd
Changing password for user cao.
Changing password for cao
(current) UNIX password:
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

从上面可以看到,使用 passwd 命令需要输入旧的密码,然后再输入两次新密码。

su

1. 作用
su
的作用是变更为其它使用者的身份,超级用户除外,需要键入该使用者的密码。

2. 格式
su [
选项 ]... [-] [USER [ARG]...]

3. 主要参数
-f
--fast :不必读启动文件(如 csh.cshrc 等),仅用于 csh tcsh 两种 Shell
-l
--login :加了这个参数之后,就好像是重新登陆为该使用者一样,大部分环境变量(例如 HOME SHELL USER 等)都是以该使用者( USER )为主,并且工作目录也会改变。如果没有指定 USER ,缺省情况是 root
-m
-p --preserve-environment :执行 su 时不改变环境变数。
-c command
:变更账号为 USER 的使用者,并执行指令( command )后再变回原来使用者。
USER
:欲变更的使用者账号, ARG 传入新的 Shell 参数。

4. 应用实例
变更账号为超级用户,并在执行 df 命令后还原使用者。 su -c df root

umask

1. 作用
umask
设置用户文件和目录的文件创建缺省屏蔽值,若将此命令放入 profile 文件,就可控制该用户后续所建文件的存取许可。它告诉系统在创建文件时不给谁存取许可。使用权限是所有用户。

2. 格式
umask [-p] [-S] [mode]

3. 参数
S :确定当前的 umask 设置。
p :修改 umask 设置。
[mode]
:修改数值。

4. 说明
传统 Unix umask 值是 022 ,这样就可以防止同属于该组的其它用户及别的组的用户修改该用户的文件。既然每个用户都拥有并属于一个自己的私有组,那么这种 组保护模式 就不在需要了。严密的权限设定构成了 Linux 安全的基础,在权限上犯错误是致命的。需要注意的是, umask 命令用来设置进程所创建的文件的读写权限,最保险的值是 0077 ,即关闭创建文件的进程以外的所有进程的读写权限,表示为 -rw------- 。在~ /.bash_profile 中,加上一行命令 umask 0077 可以保证每次启动 Shell , 进程的 umask 权限都可以被正确设定。

5. 应用实例

umask -S
u=rwx,g=rx,o=rx
umask -p 177
umask -S
u=rw,g=,o=

上述 5 行命令,首先显示当前状态,然后把 umask 值改为 177 ,结果只有文件所有者具有读写文件的权限,其它用户不能访问该文件。这显然是一种非常安全的设置。

chgrp

1. 作用
chgrp
表示修改一个或多个文件或目录所属的组。使用权限是超级用户。

2. 格式
chgrp [
选项 ]... 文件 ...

chgrp [
选项 ]... --reference= 参考文件 文件 ...

将每个 < 文件 > 的所属组设定为 < >

3. 参数
-c, --changes
:像 --verbose ,但只在有更改时才显示结果。
--dereference
:会影响符号链接所指示的对象,而非符号链接本身。
-h, --no-dereference
:会影响符号链接本身,而非符号链接所指示的目的地 ( 当系统支持更改符号链接的所有者,此选项才有效 )
-f, --silent, --quiet
:去除大部分的错误信息。
--reference=
参考文件:使用 < 参考文件 > 的所属组,而非指定的 < >
-R, --recursive
:递归处理所有的文件及子目录。
-v, --verbose
:处理任何文件都会显示信息。

4. 应用说明
该命令改变指定指定文件所属的用户组。其中 group 可以是用户组 ID ,也可以是 /etc/group 文件中用户组的组名。文件名是以空格分开的要改变属组的文件列表,支持通配符。如果用户不是该文件的属主或超级用户,则不能改变该文件的组。

5. 应用实例
改变 /opt/local /book/ 及其子目录下的所有文件的属组为 book ,命令如下:
$ chgrp - R book /opt/local /book

chmod

1. 作用
chmod
命令用于改变文件或目录的访问权限,用户可以用它控制文件或目录的访问权限,使用权限是超级用户。

2. 格式
chmod
命令有两种用法。一种是包含字母和操作符表达式的字符设定法(相对权限设定);另一种是包含数字的数字设定法(绝对权限设定)。

1 )字符设定法
chmod [who] [+ | - | =] [mode]
文件名

◆操作对象 who 可以是下述字母中的任一个或它们的组合
u
:表示用户,即文件或目录的所有者。
g
:表示同组用户,即与文件属主有相同组 ID 的所有用户。
o
:表示其它用户。
a
:表示所有用户,它是系统默认值。

◆操作符号
+
:添加某个权限。
-
:取消某个权限。
=
:赋予给定权限,并取消其它所有权限(如果有的话)。

◆设置 mode 的权限可用下述字母的任意组合
r
:可读。
w
:可写。
x
:可执行。
X
:只有目标文件对某些用户是可执行的或该目标文件是目录时才追加 x 属性。
s
:文件执行时把进程的属主或组 ID 置为该文件的文件属主。方式 “u s” 设置文件的用户 ID 位, “g s” 设置组 ID 位。
t
:保存程序的文本到交换设备上。
u
:与文件属主拥有一样的权限。
g
:与和文件属主同组的用户拥有一样的权限。
o
:与其它用户拥有一样的权限。
文件名:以空格分开的要改变权限的文件列表,支持通配符。
一个命令行中可以给出多个权限方式,其间用逗号隔开。

2 数字设定法
数字设定法的一般形式为: chmod [mode] 文件名

数字属性的格式应为 3 0 7 的八进制数,其顺序是 (u)(g)(o) 文件名,以空格分开的要改变权限的文件列表,支持通配符。

数字表示的权限的含义如下: 0001 为所有者的执行权限; 0002 为所有者的写权限; 0004 为所有者的读权限; 0010 为组的执行权限; 0020 为组的写权限; 0040 为组的读权限; 0100 为其他人的执行权限; 0200 为其他人的写权限; 0400 为其他人的读权限; 1000 为粘贴位置位; 2000 表示假如这个文件是可执行文件,则为组 ID 为位置位,否则其中文件锁定位置位; 4000 表示假如这个文件是可执行文件,则为用户 ID 为位置位。

3. 实例
如果一个系统管理员写了一个表格 (tem) 让所有用户填写,那么必须授权用户对这个文件有读写权限,可以使用命令:# chmod 666 tem

上面代码中,这个 666 数字是如何计算出来的呢? 0002 为所有者的写权限, 0004 为所有者的读权限, 0020 为组的写权限, 0040 为组的读权限, 0200 为其他人的写权限, 0400 为其他人的读权限,这 6 个数字相加就是 666 (注以上数字都是八进制数)。

如果用字符权限设定使用下面命令:
chmod a =wx tem
chown

1. 作用
更改一个或多个文件或目录的属主和属组。使用权限是超级用户。

2. 格式
chown [
选项 ] 用户或组 文件

3. 主要参数
--dereference
:受影响的是符号链接所指示的对象,而非符号链接本身。
-h, --no-dereference
:会影响符号链接本身,而非符号链接所指示的目的地 ( 当系统支持更改符号链接的所有者,此选项才有效 )
--from=
目前所有者 : 目前组只当每个文件的所有者和组符合选项所指定的,才会更改所有者和组。其中一个可以省略,这已省略的属性就不需要符合原有的属性。
-f, --silent, --quiet
:去除大部分的错误信息。
-R, --recursive
:递归处理所有的文件及子目录。
-v, --verbose
:处理任何文件都会显示信息。

4. 说明
chown
将指定文件的拥有者改为指定的用户或组,用户可以是用户名或用户 ID ;组可以是组名或组 ID ;文件是以空格分开的要改变权限的文件列表,支持通配符。系统管理员经常使用 chown 命令,在将文件拷贝到另一个用户的目录下以后,让用户拥有使用该文件的权限。

5. 应用实例
1.
把文件 shiyan.c 的所有者改为 wan
$ chown wan shiyan.c

2. 把目录 /hi 及其下的所有文件和子目录的属主改成 wan ,属组改成 users
$ chown - R wan.users /hi

chattr

1. 作用
修改 ext2 ext3 文件系统属性 (attribute) ,使用权限超级用户。

2. 格式
chattr [-RV] [-+=AacDdijsSu] [-v version]
文件或目录

3. 主要参数
R :递归处理所有的文件及子目录。
V :详细显示修改内容,并打印输出。
-:失效属性。
+:激活属性。
=
:指定属性。
A
Atime ,告诉系统不要修改对这个文件的最后访问时间。
S
Sync ,一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘。
a
Append Only ,系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件。
i
Immutable ,系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件。
D
:检查压缩文件中的错误。
d
No dump ,在进行文件系统备份时, dump 程序将忽略这个文件。
C
Compress ,系统以透明的方式压缩这个文件。从这个文件读取时,返回的是解压之后的数据;而向这个文件中写入数据时,数据首先被压缩之后才写入磁盘。
s
Secure Delete ,让系统在删除这个文件时,使用 0 填充文件所在的区域。
u
Undelete ,当一个应用程序请求删除这个文件,系统会保留其数据块以便以后能够恢复删除这个文件。

4. 说明
chattr
命令的作用很大,其中一些功能是由 Linux 内核版本来支持的,如果 Linux 内核版本低于 2.2 ,那么许多功能不能实现。同样- D 检查压缩文件中的错误的功能,需要 2.5.19 以上内核才能支持。另外,通过 chattr 命令修改属性能够提高系统的安全性,但是它并不适合所有的目录。 chattr 命令不能保护 / /dev /tmp /var 目录。

5. 应用实例
1.
恢复 /root 目录 , 即子目录的所有文件
# chattr -R +u/root

2. chattr 命令防止系统中某个关键文件被修改
Linux 下,有些配置文件 (passwd ,fatab) 是不允许任何人修改的,为了防止被误删除或修改,可以设定该文件的 不可修改位 (immutable)” ,命令如下:
# chattr +i /etc/fstab

sudo

1. 作用
sudo
是一种以限制配置文件中的命令为基础,在有限时间内给用户使用,并且记录到日志中的命令,权限是所有用户。

2. 格式

sudo [-bhHpV] [-s <shell>] [-u < 用户 >] [ 指令 ]
sudo [-klv]

3. 主要参数

-b :在后台执行命令。
-h
:显示帮助。
-H
:将 HOME 环境变量设为新身份的 HOME 环境变量。
-k
:结束密码的有效期,即下次将需要输入密码。
-l
:列出当前用户可以使用的命令。
-p
:改变询问密码的提示符号。
-s <shell>
:执行指定的 Shell
-u <
用户 > :以指定的用户为新身份,不使用时默认为 root
-v
:延长密码有效期 5 分钟。

4. 说明
sudo
命令的配置在 /etc/sudoers 文件中。当用户使用 sudo 时,需要输入口令以验证使用者身份。随后的一段时间内可以使用定义好的命令,当使用配置文件中没有的命令时,将会有报警的记录。 sudo 是系统管理员用来允许某些用户以 root 身份运行部分 / 全部系统命令的程序。一个明显的用途是增强了站点的安全性,如果需要每天以超级用户的身份做一些日常工作,经常执行一些固定的几个只有超级用户身份才能执行的命令,那么用 sudo 是非常适合的。

ps

1. 作用
ps
显示瞬间进程 (process) 的动态,使用权限是所有使用者。

2. 格式
ps [options] [--help]

3. 主要参数
ps
的参数非常多 , 此出仅列出几个常用的参数。

-A :列出所有的进程。
-l
:显示长列表。
-m
:显示内存信息。
-w
:显示加宽可以显示较多的信息。
-e
:显示所有进程。
a
:显示终端上的所有进程 , 包括其它用户的进程。
-au
:显示较详细的信息。
-aux
:显示所有包含其它使用者的进程。

4. 说明
要对进程进行监测和控制,首先要了解当前进程的情况,也就是需要查看当前进程。

ps 命令就是最基本、也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行、运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等。

USER 表示进程拥有者; PID 表示进程标示符; %CPU 表示占用的 CPU 使用率; %MEM 占用的物理内存使用率; VSZ 表示占用的虚拟内存大小; RSS 为进程占用的物理内存值; TTY 为终端的次要装置号码。

STAT 表示进程的状态,其中 D 为不可中断的静止( I/O 动作); R 正在执行中; S 静止状态; T 暂停执行; Z 不存在,但暂时无法消除; W 没有足够的内存分页可分配;高优先序的进程; N 低优先序的进程; L 有内存分页分配并锁在内存体内 ( 实时系统或 I/O) START 为进程开始时间。 TIME 为执行的时间。 COMMAND 是所执行的指令。

4. 应用实例
在进行系统维护时,经常会出现内存使用量惊人,而又不知道是哪一个进程占用了大量进程的情况。除了可以使用 top 命令查看内存使用情况之外,还可以使用下面的命令:
ps aux | sort +5n

who

1. 作用
who
显示系统中有哪些用户登陆系统,显示的资料包含了使用者 ID 、使用的登陆终端、上线时间、呆滞时间、 CPU 占用,以及做了些什么。 使用权限为所有用户。

2. 格式
who - [husfV] [user]

3. 主要参数

-h :不要显示标题列。
-u
:不要显示使用者的动作 / 工作。
-s
:使用简短的格式来显示。
-f
:不要显示使用者的上线位置。
-V
:显示程序版本。

4. 说明
该命令主要用于查看当前在线上的用户情况。如果用户想和其它用户建立即时通信,比如使用 talk 命令,那么首先要确定的就是该用户确实在线上 , 不然 talk 进程就无法建立起来。又如,系统管理员希望监视每个登录的用户此时此刻的所作所为,也要使用 who 命令。 who 命令应用起来非常简单,可以比较准确地掌握用户的情况 , 所以使用非常广泛。

posted on 2006-06-21 20:33 heptachord@杯中瑶琴 阅读(107) 评论(0)  编辑 收藏 引用 所属分类: 技术日记
只有注册用户登录后才能发表评论。
<2024年12月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

常用链接

随笔档案

文章分类

文章档案

最新评论