zoukankan      html  css  js  c++  java
  • Linux命令(shell)从入门到精通 学习笔记1:文件安全与权限

    很早之前就再看linux知识了,看完总是忘了,今天从新开始,一点一点的记下来:

    最前面的一位是 表示的是文件类型:

    d 文件目录;1 符号链接,指向另一个文件;s 套接字文件;b 块设备文件;c 字符设备文件;p 命名管道文件;- 普通文件,确切的说,不属于以上几种文件。

    后边的连续的九位 是 文件的读写权限:

    rwx 文件属主权限,前边三位;r - x 同组用户权限,中间三位;r - x 其他用户权限,最后三位;

    新创建文件(夹)的权限:

    新创建的目录是  myshell ,其权限是 rwxr - xr - x 即 onwer组 拥有读、写、执行操作,group组和其他用户组拥有读写操作;

    新创建的文件 myfile,其权限是 读写 读 读,文件在新创建的状态下,不会被赋予执行的权限,这是出于安全性的考虑;

    文件权限修改:

    # chmod 777 myfile  为所有用户赋予了该文件的所有权限

    # chomod a-x myfile 回收所有用户的执行权限,a-x 之间没空格

    #chmod u+x,go-w myfile 赋予文件属主执行权限,同时回收其他用户的写权限。

     chmod 命令两种模式:符号模式和绝对模式

    符号模式:

    # u: 文件属主;# g: 同组用户;# o: 其他用户;# a: 所有用户;

    + 增加权限;- 回收权限;

    如:

    chmod a-x myfile   // 剥夺所有用户的文件执行权限;chmod og-w myfile;chmod g+w myfile;chmod u+x myfile;chmod go+x myf;chmod u+x,o-w myfile;

     

    绝对模式:

    004  可读;002 可写;001 可执行;000 没有权限;

     

    chmod 750 myfile

    对文件myfile增加权限:

    7 = 4 + 2 + 1 (属主可读、写、执行)

    5 = 4 + 1 (同组用户可读、执行)

    0 = 0 (其他用户没有任何权限)

     

    如果对一个目录执行:

    chmod 740 *

    表示对该目录下的所有文件赋予740权限,但以后新增的目录,权限仍是默认的 rw-  r-- r--

     

    4. 目录的权限

    对目录而言,意味着:

    读权限:可以列出该目录中的文件

    写权限:可以在该目录中创建或删除文件

    执行权限:可以搜索或进入该目录

     

    目录的权限将会覆盖该目录中文件的权限。例如,如果目录 docs 具有如下的权限:

    而其中的文件 pay 的权限为:

    那么 admin 组的用户将无法编辑该文件,因为它所属的目录不具有这样的权限。

    该文件对任何用户都可读,但由于它所在的目录并未给 admin 组的用户赋予执行权限,所以该组的用户都将无法访问该目录,他们将会得到“访问受限”的错误消息。

     

    5.suid 和 guid(了解)

    suid 意味着如果某个用户对属于自己的 shell 脚本设置了这种权限,那么其他用户在执行这一脚本时也会具有其属主的相应权限。

    如文件 myfile 具有 741 的权限,要对其设置suid,只需在其权限数字前加 4 (guid 是加 2,两个都设置就是 4+2=6),

     

    6. /etc/passwd 文件

    该文件中列出了系统合法的用户相关信息。

     

    7. chown 和 chgrp

    chown:文件的所有者和管理员能用这一命令改变文件的所有权,改变之后,原来的所有者,就不能回收他的权限了,如果真要回收,必须求助与管理员。

    如:

    将 myfile 的所有者,从root变更为用户 zhy (zhy 必须是在 /etc/passwd 中合法的)。

     

    chgrp:改变文件所属的组。

    如:

    将 myfile 所属的组,从 root 改成了 zhy 组。

     

    # groups

    查看当前登录用户所在的组内所有的成员。

     

    # id

    查看当前登录用户的信息

     

    # whoami

    查看系统当前是被哪个用户登录的。

     

    # groups zhy

    查看zhy用户所在的组,以及组内成员。

     

    用户组的特性在系统管理中为系统管理员提供了极大的方便,但安全性也是值得关注的,如某个用户下有对系统管理有最重要的内容,最好让用户拥有独立的用户组,或者是把用户下的文件的权限设置为完全私有;另外root用户组一般不要轻易把普通用户加入进去。

     

    8.umask命令

    一个用户登录到系统之后,他所创建的文件有一个缺省的权限,这个权限可以由管理员配置,也可以由用户登录之后用 umask 命令自己配置,这种配置在退出该 shell 或使用另外的 umask 命令之前一直有效。

     

    一般来 说, umask 命令是在 /etc/profile 文件中设置的,每个用户在登录时都会引用这个文件,所以如果希望改变所有用户的 umask , 可以在该文件中加入相应的条目。如果希望永久性地设置自己的 umask 值,那么就把它放在自己 $home 目录下的 .profile 或 .bash_profile 文件中。

     

    umask 值与权位:

     

    通过:

    # umask

    命令查看当前 umask 值(后三位):

    可以看到,当前 umaks 值为022,通过上面的表,就可以知道,umask 对应的文件权限是 644,目录权限是 755。

    如果没有上面的表,还有另外一种计算方法:

    777:  rwx rwx rwx

    022: --- -w- -w-

    取上面两行中没有匹配的位就是目录的权限:

    rwx r-x r-x

    换成值就是:755(目录权限)

    再将上面算出的结果(rwx r-x r-x)中为 x 的位换成 - ,就是文件的权限:

    rw- r-- r--

    换成值就是:644(文件权限)

     

    如果希望改变系统的 umask 值,可以这样:

    # umask 007

    例:

    可以看到,文件的权限确实被改变了。

     

    9. 符号链接

    是一个指向文件的指针,在我理解就是 window 下的快捷方式:

    .profile 就 是 /usr/local/menus/sales.profile 的快捷方式了,这样很方便,比如我们有多个用户,比如 50 个,可以为他们分别创 建一个.profile 文件,都指向这同一个 sales.profile 文件,以后我们修改一个 sales.profile 就可以了,不用对每 个用户的 .profile 做修改。

     

    创建符号链接的命令格式:

    # ln [-s] source_path target_path

    source_path 是要指向的文件

    target_path 就是指针(快捷方式)

    例:

    # ln -s /usr/opt/monitor/regstar/reg.log /var/adm/logs/monitor.log

     

    在新安装的系统上,通 常要进行这样的操作,在/var 目录中创建一个指向/tmp目录的链接,因为有些应用程序认为存在 /var/tmp 目录(然而它实际上并不存在), 有些应用程序在该目录中保存一些临时文件。为了使所有的临时文件都放在一个地方,可以使用 ln 命令在 /var目录下建立一个指向 /tmp 目录的 链接:

    # ln -s /tmp /var/tmp

    以后,如果有应用程序试图将一些临时文件放在 /var/tmp 下,实际上它是被存放在了 /tmp 目录下了,因为 /var/tmp 只是一个符号链接而已。

    断断续续的写,这小节的东西,暂时先写到这里吧。

  • 相关阅读:
    封装成帧、帧定界、帧同步、透明传输(字符计数法、字符串的首尾填充法、零比特填充的首尾标志法、违规编码法)
    计算机网络之数据链路层的基本概念和功能概述
    物理层设备(中继器、集线器)
    计算机网络之传输介质(双绞线、同轴电缆、光纤、无线电缆、微波、激光、红外线)
    计算机网络之编码与调制
    0953. Verifying an Alien Dictionary (E)
    1704. Determine if String Halves Are Alike (E)
    1551. Minimum Operations to Make Array Equal (M)
    0775. Global and Local Inversions (M)
    0622. Design Circular Queue (M)
  • 原文地址:https://www.cnblogs.com/wangrongjie/p/2716969.html
Copyright © 2011-2022 走看看