20190111-文件管理及相关权限修改方法 chmod umask chown


从centos7以后,不再区分32位和64位,都是64位系统

tree命令:以树形的形式显示一个目录下面都有哪些目录和子文件。

            安装:yum install -y tree
            参数:  -L  设置显示的最大层数,eq:tree -L 2 显示2层。

ls命令: 列取目录或者文件的命令

  • -l:详细信息
  • -i:列取inode信息
  • h:以恰当的单位显示大小
  • a:显示所有文件,包括隐藏文件
  • t:按时间排序。
[root@localhost ~]# ls -lia
total 36
33574977 dr-xr-x---.  3 root root  185 Jan 29 18:51 .    代表目录本身
      64 dr-xr-xr-x. 18 root root  236 Jan 29 02:02 ..   代表上层目录
33574979 -rw-------.  1 root root 1263 Jan 28 20:12 anaconda-ks.cfg
33577780 -rw-------.  1 root root  544 Jan 29 00:43 .bash_history
33948803 -rw-r--r--.  1 root root   18 Dec 29  2013 .bash_logout
33948804 -rw-r--r--.  1 root root  176 Dec 29  2013 .bash_profile
inode号     权限()有几个文件使用这个inode  属主  属组 大小  最后修改日期  文件名
[root@localhost ~]# 

权限后面的点(.)受制于selinux,如果关闭selinux,新建的文件就没有(.)了

文件类型

文件属性前面第一排的就是文件类型。
常见的有:
“-”是普通文件
“d” 文件夹
“c”字符串设备
“l”软连接文件
“b”块设备,比如光盘,磁盘
“s”通信文件

alias命令

  • 别名
  • 查看别名
root@localhost ~]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
  • 定义别名
[root@localhost ~]# alias vimen33="vim /etc/sysconfig/network-scripts/ifcfg-ens33" 
  • 取消别名: unalias vimen33

which

  • 查看命令、可执行文件的绝对路径。
  • 通过遍历PATH环境变量路径的方式来查找文件的。所以一个命令如果没在path环境变量里,那么which是查不到的。

系统目录结构

  • /bin 用户用的命令。
  • /sbin root可以用的命令
  • /boot 系统启动的关键文件,删除后系统无法启动。
  • /dev linux系统下的设备文件
  • /etc 配置文件的所在目录
  • /home 用户的家目录
  • /lib 存系统库文件
  • /lib64 系统库文件。很多命令会依赖一些库,查看命令依赖关系:ldd
  • /media 媒介目录。例如插一个U盘会自动放到这个目录下面去。
  • /mnt 临时挂载目录,默认为空,可以把新增的光驱或硬盘挂载到这个目录下面
  • /opt 空目录
  • /proc 里面是系统进程
  • /root root用户的家目录
  • /run 一些进程产生的临时文件,重启就会消失
  • /srv 空,存服务产生的文件
  • /sys 存系统内核的相关文件
  • /tmp 系统的临时目录。任何一个用户都可以在这个文件夹下读写删除文件
  • /usr 用户的文件
  • /var 很重要 。经常用的/var/log 系统日志。

chmod 修改文件或目录的权限

[root@localhost ~]# ll -ht
total 4.0K
-rw-------. 1 root root 1.3K Jan 28 20:12 anaconda-ks.cfg
  • 二到第十位,每三个一组,均为rwx三个参数的组合。r:可读rea(4) w:可写write(2)。 x:可执行excute(1)
  • 目录会包括.和…目录本身和上级目录)。
  • 特殊权限(Set-uid,set-gid,sticky-bit),等等的特性

r :4 对目录而言,读取目录结构清单的权限; 对文件而言,具有读取文件内容的权限。例:ls
w:2 对目录而言,具有删除,移动目录内文件的权限;对文件而言,具有新增、修改文件内容的权限。
x:1 对目录而言,具有进入目录的权限; 对文件而言,具有执行文件的权限。

  • chmod [-R] 755 dirname/filename -R 选项只作用于目录,作用是级联更改
    在这里插入图片描述

umask

  • 在默认情况下,目录权限值为 755,普通文件权限值为644
    语法:umask xxx (这里的XXX代表3个数字)
    查看umask值只要输入 ”umask“然后回车。
    [root@localhost ~]# umask
    0022
    

(1)若用户建立为普通文件,则预设没有可执行权限,只有 rw两个权限。最大为666(-rw-rw-rw-)。
(2)若用户建立为目录,则预设所有权限均开放,即 777(drwxrwxrwx)。
umask 数值代表的含义为,上边两条规则中的默认值(文件为 666,目录为777 )需要减掉的权限。所以目录的权限为 “rwxrwxrw”–"----w–w-“=“rwxr-xr-x”,普通文件的权限为 “rw-rw-rw-”–"----w–w-"=“rw-r–r--” 。
umask的值是可以自定义的,比如设定 umask为002 ,你再创建目录或者文件时,默认权限分别为 “rwxrwxrwx”–"-------w-"=“rwxrwxr-x” 和 “rw-rw-rw-”–"-------w-"=“rw-rw-r–”
也可以在/etc/bashrc 里面更改,预设情况下, root的umask 为022,而一般使用者则为 002,因为可写的权限非常重要,因此预设会去掉写权限。

chown 更改所有者和所属组

  • 语法:chown [-R] user:group filename
    chown [-R] user filename -R 选项只作用于目录,作用是级联更改。
chgrp :(change group)改变档案所属群组。不常用。
              #charp [-R] dirname/filename      (-R   递归的持续变更,亦即连同次目录下的所有档案,目录)
特殊权限

Set-uid Set-gid Sticky-bit
当有特殊权限时,第一位数字可以是 0 ,1(–t) , 2(-s-), 3(-st) ,4(s–) , 5(s-t), 6(ss-) ,7(sst)

Set-uid

该权限针对二进制可执行文件,使文件在执行阶段具有文件所有者的权限。如:passwd这个命令:
用数字表示为:4755.
例: chmod u+s /bin/ls
chmod 4755 /bin/ls
有时候你可能会看到-rwSr-xr-x 这样的权限,s变成了S,这是由于所有者没有了执行权限。

Set-gid
  • 任何用户在此目录下创建的文件或目录都具有和该目录所属的组相同的组
  • 权限可以应用在文件上同样也可以作用在目录。设置在文件上,作用和 set uid类似,前提是这个文件是可执行的二进制文件,当设置 set gid后,执行该文件的用户会临时以该文件所属组的身份执行。
  • 给/tmp/test目录设置 set gid权限后,权限由原来的drwxrwxrwx变为 drwxrwsrwx,此时以user1 的身份在/tmp/test目录里创建目录和文件,其所属组都为 root,而不是user1 。
Stick-bit 防删除位
  • 一个文件是否可以被某用户删除,主要取决于该文件父目录是否对该用户具有写权限。如果没有写权限,则这个目录下的所有文件都不能被删除,同时也不能添加新的文件。如果希望用户能够添加文件但同时不能删除该目录下的其他用户的文件,则可以对父目录增加该权限。设置它后,就算用户对目录具有写权限,也不能删除其他用户的文件。比如/tmp/ 目录就设置过该权限。

  • 对于这些特殊权限的配置,方法和之前的一样。比如我想给一个文件增加一个 set uid权限,那么命令为

  • chmod u+s filename,

  • 而去掉这个权限则为 chmod u-s filename。

  • 同理,想设置set gid则为chmod g+s dirname。设置stick bit 权限为 :chmod o+t dirname。

档案的附档名(后缀名)

         linux的档案是没有所谓的【附档名】的。
所以后缀名的作用就是籍由后缀名来了解档案是什么东西

例如:
*.sh :批档次(scripts),因为它是用shell写的,
.Z ,.tar, *.tar.gz, *.zip, *.tgz :经过打包的压缩档。
*.html, *.php :网页相关档案,分别代表HTML语法和PHP语法的网页档案。

这种问题最常发生在档案传送的过程中。例如你在网络上下载一个可执行档,但是偏偏在你的 Linux 系统中就是无法执行!呵呵!那么就是可能档案的属性被改变了!不要怀疑,从网络上传送到你的 Linux 系统中,档案的属性确实是会被改变的喔!

在 Linux 底下,每一个档案或目录的文件名最长可以到达 255 的字符,加上完整路径时,最长可达 4096 个字符。

隐藏权限lsattr----chattr

chattr命令不能保护/、/dev、/tmp、/var目录。lsattr命令是显示chattr命令设置的文件属性。

  • chattr命令的用法:chattr [ -RVf ] [ -v version ] [ mode ] files…
    最关键的是在[mode]部分,[mode]部分是由±=和[ASacDdIijsTtu]这些字符组合的,这部分是用来控制文件的属性。
    -R:递归处理
    -V:显示详细过程有版本编号
    -v:设定文件或目录版本
    +:在原有参数设定基础上,追加参数。
    - :在原有参数设定基础上,移除参数。
    =:更新为指定参数设定(替换权限属性)。
    A: 增加该属性后,文件或目录的 atime将不可被修改;(可以避免i/o较慢的机器过多访问磁盘,这对速度较慢的计算机有帮助。)
    S: 增加该属性后,会将数据同步写入磁盘中;
    a:增加该属性后,只能追加不能删除,非 root用户不能设定该属性;
    i: 增加后,使文件不能被删除、重命名、设定链接接、写入、新增数据;
    c: 自动压缩该文件,读取时会自动解压;(对大文件似乎有用)
    s:增加后,如果文件被删除,则数据内容会被完全从硬盘空间中删除.
    u:(与s相反,增加时,当该文件删除时,则数据内容其实还在磁盘中,可以使用来找回该文件。

  • lsattr(显示文件隐藏属性)
    #lsattr [-adR] 文件或目录
    -a 将隐藏文件的属性也显示出来
    -d 列出目录本身的属性而不是目录内文件的文件名
    -R 连同子目录的数据也一并列出来。
    例1:
    #chattr +aij attrtest
    #lsattr attrtest

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值