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 只是一个符号链接而已。

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

  • 相关阅读:
    AngularJS $http模块POST请求
    thinkphp整合系列之融云即时通讯在线聊天
    Linux 常用命令
    Linux Shell脚本编写规范、例子
    Linux crontab定时执行任务 命令格式与详细例子
    Linux目录详细说明大全, 方便你以后合理规划及管理
    Linux 操作MySQL常用命令行
    SVN服务器搭建和使用(三)
    Linux下的SVN服务器搭建
    python 根据染色体起始终止点坐标来获取碱基序列
  • 原文地址:https://www.cnblogs.com/wangrongjie/p/2716969.html
Copyright © 2011-2022 走看看