linux命令和内核 深入理解linux内核 知乎( 四 )


chmod 命令
chmod命令是非常重要的,用于改变文件或目录的访问权限 。用户用它控制文件或目录的访问权限 。
该命令有两种用法 。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法 。
文字设定法
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 有读权限
chgrp命令
功能:改变文件或目录所属的组 。
语法:chgrp [选项] group filename
该命令改变指定指定文件所属的用户组 。其中group可以是用户组ID,也可以是/etc/group文件中用户组的组名 。文件名是以空格分开的要改变属组的文件列表 , 支持通配符 。如果用户不是该文件的属主或超级用户 , 则不能改变该文件的组 。
该命令的各选项含义为:
-R 递归式地改变指定目录及其下的所有子目录和文件的属组
chown 命令
功能:更改某个文件或目录的属主和属组 。这个命令也很常用 。例如root用户把自己的一个文件拷贝给用户xu,为了让用户xu能够存取这个文件 , root用户应该把这个文件的属主设为xu,否则,用户xu无法存取这个文件 。
语法:chown [选项] 用户或组 文件
说明:chown将指定文件的拥有者改为指定的用户或组 。用户可以是用户名或用户ID 。组可以是组名或组ID 。文件是以空格分开的要改变权限的文件列表,支持通配符 。
该命令的各选项含义如下:
-R 递归式地改变指定目录及其下的所有子目录和文件的拥有者
-v 显示chown命令所做的工作
passwd命令
出于系统安全考虑,Linux系统中的每一个用户除了有其用户名外,还有其对应的用户口令 。因此使用useradd命令增加时,还需使用passwd命令为每一位新增加的用户设置口令;用户以后还可以随时用passwd命令改变自己的口令
该命令的一般格式为: passwd [用户名] 其中用户名为需要修改口令的用户名 。只有超级用户可以使用“passwd 用户名”修改其他用户的口令,普通用户只能用不带参数的passwd命令修改自己的口令
该命令的使用方法如下:
输入passwd Enter;
在new password:提示下输入新的口令(在屏幕上看不到这个口令):
系统提示再次输入这个新口令
su命令
它可以让一个普通用户拥有超级用户或其他用户的权限,也可以让超级用户以普通用户的身份做一些事情 。普通用户使用这个命令时必须有超级用户或其他用户的口令 。如要离开当前用户的身份,可以打exit

推荐阅读