Linux
改变文件或目录的访问权限命令
Linux
系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。
文件或目录的访问权限分为只读,只写和可执行三种。以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改操作。可执行权限表示允许将该文件作为一个程序执行。文件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限,以便于对文件的阅读和修改。用户也可根据需要把访问权限设置为需要的任何组合。
有三种不同类型的用户可对文件或目录进行访问:文件所有者,同组用户、其他用户。所有者一般是文件的创建者。所有者可以允许同组用户有权访问文件,还可以将文件的访问权限赋予系统中的其他用户。在这种情况下,系统中每一位用户都能访问该用户拥有的文件或目录。
每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。当用
ls -l
命令显示文件或目录的详细信息时,最左边的一列为文件的访问权限。例如:
$ ls -l sobsrc. tgz
-rw-r--r-- 1 root root 483997 Ju1 l5 17:3l sobsrc. tgz
横线代表空许可。
r
代表只读,
w
代表写,
x
代表可执行。注意这里共有
10
个位置。第一个字符指定了文件类型。在通常意义上,一个目录也是一个文件。如果第一个字符是横线,表示是一个非目录的文件。如果是
d
,表示是一个目录。
例如:
- rw- r-- r--
普通文件
文件主
组用户
其他用户
是文件
sobsrc.tgz
的访问权限,表示
sobsrc.tgz
是一个普通文件;
sobsrc.tgz
的属主有读写权限;与
sobsrc.tgz
属主同组的用户只有读权限;其他用户也只有读权限。
确定了一个文件的访问权限后,用户可以利用
Linux
系统提供的
chmod
命令来重新设定不同的访问权限。也可以利用
chown
命令来更改某个文件或目录的所有者。利用
chgrp
命令来更改某个文件或目录的用户组。
下面分别对这些命令加以介绍。
chmod
命令
chmod
命令是非常重要的,用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。
该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。
1.
文字设定法
chmod [who] [+ | - | =] [mode]
文件名
?
命令中各选项的含义为:
操作对象
who
可是下述字母中的任一个或者它们的组合:
u
表示“用户(
user
)”,即文件或目录的所有者。
g
表示“同组(
group
)用户”,即与文件属主有相同组
ID
的所有用户。
o
表示“其他(
others
)用户”。
a
表示“所有(
all
)用户”。它是系统默认值。
操作符号可以是:
+
添加某个权限。
-
取消某个权限。
=
赋予给定权限并取消其他所有权限(如果有的话)。
设置
mode
所表示的权限可用下述字母的任意组合:
r
可读。
w
可写。
x
可执行。
X
只有目标文件对某些用户是可执行的或该目标文件是目录时才追加
x
属性。
s
在文件执行时把进程的属主或组
ID
置为该文件的文件属主。方式“
u
+
s
”设置文件的用户
ID
位,“
g
+
s
”设置组
ID
位。
t
保存程序的文本到交换设备上。
u
与文件属主拥有一样的权限。
g
与和文件属主同组的用户拥有一样的权限。
o
与其他用户拥有一样的权限。
文件名:以空格分开的要改变权限的文件列表,支持通配符。
在一个命令行中可给出多个权限方式,其间用逗号隔开。例如:
chmod g+r
,
o+r example
使同组和其他用户对文件
example
有读权限。
2.
数字设定法
我们必须首先了解用数字表示的属性的含义:
0
表示没有权限,
1
表示可执行权限,
2
表示可写权限,
4
表示可读权限,然后将其相加。所以数字属性的格式应为
3
个从
0
到
7
的八进制数,其顺序是(
u
)(
g
)(
o
)。
例如,如果想让某个文件的属主有“读
/
写”二种权限,需要把
4
(可读)
+2
(可写)=
6
(读
/
写)。
数字设定法的一般形式为:
chmod [mode]
文件名
?
chgrp
命令
功能:改变文件或目录所属的组。
语法:
chgrp [
选项
] group filename?
该命令改变指定指定文件所属的用户组。其中
group
可以是用户组
ID
,也可以是
/etc/group
文件中用户组的组名。文件名是以空格分开的要改变属组的文件列表,支持通配符。如果用户不是该文件的属主或超级用户,则不能改变该文件的组。
该命令的各选项含义为:
- R
递归式地改变指定目录及其下的所有子目录和文件的属组。
chown
命令
功能:更改某个文件或目录的属主和属组。这个命令也很常用。例如
root
用户把自己的一个文件拷贝给用户
xu
,为了让用户
xu
能够存取这个文件,
root
用户应该把这个文件的属主设为
xu
,否则,用户
xu
无法存取这个文件。
语法:
chown [
选项
]
用户或组
文件
说明:
chown
将指定文件的拥有者改为指定的用户或组。用户可以是用户名或用户
ID
。组可以是组名或组
ID
。文件是以空格分开的要改变权限的文件列表,支持通配符。
该命令的各选项含义如下:
- R
递归式地改变指定目录及其下的所有子目录和文件的拥有者。
- v
显示
chown
命令所做的工作。
Linux与用户有关的命令
passwd
命令
出于系统安全考虑,
Linux
系统中的每一个用户除了有其用户名外,还有其对应的用户口令。因此使用
useradd
命令增加时,还需使用
passwd
命令为每一位新增加的用户设置口令;用户以后还可以随时用
passwd
命令改变自己的口令。
该命令的一般格式为:
passwd [
用户名
]
其中用户名为需要修改口令的用户名。只有超级用户可以使用“
passwd
用户名”修改其他用户的口令,普通用户只能用不带参数的
passwd
命令修改自己的口令。
该命令的使用方法如下:
输入
passwd< Enter>
;
在(
current
)
UNIX passwd:
下输入当前的口令
在
new password:
提示下输入新的口令(在屏幕上看不到这个口令):
系统提示再次输入这个新口令。
输入正确后,这个新口令被加密并放入
/etc/shdow
文件。选取一个不易被破译的口令是很重要的。
选取口令应遵守如下规则:
口令应该至少有六位(最好是八位)字符;
口令应该是大小写字母、标点符号和数字混杂的。
超级用户修改其他用户(
xxq
)的口令的过程如下,
# passwd root
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully
#
su
命令
这个命令非常重要。它可以让一个普通用户拥有超级用户或其他用户的权限,也可以让超级用户以普通用户的身份做一些事情。普通用户使用这个命令时必须有超级用户或其他用户的口令。如要离开当前用户的身份,可以打
exit
。
该命令的一般形式为:
su [
选项
] [? ] [
使用者帐号
]
说明:若没有指定使用者帐号,则系统预设值为超级用户
root
。
该命令中各选项的含义分别为:
? c
执行一个命令后就结束。
?
加了这个减号的目的是使环境变量和欲转换的用户相同。
? m
保留环境变量不变。
password:
【输入超级用户的密码】
Linux系统管理命令
wall
命令
这个命令的功能是对全部已登录的用户发送信息,用户可以先把要发送的信息写好存入一个文件中,然后输入:
# wall <
文件名
这样就能对所有的用户发送信息了。
在上面的例子中符号“
<
”表示输入重定向,有关它的含义和用法请参阅第十章的有关内容。
例如:
# wall
‘
Thank you!
’
Broadcast message from root
(
tty1
)
Fri Nov 26 14
:
15
:
07 1999
…
Thank you!
#
执行以上命令后,用户的屏幕上显示出“
Thank you!
”信息后,并不出现系统提示符
$
(
#
),再次按回车键后,屏幕出现系统提示符。
write
命令
write
命令的功能是向系统中某一个用户发送信息。
该命令的一般格式为:
write
用户帐号
[
终端名称
]
例如:
$ write Guest hello
此时系统进入发送信息状态,用户可以输入要发送的信息,输入完毕,希望退出发送状态时,按组合键
< Ctrl+c>
即可。
mesg
指令
mesg
命令设定是否允许其他用户用
write
命令给自己发送信息。如果允许别人给自己发送信息,输入命令:
# mesg y
否则,输入:
# mesg n
对于超级用户,系统的默认值为
n
;而对于一般用户系统的默认值为
y
。
如果
mesg
后不带任何参数,则显示当前的状态是
y
还是
n.
。
sync
命令
sync
命令是在关闭
Linux
系统时使用的。
用户需要注意的是,不能用简单的关闭电源的方法关闭系统,因为
Linux
象其他
Unix
系统一样,在内存中缓存了许多数据,在关闭系统时需要进行内存数据与硬盘数据的同步校验,保证硬盘数据在关闭系统时是最新的,只有这样才能确保数据不会丢失。一般正常的关闭系统的过程是自动进行这些工作的,在系统运行过程中也会定时做这些工作,不需要用户干预。
sync
命令是强制把内存中的数据写回硬盘,以免数据的丢失。用户可以在需要的时候使用此命令。该命令的一般格式为:
sync
shutdown
命令
shutdown
命令可以安全地关闭或重启
Linux
系统,它在系统关闭之前给系统上的所有登录用户提示一条警告信息。该命令还允许用户指定一个时间参数,可以是一个精确的时间,也可以是从现在开始的一个时间段。精确时间的格式是
hh:mm
,表示小时和分钟;时间段由“
+
”和分钟数表示。系统执行该命令后,会自动进行数据同步的工作。
该命令的一般格式为:
shutdown [
选项
] [
时间
] [
警告信息
]
命令中各选项的含义为:
- k
并不真正关机,而只是发出警告信息给所有用户。
- r
关机后立即重新启动。
- h
关机后不重新启动。
- f
快速关机,重启动时跳过
fsck
。
- n
快速关机,不经过
init
程序。
- c
取消一个已经运行的
shutdown
。
需要特别说明的是,该命令只能由超级用户使用。
free
命令
free
命令的功能是查看当前系统内存的使用情况,它显示系统中剩余及已用的物理内存和交换内存,以及共享内存和被核心使用的缓冲区。
该命令的一般格式为:
free [-b | -k | -m]
命令中各选项的含义如下:
-b
以字节为单位显示。
-k
以
K
字节为单位显示。
-m
以兆字节为单位显示。
uptime
命令
uptime
命令显示系统已经运行了多长时间,它依次显示下列信息:现在时间、系统已经运行了多长时间、目前有多少登录用户、系统在过去的
1
分钟、
5
分钟和
15
分钟内的平均负载。
该命令的一般格式为:
uptime