一、chmod及文件权限

1、了解文件权限

root账户新建一个目录permission,在该目录新建一个文件file,通过ll就可以查看其权限。

  1. root@development:~# cd permission/
  2. root@development:~/permission# touch file
  3. root@development:~/permission# ls
  4. file
  5. root@development:~/permission# ll
  6. total 8
  7. drwxr-xr-x 2 root root 4096 Mar 19 00:33 ./
  8. drwx------ 25 root root 4096 Mar 19 00:33 ../
  9. -rw-r--r-- 1 root root 0 Mar 19 00:33 file
  10. root@development:~/permission#

可见一共有十位数,其中第一个-代表的是类型,比如./的类型是d就是目录。

从第二个开始,依次三个rw-代表的是所有者(user)拥有的权限。

再依次三个r--代表的是群组(group)拥有的权限。

最后三个r--代表的是其他人(other)拥有的权限

rwx-解释如下:

r:表示文件可以被读(read)

w:表示文件可以被写(write)

x:表示文件可以被执行,目录的话可以被搜索。

-:表示相应的权限还没有被授予

2、数字表示rwx

r ----------4

w ----------2

x ----------1

- ----------0

原理:将rwx看成是二进制的数,有用1表示,没有用0表示,那么rwx r-x r--就可以表示成:111 101 100,将其转换成为一个十进制数就是:754。

3、权限操作

+ 表示添加权限

- 表示删除权限

= 重置权限

4、常见权限

-rw------- (600) 只有所有者才有读和写的权限。

-rw-r--r-- (644) 只有所有者才有读和写的权限,群组和其他人只有读的权限。

-rw-rw-rw- (666)每个人都有读写的权限

-rwx------ (700) 只有所有者才有读,写和执行的权限。

-rwx--x--x (711) 只有所有者才有读,写和执行的权限,群组和其他人只有执行的权限。

-rwxr-xr-x  (755) 只有所有者才有读,写,执行的权限,群组和其他人只有读和执行的权限。

-rwxrwxrwx (777) 每个人都有读,写和执行的权限

5、目录相关的文件权限

如果有文件夹/a/b/c

查看权限

执行ls -l /a/b查看的并不是b的权限,而是c的权限。

  • ls -l /a查看的是b文件的权限
  • ls -l /a/b 查看的是c文件的权限
  • ls -l /a/b/c 查看的是c文件的权限

补充内容:知道这点很重要,举一个实际应用中的例子。

我曾在ssh登录时日志报错:/var/empty/sshd must be owned by root and not group or world-writable。

此时我就要看/var/empty/sshd的权限了。

用#ll /var/empty/sshd去查结果是total 0,代表里面没有文件。

而真正应该用的命令是#ll /var/empty,去查看它的上级目录。

然后就可以看到结果是:

total 0

drwxrwxrwx. 2 root root 6 May 13 03:41 sshd

修改权限和查看权限不同

  • chmod 700 /a 修改的是a文件的权限
  • chmod 700 /a/b 修改的是b文件的权限
  • chmod 700 /a/b/c修改的是c文件的权限。

补充内容:知道这点修改权限和查看权限不同也很重要,还是上面的例子。

我要修改/var/empty/sshd这个目录的权限,我需要用

#chmod 711 /var/empty/sshd去修改。

查看修改好的权限用#ll /var/empty查看。

6、修改文件权限

先举例:

# chmod o+w file:表示给其他人授予写file这个文件的权限

# chmod go-rw file:表示删除群组和其他人对file这个文件的读和写的权限

# chmod go-w+x mydir:拒绝组成员和其他人创建或删除mydir(go-w)中文件的权限,允许组成员和其他人搜索mydir,或在路径名(go+x)中使用它,等价于

  1. chmod g-w mydir
  2. chmod o-w mydir
  3. chmod g+x mydir
  4. chmod o+x mydir

解释:
u:代表文件所有者(user)

g:代表所有者所在的群组(group)

o:代表其他人,但不是u和g(other)

a:a和一起指定ugo效果一样

7、修改目录权限

如果要一次修改某个目录下所有文件的权限,包括子目录中的文件权限。需要使用-R参数。

  1. # chmod 700 /srv/file #仅把file目录的权限设置为700
  2. # chmod -R 744 /srv/file #将整个/srv/file目录和其子目录中所有文件权限设置为744

二、chowm和文件所有权

文件和目录权限可通过chomd来修改,文件和目录的所有权及所属用户组也可通过chown来修改。

root账户新建一个目录permission,在该目录新建一个文件file,通过ll就可以查看其权限。

  1. [root@yl-web-test ~]# mkdir permission
  2. [root@yl-web-test ~]# cd permission/
  3. [root@yl-web-test permission]# ls
  4. [root@yl-web-test permission]# touch file
  5. [root@yl-web-test permission]# ll
  6. total 0
  7. -rw-r--r--. 1 root root 0 Aug 6 09:17 file

标红的root root表示file文件的所属用户组为root,所有者为root。

chown语法:

  1. chown [选项]... [所有者][:[组]] 文件...

接下来简单介绍如何修改文件的所属用户组和所有者。

1、修改file文件的所有者为lxy

  1. [root@yl-web-test permission]# chown lxy file
  2. [root@yl-web-test permission]# ll
  3. total 0
  4. -rw-r--r--. 1 lxy root 0 Aug 6 09:17 file

2、修改file文件的用户组为lxy

  1. [root@yl-web-test permission]# chown root file
  2. [root@yl-web-test permission]# ll
  3. total 0
  4. -rw-r--r--. 1 root root 0 Aug 6 09:17 file
  5. [root@yl-web-test permission]# chown :lxy file
  6. [root@yl-web-test permission]# ll
  7. total 0
  8. -rw-r--r--. 1 root lxy 0 Aug 6 09:17 file

3、同时修改文件的所有者和用户组

  1. [root@yl-web-test permission]# chown :root file
  2. [root@yl-web-test permission]# ll
  3. total 0
  4. -rw-r--r--. 1 root root 0 Aug 6 09:17 file
  5. [root@yl-web-test permission]# chown lxy:lxy file
  6. [root@yl-web-test permission]# ll
  7. total 0
  8. -rw-r--r--. 1 lxy lxy 0 Aug 6 09:17 file

4、同时修改文件夹和其子文件的所属用户组和所有者,需要用-R参数。

假设file是一个目录,里面有一个a.txt的文件。它们的所有者和用户组如下,都是root:

  1. [root@yl-web-test permission]# cd file/
  2. [root@yl-web-test file]# touch a.txt
  3. [root@yl-web-test file]# ll
  4. total 0
  5. -rw-r--r--. 1 root root 0 Aug 6 09:40 a.txt
  6. [root@yl-web-test file]# cd ..
  7. [root@yl-web-test permission]# ll
  8. total 0
  9. drwxr-xr-x. 2 root root 18 Aug 6 09:40 file

现将file目录和里面的a.txt文件的所有者和用户组都改为lxy,如下

  1. [root@yl-web-test permission]# chown -R lxy:lxy file
  2. [root@yl-web-test permission]# ll
  3. total 0
  4. drwxr-xr-x. 2 lxy lxy 18 Aug 6 09:40 file
  5. [root@yl-web-test permission]# cd file/
  6. [root@yl-web-test file]# ll
  7. total 0
  8. -rw-r--r--. 1 lxy lxy 0 Aug 6 09:40 a.txt

本文作者starof,因知识本身在变化,作者也在不断学习成长,文章内容也不定时更新,为避免误导读者,方便追根溯源,请诸位转载注明出处:http://www.cnblogs.com/starof/p/4350212.html有问题欢迎与我讨论,共同进步。

linux chmod命令和chown命令的更多相关文章

  1. linux命令之chown命令

    发布:JB01   来源:脚本学堂     [大 中 小] 本文介绍下,linux系统中用于文件与目录权限管理的命令 chown命令的用法,chown将指定文件的拥有者改为指定的用户或组.有需要的朋友 ...

  2. 每天一个linux命令31)--chown命令

    chown将 指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID,组可以使组名或者组ID:文件是以空格分开的要改变权限的文件列表,支持通配符.系统管理员经常使用chown命令,在将文件拷 ...

  3. linux常用命令:chown 命令

    chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID:组可以是组名或者组ID:文件是以空格分开的要改变权限的文件列表,支持通配符.系统管理员经常使用chown命令,在将文件拷贝 ...

  4. linux命令之------Chown命令

    Chown命令 1) 作用:将指定文件的拥有者改为指定的用户或组. 2) -c:显示更改的部分的信息. 3)-f:忽略错误信息. 4)-h:修复符号链接. 5)-v:显示详细的处理信息. 6)-R:处 ...

  5. Linux学习历程——Centos 7 chown命令

    一.命令介绍 Linux是多人多工操作系统,所有的文件皆有拥有者.利用 chown 将指定文件的拥有者改为指定的用户或组, 用户可以是用户名或者用户ID:组可以是组名或者组ID:文件是以空格分开的要改 ...

  6. Linux自学之旅-基础命令(chown和chgrp)

    转: Linux自学之旅-基础命令(chown和chgrp) Linux自学之旅-基础命令(改变所有者与所属组的命令) 文章目录 前言 一.chown命令 二.chgrp命令 总结 前言 1.上一节我 ...

  7. linux中如何修改文件夹的用户权限 chown命令

    linux中,可以使用chown命令来修改文件夹的用户权限. 1.  以普通用户 A 登录linux,利用su -切换到root用户 2. 在root用户下,可以看到文件夹内容 3. 但通过文件系统, ...

  8. linux shell 脚本攻略学习12--文件权限详解,chmod命令详解,chown命令详解,chattr命令详解

    文件权限详解 一.chmod命令详解 文件权限和所有权是Unix/Linux文件系统最显著的特征之一.linux中的每一个文件都与多种权限类型相关联,在这些权限中主要分类为3种: 用户(User)是文 ...

  9. linux的chmod,chown命令详解

    指令名称 : chmod 使用权限 : 所有使用者 使用方式 : chmod [-cfvR] [--help] [--version] mode file... 说明 : Linux/Unix 的档案 ...

随机推荐

  1. 对jQuery选择器的总结

    jQuery基础选择器 $("div*")获取div下面的所有元素 $(".red,.green").html("怎么") // 需要注意的 ...

  2. ScrollMagic – 酷毙了!超炫的页面滚动交互效果

    ScrollMagic 是一款 jQuery 插件,它让你可以像使用进度条一样使用滚动条.如果你想在特定的滚动位置开始一个动画,并且让动画同步滚动条的动作,或者把元素粘在一个特定的滚动位置,那么这款插 ...

  3. Apple Watch PSD 源文件【免费素材下载】

    Apple Watch 是苹果公司于2014年9月发布的一款智能手表.分为运动款.普通款和定制款三种,采用蓝宝石屏幕,有银色,金色,红色,绿色和白色等多种颜色可以选择.这里分享的是 Apple Wat ...

  4. 给li设置float浮动属性之后,无法撑开外层ul的问题。

    最近在项目中有好几次遇到这个问题,感觉是浮动引起的,虽然用<div style="clear:both"></div>解决了,但自己不是特别明白,又在网上查 ...

  5. 如何排查sharepoint2010用户配置文件同步服务启动问题

    用户配置文件同步服务与 Microsoft Forefront Identity Manager (FIM) 交互,以与外部系统(如目录服务和业务系统)同步配置文件信息.启用用户配置文件同步服务时,将 ...

  6. 应用matplotlib绘制地图

    #!/usr/bin/env python # -*- coding: utf-8 -*- from math import sqrt import shapefile from matplotlib ...

  7. SharePoint 2013 初始化Ribbon选中Tab

    SharePoint使用中,经常打开页面会有默认展开的Ribbon选项,有时这又不是我们需要的,所以我们就需要默认选中的项目,下面简单介绍下如何实现. 方法一 1.Dispform.aspx页面默认R ...

  8. 使用Aircrack-ng进行无线安全审计

    设置监听模式 激活网卡 ifconfig wlan0 up 结束占用网络接口的进程 airmon-ng check kill 开启监听模式 airmon-ng start wlan0 查看网卡是否成功 ...

  9. Atitit.木马病毒强制强行关闭360 360tray.exe的方法

    Atitit.木马病毒强制强行关闭360 360tray.exe的方法 1. taskkill /im 进程名称1 2. 用 wmic process where name="进程名称&qu ...

  10. iOS 三方库fmdb 的使用

    使用fmdb 做本地数据的存储非常方便, 1. github 上搜索fmdb 下载压缩包 导入到工程中 (如果你的mac 有cocoapod 也可以直接通过cocoapod 添加) 2. 以下代码是通 ...