文件权限管理管理命令
1、chmod
命令名称:chmod(change the permission mode of a file)
所在路径:/bin/chmod
执行权限:所有用户
语法 :
Chmod[{ugo}{+-=}{rwx}] [文件或目录]
Chmod [mode=421] [文件或目录]
功能:
改变文件或目录权限
范例:
$ chmod g+w file1(赋予文件file1所属组写权限)
$ chmod 777 dir1 (设定目录dir1为所有用户具有全部权限)
chmod u+wx;chmod g+rw ;chmod o-r;chmod o=rwx
重点:用数字对应权限(r-4;w-2;x-1)rwxr-xr-- ——754
752—— rwxr-x-w-
注:Su –用户名 (切换用户)
文件:r-cat、more、head、tail;w-echo、vi;x-命令、脚本
目录:r-ls;w-touch、mkdir、rm;x-cd、
注意:对文件有写权限只有当目录(rx)必须有写权限才能写进去
文件权限目录总结
代表字符 |
权限 |
对文件的含义 |
对目录的含义 |
R |
读权限(cat more head tail) |
可以查看文件的内容 |
可以列出目录中的内容 |
W |
写权限(echo vi) |
可以修改文件的内容 |
可以在目录中创建、删除文件 |
X |
可执行(命令 脚本) |
可以执行文件 |
可以进入目录 |
9、chown
命令名称:change file ownership
所在路径:/bin/ chown
执行权限:所有用户
语法 :
Chown [用户] [文件或目录]
功能:改变文件或目录的所有者
范例:$ chown nobody file1(改变文件file1的所有者为nobody(系统默认存 在))
注:useradd 用户名 passwd 密码 即可添加正确用户
9、chgrp
命令名称:change file group ownership
所在路径:/bin/ chgrp
执行权限:所有用户
语法 :
Chown [用户组] [文件或目录]
功能:改变文件或目录的所属组
范例:$ chgrp adm file1(改变文件file1的所属组为adm(系统自带))
9、umask
背景:我们在创建目录或者文件时产生默认权限
命令名称:umask
所在路径:/bin/ umask
执行权限:所有用户
语法 :umask [-S]
-S 以rwx形式显示新建文件或目录缺省权限
功能:显示 设置文件的缺省权限
范例:$ umask –S(结果:u=rwx,g=rx,o=rx)
一般用umask 显示结果为0022
0- 特殊权限位 022-用户权限位,权限掩码值
数字显示计算:
777
— 022
— ————
755(用户权限)
用 umask 027 可以改名默认文件权限为750(其他人o无任何权限)
Linux权限规则:
缺省创建的文件不能授予可执行x权限(所有真正touch 文件名 时显示文件权限为-rw-r-r--)
文件搜索命令
1、 which
命令名称:which
命令所在路径:/user/bin/which
执行权限:所有用户
语法:which [命令名称]
功能:显示系统命令所在目录
范例:$ which ls
区别: which : 可以提供这个命令的别名信息
Whereis :可以提供这个命令的帮助信息
2、 find(比较复杂命令)
命令名称:find
命令所在路径:/user/bin/find
执行权限:所有用户
语法:which [搜索路径] [搜寻关键字]
功能:查找文件或目录
范例:$ find /etc/ -name init(在目录/etc中查找文件init)
$ find / -size +204800(在根目录下查找大于100MB的文 件)
204800指数据块100MB=102400KB=204800
Block数据块 512字节=0.5KB
$ find /home –user samlee(在根目录下查找所有 者为 samlee的文件)
注:不要再根目录下查找。。(占用消耗很大资源)
通配符:* 匹配任意字符 init*(包括0个字符)
?用来匹配单个字符
·时间查找:1、天:ctime 、atime、mtime
2、分钟:cmin、amin、mmin
c—change改变;表示文件属性被修改过(所有者、所属 组、权限)
a-access 访问
m-modify 表示文件内容被修改过
-之内 +超过 例如:find /etc –mmin -120
1、连接符 -a and 逻辑与 -o or 逻辑或
-type 文件类型 (f 二进制文件;l软连接文件;d 目录)
2、连接符(固定格式) find ……-exec 命令 {} \;
解释:{ }find 查询的结果集;
\ 转义符 符合命令使用本身的含义;
? 分号;表示结果结束语句
·i节点查找(用来删除特殊文件名)
Ls –i(显示i节点)
Find .inum 16(查找)
Find .inum 16 –exec rm {} \;(删除节点为16的文件)
例:find /etc –name inittab –exec –l {} \;(查看inittab文件详细内容)
Find /home –user samlee –exec rm –rf {} \;(强制(rf)删 除用户 samlee)
Find /etc –name inittab –ok rm { } \;(用ok询问防误删重要文件)
Find /etc –name init* -a –type f –exec ls –l {} \;(显示包含init二进 制文件详细信息)
3、 locate(unix系统的命令速度很快)
命令名称:locate(list files in database)
命令所在路径:/user/bin/locate
执行权限:所有用户
语法:locate [搜寻关键字]
功能:寻找文件或目录
范例:$ locate file (列出所有跟file相关的文件)
4、 updatedb
命令名称:updatedb(update the slocate database)
命令所在路径:/user/bin/updated
执行权限:root
语法:updatedb
功能:建立整个系统目录文件的数据库
范例:# updated
5、 grep
命令名称:grep
命令所在路径:/bin/grep
执行权限: All User
语法:grep [指定字串] [源文件]
功能:在文件中搜索字串匹配的行并输出
范例:# grep ftp /etc/services