精华内容
下载资源
问答
  • Linux系统系统中目录或者文件的权限管理,要求非常严谨。 以下是以下系统文件或者目录权限管理的举例: ---查看并修改文件目录的权限与归属: --创建测试目录: [root@su ...

    Linux系统对系统中目录或者文件的权限管理,要求非常严谨。
    以下是以下系统对文件或者目录权限管理的举例:

    ---查看并修改文件目录的权限与归属:

    --创建测试目录:

    [root@su home]# mkdir myhome

    [root@su home]# ls

    myhome  oracle  susu  swapfile


    --创建测试文件:

    [root@su home]# touch home.text

    [root@su home]# ls

    home.text  myhome  oracle  susu  swapfile


    --查看/home目录下所有目录或者文件的权限与归属:

    [root@su home]# ll

    total 1049616

    -rw-r--r-- 1 root   root              0 Nov  9 21:24 home.text

    drwxr-xr-x 2 root   root           4096 Nov  9 21:23 myhome

    drwx------ 3 oracle oinstall       4096 Nov  9 21:10 oracle

    drwx------ 3 susu   sky            4096 Nov  9 21:19 susu

    -rw-r--r-- 1 root   root     1073741824 Nov  8 21:14 swapfile

    #可以看到文件home.text对于root组用户拥有读权限,对于其他用户只有读权限。目录myhome对于root用户只有执行与读权限,对于其他用户也只有读与执行权限


    ---编辑home.text 文件内容:

    [root@su home]# vi home.text

    my heart will go on and on


    ---查看oracle用户对/home目录下所有目录或者文件的权限与归属:

    [oracle@su home]$ ll

    total 1049620

    -rw-r--r-- 1 root   root             27 Nov  9 21:34 home.text

    drwxr-xr-x 2 root   root           4096 Nov  9 21:23 myhome

    drwx------ 3 oracle oinstall       4096 Nov  9 21:10 oracle

    drwx------ 3 susu   sky            4096 Nov  9 21:19 susu

    -rw-r--r-- 1 root   root     1073741824 Nov  8 21:14 swapfile

    [oracle@su home]$

    #发现oracle没有对文件home.text写的功能:


    ---尝试使用oracle用户对文件home.text进行编辑:

    hello,myhome.

    ~

    ~

    E45: 'readonly' option is set (add ! to override)    

    #警告只有读的权限:


    --再次查看文件的内容:

    [oracle@su home]$

    [oracle@su home]$ cat home.text

    my heart will go on and on

    #说明没有权限对文件进行编辑。


    ---对文件home.text进行授权:

    [root@su home]# chmod -R 756 /home/home.text

    [root@su home]# chown -R oracle:oinstall /home/home.text

    #进行授权与修改归属。


    ---修改后查看文件的权限与归属:

    [root@su home]# ll

    total 1049620

    -rwxr-xrw- 1 oracle oinstall         27 Nov  9 21:34 home.text

    drwxr-xr-x 2 root   root           4096 Nov  9 21:23 myhome

    drwx------ 3 oracle oinstall       4096 Nov  9 21:43 oracle

    drwx------ 3 susu   sky            4096 Nov  9 21:19 susu

    -rw-r--r-- 1 root   root     1073741824 Nov  8 21:14 swapfile

    [root@su home]#

    #可以看到归属于权限已经改变。


    ---再次尝试使用oracle用户进行编辑:

    [oracle@su home]$

    [oracle@su home]$ vi home.text

    my heart will go on and on

    hello,myhome!


    --查看文件的内容:

    [oracle@su home]$

    [oracle@su home]$ cat home.text

    my heart will go on and on

    hello,myhome!

    #修改成功。

    --尝试使用root用户进行编辑:

    [root@su home]# vi home.text

    my heart will go on and on

    HELLO,MYHOME     # 碌募脪脮

    hello,myhome!

    [root@su home]# cat home.text

    my heart will go on and on

    HELLO,MYHOME     #脦碌募脪脮

    hello,myhome!

    [root@su home]#     
     #修改成功。

    最后面,文件的属主是oracle用户,root用户作为其他用户,但授予对文件读写的权限,
    所以才有后面root用户可以对文件可以编辑的权限。

    来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31392094/viewspace-2128207/,如需转载,请注明出处,否则将追究法律责任。

    转载于:http://blog.itpub.net/31392094/viewspace-2128207/

    展开全文
  • Linux 系统目录结构 登录系统后,在当前命令窗口下输入命令: ls / 你会看到如下图所示: 树状目录结构: 以下是对这些目录的解释: /bin: bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的...

    Linux 系统目录结构

    登录系统后,在当前命令窗口下输入命令:

     ls / 
    

    你会看到如下图所示:

    img

    树状目录结构:

    img

    以下是对这些目录的解释:

    • /bin:
      bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。

    • bin -> usr/bin 真实是 usr/bin

    • /boot:

    • 这里存放的是启动 Linux 时使用的一些核心文件,

    • 包括一些连接文件以及镜像文件。

    • /dev :

      • dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。
    • /etc:

      • etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的 系统管理 所需要的配置文件和子目录。

      • Etcetera 
        英 /et'setərə//etˈsetərə/  全球(美国)  
        简明 韦氏  柯林斯 例句 例句、百科在这里  百科
        n. 等等;附加物;附加的人;以及其它
        
    • /home
      用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。

    • /lib
      lib 是 Library(库) 的缩写这个目录里存放着 系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。

      • lib -> usr/lib
      • lib64 -> usr/lib64
    • /lost+found
      这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

    • /media
      linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。

    • /mnt
      系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。

    • /opt
      opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

    • /proc
      proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
      这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:

      echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
      
    • /root
      该目录为系统管理员,也称作超级权限者的用户主目录。

    • /sbin
      s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。

      • sbin -> usr/sbin
    • /selinux
      这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。

    • /srv
      该目录存放一些服务启动之后需要提取的数据。

    • /sys

      这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。

      sysfs 文件系统集成了下面3种文件系统的信息:

      • 针对进程信息的 proc 文件系统、
      • 针对设备的 devfs 文件系统
      • 以及针对伪终端的 devpts 文件系统。

      该文件系统是内核设备树的一个直观反映。

      当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。

    • /tmp
      tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。

    • /usr
      usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。

    • /usr/bin:
      系统用户使用的应用程序。

    • /usr/sbin:
      超级用户使用的比较高级的管理程序和系统守护程序。

    • /usr/src:
      内核源代码默认的放置目录。

    • /var
      var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

    • /run
      是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。

      • /var/run -> …/run

    在 Linux 系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。

    /etc: 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。

    /bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在 /bin/ls 目录下的。

    值得提出的是,

    • /bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),
    • 而/sbin, /usr/sbin 则是给 root 使用的指令。

    /var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在 /var/log 目录下,另外 mail 的预设放置也是在这里。

    Linux 系统启动过程

    Linux 忘记密码解决方法

    Linux 忘记密码解决方法

    很多朋友经常会忘记Linux系统的root密码,linux系统忘记root密码的情况该怎么办呢?重新安装系统吗?当然不用!进入单用户模式更改一下root密码即可。

    步骤如下:

    重启linux系统

    img

    3 秒之内要按一下回车,出现如下界面

    img

    然后输入e

    img

    在 第二行最后边输入 single,有一个空格。具体方法为按向下尖头移动到第二行,按"e"进入编辑模式

    img

    在后边加上single 回车

    img

    最后按"b"启动,启动后就进入了单用户模式了

    img

    此时已经进入到单用户模式了,你可以更改root密码了。更密码的命令为 passwd

    img

    使用系统安装光盘的救援模式

    救援模式即rescue ,这个模式主要是应用于,系统无法进入的情况。如,grub损坏或者某一个配置文件修改出错。如何使用rescue模式呢?

    光盘启动,按F5 进入rescue模式

    img

    输入linux rescue 回车

    img

    选择语言,笔者建议你选择英语

    img

    选择us 键盘

    img

    img

    这里问你是否启动网络,有时候可能会联网调试。我们选no

    img

    这里告诉我们,接下来会把系统挂载在/mnt/sysimage 中。

    其中有三个选项:

    • Continue 就是挂载后继续下一步。
    • Read-Only 挂载成只读,这样更安全,有时文件系统损坏时,只读模式会防止文件系统近一步损坏。
    • Skip就是不挂载,进入一个命令窗口模式。

    这里我们选择Continue。

    img

    至此,系统已经挂载到了/mnt/sysimage中。接下来回车,输入chroot /mnt/sysimage 进入管理员环境。

    img

    提示: 其实也可以到rescue模式下更改root的密码的。这个rescue模式和windows PE系统很相近。

    当运行了chroot /mnt/sysimage/ 后,再ls 看到目录结构和原来系统中的目录结构是一样的。

    没错!现在的环境和原来系统的环境是一模一样的。你可以输入exit 或者按Ctrl + D退出这个环境。然后你再ls 看一下

    img

    这个目录其实就是rescue模式下的目录结构,而我们的系统文件全部在 /mnt/sysimage目录下。

    Linux 系统目录结构

    Linux 远程登录

    centos8 忘记密码:

    https://www.cnblogs.com/china-boy/p/11718325.html

    2.按’e’键,进入如下界面,移动向下方向键至“linux16”开头的行。然后按向右的方向键移动,找到“ro”并将其修改为“rw init=/sysroot/bin/bash”。(rw后边有空格,\是系统自己添加的)

    img

    3.同时按住Ctrl和x键,系统进入如下界面,即emergency(紧急情况)模式。

    4.运行命令“chroot /sysroot/ ”切换回原始系统(即我们的centos7),然后即可修改密码,修改完密码运行命令“touch /.autorelabel”,使SELinux生效,密码生效。如下图。(如果出现如下方块乱码(vmware不支持汉字,所以显示方块),将当前终端语言临时设置为英文即可)。

    /# chroot /sysroot/

    /# LANG=en (把语言改为英文)

    /# passwd

    /# touch /.autorelabel

    img

    5.同时按住Ctrl和d键,输入reboot,回车,系统重新启动。

    Linux 远程登录

    Linux 一般作为服务器使用,而服务器一般放在机房,你不可能在机房操作你的 Linux 服务器。

    这时我们就需要远程登录到Linux服务器来管理维护系统。

    Linux 系统中是通过 ssh 服务实现的远程登录功能,默认 ssh 服务端口号为 22。

    Window 系统上 Linux 远程登录客户端有 SecureCRT, Putty, SSH Secure Shell 等,本文以 Putty 为例来登录远程服务器。

    Putty 下载地址:https://www.putty.org/

    如果你下载了 Putty,请双击 putty.exe 然后弹出如下的窗口。

    img

    在Host Name( or IP address) 下面的框中输入你要登录的远程服务器IP(可以通过ifconfig命令查看服务器ip),然后回车。

    img

    此时,提示我们输入要登录的用户名。

    Linux 远程登录

    Linux 一般作为服务器使用,而服务器一般放在机房,你不可能在机房操作你的 Linux 服务器。

    这时我们就需要远程登录到Linux服务器来管理维护系统。

    Linux 系统中是通过 ssh 服务实现的远程登录功能,默认 ssh 服务端口号为 22。

    Window 系统上 Linux 远程登录客户端有 SecureCRT, Putty, SSH Secure Shell 等,本文以 Putty 为例来登录远程服务器。

    Putty 下载地址:https://www.putty.org/

    如果你下载了 Putty,请双击 putty.exe 然后弹出如下的窗口。

    img

    在Host Name( or IP address) 下面的框中输入你要登录的远程服务器IP(可以通过ifconfig命令查看服务器ip),然后回车。

    img

    此时,提示我们输入要登录的用户名。

    img

    输入root 然后回车,再输入密码,就能登录到远程的linux系统了。

    img


    使用密钥认证机制远程登录linux

    SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定。

    SSH 为建立在应用层和传输层基础上的安全协议。

    首先使用工具 PUTTYGEN.EXE 生成密钥对。打开工具 PUTTYGEN.EXE 后如下图所示:

    img

    该工具可以生成三种格式的key :SSH-1(RSA) SSH-2(RSA) SSH-2(DSA) ,我们采用默认的格式即 SSH-2(RSA)。Number of bits in a generated key 这个是指生成的key的大小,这个数值越大,生成的key就越复杂,安全性就越高。这里我们写 2048。

    img

    然后单击Generate 开始生成密钥对:

    img

    注意的是,在这个过程中鼠标要来回的动,否则这个进度条是不会动的。

    img

    到这里,密钥对已经生成了。你可以给你的密钥输入一个密码,(在Key Passphrase那里)也可以留空。然后点 Save public key 保存公钥,点 Save private Key 保存私钥。笔者建议你放到一个比较安全的地方,一来防止别人偷窥,二来防止误删除。接下来就该到远程 linux 主机上设置了。

    1)创建目录 /root/.ssh 并设置权限

    [root@localhost ~]# mkdir /root/.ssh mkdir 命令用来创建目录,以后会详细介绍,暂时只了解即可。

    [root@localhost ~]# chmod 700 /root/.ssh chmod 命令是用来修改文件属性权限的,以后会详细介绍。

    2)创建文件 / root/.ssh/authorized_keys

    [root@localhost ~]# vim /root/.ssh/authorized_keys vim 命令是编辑一个文本文件的命令,同样在后续章节详细介绍。

    3)打开刚才生成的public key 文件,建议使用写字板打开,这样看着舒服一些,复制从AAAA开头至 “---- END SSH2 PUBLIC KEY ----” 该行上的所有内容,粘贴到/root/.ssh/authorized_keys 文件中,要保证所有字符在一行。(可以先把复制的内容拷贝至记事本,然后编辑成一行载粘贴到该文件中)。

    在这里要简单介绍一下,如何粘贴,用vim打开那个文件后,该文件不存在,所以vim会自动创建。按一下字母"i"然后同时按shift + Insert 进行粘贴(或者单击鼠标右键即可),前提是已经复制到剪切板中了。粘贴好后,然后把光标移动到该行最前面输入 ssh-rsa ,然后按空格。再按ESC,然后输入冒号wq 即 :wq 就保存了。格式如下图:

    img

    4)再设置putty选项,点窗口左侧的SSh –> Auth ,单击窗口右侧的Browse… 选择刚刚生成的私钥, 再点Open ,此时输入root,就不用输入密码就能登录了。

    img

    如果在前面你设置了Key Passphrase ,那么此时就会提示你输入密码的。为了更加安全建议大家要设置一个Key Passphrase。

    终端利用ssh登录远程服务器

    安装ssh:

    yum install ssh
    

    启动ssh:

    service sshd start
    

    登录远程服务器:

    ssh -p 50022 my@127.0.0.1
    输入密码:
    my@127.0.0.1:
    

    -p 后面是端口

    my 是服务器用户名

    127.0.0.1 是服务器 ip

    回车输入密码即可登录

    ssh 192.168.2.100  直接输入密码登录到目标
    

    Linux 文件基本属性

    Linux 系统是一种典型的多用户系统,

    • 不同的用户处于不同的地位,拥有不同的权限。

    为了保护系统的安全性,Linux 系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。

    在 Linux 中我们 通常使用以下两个命令来修改文件或目录的所属用户与权限:

    • chown (change ownerp) : 修改所属用户与组。
    • chmod (change mode) : 修改用户的权限。

    下图中通过 chown 来授权用户,通过 chmod 为用户设置可以开门的权限。

    img

    在 Linux 中我们可以使用 ll 或者 ls –l 命令来显示一个文件的属性以及文件所属的用户和组,如:

    [root@www /]# ls -l
    total 64
    dr-xr-xr-x   2 root root 4096 Dec 14  2012 bin
    dr-xr-xr-x   4 root root 4096 Apr 19  2012 boot
    ……
    

    实例中,bin 文件的第一个属性用 d 表示。d 在 Linux 中代表该文件是一个目录文件。

    在 Linux 中第一个字符代表这个文件是目录、文件或链接文件等等。

    • 当为 d 则是目录
    • 当为 - 则是文件;
    • 若是 l 则表示为链接文档(link file);
    • 若是 b 则表示为 装置文件里面的 可供储存的 接口设备(可随机存取装置);
    • 若是 c 则表示为 装置文件里面的 串行端口设备,例如键盘、鼠标(一次性读取装置)。

    接下来的字符中,以三个为一组,且均为 rwx 的三个参数的组合。其中, r 代表可读(read)、 w 代表可写(write)、 x 代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号 - 而已。

    img

    每个文件的属性由左边第一部分的 10 个字符来确定(如下图)。

    363003_1227493859FdXT

    从左至右用 0-9 这些数字来表示。

    0 位确定文件类型,第 1-3 位确定属主(该文件的所有者)拥有该文件的权限。

    第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。

    其中,第 1、4、7 位表示读权限,如果用 r 字符表示,则有读权限,如果用 - 字符表示,则没有读权限;

    2、5、8 位表示写权限,如果用 w 字符表示,则有写权限,如果用 - 字符表示没有写权限;第 3、6、9 位表示可执行权限,如果用 x 字符表示,则有执行权限,如果用 - 字符表示,则没有执行权限。

    number of hard links 
    硬链接数
    

    Linux文件属主和属组

    [root@www /]# ls -l
    total 64
    drwxr-xr-x 2 root  root  4096 Feb 15 14:46 cron
    drwxr-xr-x 3 mysql mysql 4096 Apr 21  2014 mysql
    ……
    

    对于文件来说,它都有一个特定的所有者,也就是对该文件具有所有权的用户。

    同时,在Linux系统中,用户是按组分类的,一个用户属于一个或多个组。

    文件所有者以外的用户又可以分为文件所有者的同组用户和其他用户。

    因此,Linux系统按文件所有者、文件所有者同组用户和其他用户来规定了不同的文件访问权限。

    在以上实例中,mysql 文件是一个目录文件,属主和属组都为 mysql,属主有可读、可写、可执行的权限;与属主同组的其他用户有可读和可执行的权限;其他用户也有可读和可执行的权限。

    对于 root 用户来说,一般情况下,文件的权限对其不起作用。


    更改文件属性

    1、chgrp:更改文件属组

    语法:

    chgrp [-R] 属组名 文件名
    

    参数选项

    • -R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。

    2、chown:更改文件属主,也可以同时更改文件属组

    语法:

    chown [–R] 属主名 文件名
    chown [-R] 属主名:属组名 文件名
    

    进入 /root 目录(~)将install.log的拥有者改为bin这个账号:

    [root@www ~] cd ~
    [root@www ~]# chown bin install.log
    [root@www ~]# ls -l
    -rw-r--r--  1 bin  users 68495 Jun 25 08:53 install.log
    

    将install.log的拥有者与群组改回为root:

    [root@www ~]# chown root:root install.log
    [root@www ~]# ls -l
    -rw-r--r--  1 root root 68495 Jun 25 08:53 install.log
    

    3、chmod:更改文件9个属性

    Linux文件属性有两种设置方法,一种是数字,一种是符号。

    Linux 文件的基本权限就有九个,分别是 owner/group/others(拥有者/组/其他) 三种身份各有自己的 read/write/execute 权限。

    先复习一下刚刚上面提到的数据:文件的权限字符为: -rwxrwxrwx , 这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:

    • r:4
    • w:2
    • x:1

    每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: -rwxrwx— 分数则是:

    • owner = rwx = 4+2+1 = 7
    • group = rwx = 4+2+1 = 7
    • others= — = 0+0+0 = 0

    所以等一下我们设定权限的变更时,该文件的权限数字就是 770。变更权限的指令 chmod 的语法是这样的:

     chmod [-R] xyz 文件或目录
    

    选项与参数:

    • xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
    • -R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件都会变更

    举例来说,如果要将 .bashrc 这个文件所有的权限都设定启用,那么命令如下:

    [root@www ~]# ls -al .bashrc
    -rw-r--r--  1 root root 395 Jul  4 11:45 .bashrc
    [root@www ~]# chmod 777 .bashrc
    [root@www ~]# ls -al .bashrc
    -rwxrwxrwx  1 root root 395 Jul  4 11:45 .bashrc
    

    那如果要将权限变成 -rwxr-xr– 呢?那么权限的分数就成为 [4+2+1][4+0+1][4+0+0]=754。

    符号类型改变文件权限

    还有一个改变权限的方法,从之前的介绍中我们可以发现,基本上就九个权限分别是:

    • user:用户
    • group:组
    • others:其他

    那么我们就可以使用 u, g, o 来代表三种身份的权限。

    此外, a 则代表 all,即全部的身份。读写的权限可以写成 r, w, x,也就是可以使用下表的方式来看:

    chmod u g o a +(加入) -(除去) =(设定) r w x 文件或目录

    如果我们需要将文件权限设置为 -rwxr-xr– ,可以使用 chmod u=rwx,g=rx,o=r 文件名 来设定:

    #  touch test1    // 创建 test1 文件
    # ls -al test1    // 查看 test1 默认权限
    -rw-r--r-- 1 root root 0 Nov 15 10:32 test1
    # chmod u=rwx,g=rx,o=r  test1    // 修改 test1 权限
    # ls -al test1
    -rwxr-xr-- 1 root root 0 Nov 15 10:32 test1
    

    而如果是要将权限去掉而不改变其他已存在的权限呢?例如要拿掉全部人的可执行权限,则:

    #  chmod  a-x test1
    # ls -al test1
    -rw-r--r-- 1 root root 0 Nov 15 10:32 test1
    

    更多参考内容

    Linux 远程登录

    Linux 文件与目录管理

    展开全文
  • Linux文件属主和属组

    千次阅读 2017-11-01 16:58:24
    Linux文件属主和属组 对于文件来说,它都有一个特定的所有者,也就是对该文件具有所有权的用户。 同时,在Linux系统中,用户是按组分类的,一个用户属于一个或多个组。 文件所有者以外的用户又可以分为...

    Linux文件属主和属组

    对于文件来说,它都有一个特定的所有者,也就是对该文件具有所有权的用户。

    同时,在Linux系统中,用户是按组分类的,一个用户属于一个或多个组。

    文件所有者以外的用户又可以分为文件所有者的同组用户和其他用户。

    因此,Linux系统按文件所有者、文件所有者同组用户和其他用户来规定了不同的文件访问权限。


    在以上实例中,java 文件是一个目录文件,属主和属组都为 java,属主有可读、可写、可执行的权限;与属主同组的其他用户有可读、可写、可执行的权限;其他用户也有可读、可写、可执行的权限。

    hdconfig 文件是一个目录文件,属主和属组都为 root,属主有可读、可写、可执行的权限;与属主同组的其他用户有可读、可执行的权限;其他用户也有可读、可执行的权限。

    对于 root 用户来说,一般情况下,文件的权限对其不起作用。



    展开全文
  •  文件的属性(通过ls -l看到的),文件所有人所有组的管理(属主和属组),文件普通权限(读写执行),系统默认权限设定(umask的设定),文件的特殊权限(冒险位,强制位,黏着位) 1.文件的属性 通过ls -l ...

    概述:

           文件的属性(通过ls -l看到的),文件所有人所有组的管理(属主和属组),文件普通权限(读写执行),系统默认权限设定(umask的设定),文件的特殊权限(冒险位,强制位,黏着位)。

    1.文件的属性

    通过ls -l filename 可以显示filename文件的属性

    1)           2)        3)  4)   5)   6)         7)                      8)

     

    1).文件类型

    - ##普通文件

    d ##目录

    c ##字符设备

    s ##套接字设备

    p   ##管道

    b ##快设备

    l ##连接


    2).文件读写权限

    rw- | r-- | r--

      *   $    @

    *所有人的权限

    $所有组权限

    @其他人的权限

    3).文件内容被系统记录的次数

    这里可能不太好理解,什么叫被系统记录次数呢,我们上面这个文件的被记录次数时‘1’,代表被记录一次,那么怎样让这个值增加呢?

    这里这个hello文件的被记录数是1

    通过ln命令后,hello文件的文件被记录数是2,那个ppp就是hello文件的硬链接,每给hello增加一个硬链接文件,这个文件的被记录数就会增加1。ln -s src des 是增加软连接,但是这个命令并不会增加文件的被记录数。

    使用软链接后

    ,文件被记录数并没有增加。

    4).文件所有人

    5).文件所有组

    6).文件内容的大小

    文件内容的大小其实可理解为文件内容的字节数,通过wc -c命令证实了这个结论。

    下面我们换一个文件类型看下这个6字段,查看下目录文件的第6个字段。

    test_dir是一个新建的目录,他的里面只有'.'和‘..’两个文件,这个目录的第六个字段为什么是6呢?

    现在让我们来讨论下linux的目录结构(以后会讨论关于文件系统的问题)

    目录中放置的东西是inode号与它文件名的对应关系


    就如这张图所描述,其实目录也是个文件,他也有自己的内容,它的内容就如上图,每在目录下创建一个文件,就相当于在目录下写了信息这就是这第六个字段对于目录的作用,其实与文件是一个意思。

    7).文件最后一次被修改的时间

    相当于mtime

    8).文件名字


    2.文件所有人所有组的管理

    chown  username file|dir ##更改文件的所有人

    chown   username:groupname file|dir ##更改所有人所有组

    chown -R  username         dir  ##递归更改目录本身及里面所有人

    chgrp   -R  uesrname         dir ##更改目录本身及里面所有内容的所有组


    tips:
    (1)修改所有人及所有组时,分割符只能用  “:”或者“.”

    (2)也可以使用chown uid:gid file|dir 这种形式


    3.文件普通权限

    rw-|r--|r--

     u    g  o

    u:文件所有人可以读写

    g:文件组成员可以读

    o:其他成员可以读

    1).r

    对文件:可以查看文件中的内容

    对目录:可以查看它里面的文件(通过ls)但不可以进入(t通过cd)。

    2).w

    对文件:可以查看修改文件的内容

    对目录:可以在目录中添加删除文件

    3).x

    对文件:可以执行这个文件内记录的程序动作

    对目录:可以进入目录


    对于以上的权限有一点说明

    目录:一般不会只给读或者写权限,一定要给他执行权限,用一个形象的比喻,目录只给都不给执行,就是透过窗户看,只给写,不给执行权限,就是不让进去房间,让你拿东西,这都是没有什么意义的。

    4).修改文件

    chmod [-R] [u|g|o] [+|-|=] [r|w|x] file|dir

    5).数字方式修改权限

    chmod  777 file

    7=rwx

    6=rw

    5=r-w

    4=r--

    3=-wx

    2=-w-

    1=--x

    0=---


    4.系统默认权限设定

    从系统存在来说,开放权利越大,系统存在意义越高

    从系统安全角度说,开放权利越少,系统安全性越高

    所以系统新建文件或会去掉一些权限

    设定方式

    umask

    我系统默认的权限掩码是0022,意思就是新建的文件会去掉它所有组合其他用户的写权限。

    用umask 077可以设定保留权限为0077,但是只是在当前shell中。

    如果你想永远有效需要更改/etc/profile和/etc/bashrc配置文件,其中/etc/profile文件为与内核有关,而/etc/bashrc为与shell有关,两个文件中umask一定要一致。

    5.特殊权限

    1.suid

    只针对二进制可执行文件,执行这个文件时进程的所有人为这个文件的所有人,与进程发起人没有关系

    用chmod设定

    chmod u+s file

    suid=4  ---100

    chmod 4xxx file  ##这样也可以设置suid

    suid还叫做冒险位

    2.sgid

    对文件:只针对二进制可执行文件,任何二进制可执行文件运行的时候,进程的所有组与进程的发起者没有关系,都是这个文件创建者的所有组。

    对目录:当目录有sgid权限 ,目录中新建的文件的所有组都自动归档到目录所有组中,和文件的真实创建者没有关系。

    设定方式:chmod g+s file|dir

    sgid=2 ---010

    sgid还叫做强制位

    3.sticky

    只针对目录,当一个目录上有t权限,那么目录中的文件只能被所有人删除

    设定方式

    chmod o+t dir

    t=1  ---001


    最后的最后来练习一下


    1.新建用户组,shengchan,caiwu,jishu


    2.新建用户要求如下:
            * tom 是shengchan组的附加用户
            * harry 是caiwu组的附加用户
            * leo 是jishu组的附加用户
            * 新建admin用户,此用户不属于以上提到的三个部门



    3.新建目录要求如下:
            * /pub目录为公共存储目录对所有用户可以读,写,执行,但用户只能删除属于自己的文件
            * /sc 目录为生产部存储目录只能对生产部人员可以写入,
              并且生产部人员所建立的文件都自动归属到shengchan组中
            * /cw 目录为财务部存储目录只能对财务部人员可以写入,
              并且财务部人员所建立的文件都自动归属到caiwu组中
            * admin用户能用touch工具在/sc目录和/cw目录中任意建立文件,但不能删除文件。



    接下来这一问就有两种解决方法了

    第一种是通过sudo来讲root的权限下放,下图就是过程


    通过visudo把这行添加进去,再通过sudo就可以在sc下随意创建文件了,但是不可以删除文件

    第二种方法是将/bin/touch文件复制到admiin的家目录下的bin目录,再给这个touch设置冒险位,以后每次admin执行的touch其实是/home/admin/bin/touch,而不是/bin/touch,这样不但完成了要求,而且也防止其他用户也拥有touch的root权限。

    4.设定普通用户新建文件权限为"r--r-----"
    将/etc/profile和/etc/bashrc下的umask值修改为226即可




    5.设定admin用户可以通过sudo自由建立新用户



    展开全文
  • Linux文件属性Linux系统是一种典型的多用户系统,不同的用户...在Linux中我们可以使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和例如:[root@bogon /]# ls -l总用量 24lrwxrwxrwx. 1 root root ...
  • 首先要明白, ...也就是属主、属组、其他人 举例说明: 文件test ,是一个目录文件 属主和属组都为 root 属主有可读、可写、可执行的权限 属组有 可读和可执行的权限 其他人有 可读和可执行的权限 ...
  • chown 更改文件属主和属组

    万次阅读 2016-03-07 15:43:51
    1.作用更改一个或多个文件或目录的属主和属组。使用权限是超级用户。2.格式chown [选项] 用户或组 文件3.主要参数–dereference:受影响的是符号链接所指示的对象,而非符号链接本身。 -h, –no-dereference:会...
  • LINUX学习(四)文件属主和属组

    千次阅读 2018-05-22 12:38:50
    total 64 drwxr-xr-x 2 root root 4096 Feb 15 14:46 cron drwxr-xr-x 3 mysql mysql 4096 Apr 21 2014 mysql ……Linux系统文件所有者、文件所有者同...在以上实例中,mysql 文件是一个目录文件,属主和属组都为...
  • Linux文件属性 Linux系统是一种典型的多用户系统,不同的用户...在Linux中我们可以使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和 例如: [root@bogon /]# ls -l 总用量 24 lrwxrwxrwx. ...
  • linux命令chown 更改文件属主和属组(所有者和所有组)1.作用更改一个或多个文件或目录的属主和属组。使用权限是超级用户。2.格式chown [选项] 用户或组 文件3.主要参数–dereference:受影响的是符号链接所指示的对象...
  • I have a large directory tree with hundreds of nested sub-folders. I need to copy only 4 folders and their contents to a remote system, but I need to destination folder structure to be kept the same.E...
  • linux系统用户组管理Linux支持用户组,用户组就是具有相同...使用“ls –l”命令可以看到每一个文件的宿主和属组。(用户组在Linux中扮演着重要的角色,方便管理员对用户进行集中管理)。1、Linux用户组分为以下两类:...
  • Linux文件属性Linux系统是一种典型的多用户系统,不同的用户...在Linux中我们可以使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和例如:[root@bogon /]# ls -l总用量 24lrwxrwxrwx. 1 root root ...
  •  如果创建了一个目录或文件,有时会需要改变它的安全性设置,在linux系统上有一些工具可以完成这任务,包括使用chmod命令改变已有默认权限,分别能对属主,属组,其它用户的权限的控制分别以读取、写入、执行3种...
  • 一、Linux系统目录结构 系统启动必须: /boot:存放的启动Linux 时使用的内核文件,包括连接文件以及镜像文件。 /etc:存放所有的系统需要的配置文件和子目录列表,更改...sysfs文件系统集成了下面3种文件系统的信息:
  • 1、描述linux目录结构以及目录结构命名规定 目录都是按照一定的类别有规律的命名。...├── boot 系统启动引导文件 ├── data 这是自定义的目录命 ├── dev 磁盘/光驱挂载目录 ├── e...
  • 概述如果创建了一个目录或文件,有时会需要改变它的安全性设置,在Linux系统上有一些工具可以完成这任务,包括使用chmod命令改变已有默认权限,分别能对属主,属组,其它用户的权限的控制分别以读取、写入、执行3种...
  • 超级用户:(root), uid,gid=0,超级用户是系统管理员,具备系统最高权限 程序用户 :每个程序在创建时会自动创建一个程序用户,uid, gid =1-999,一般这个用户只在维护这个程序时才会被使用,一般也是不允许此用户...
  • 一、linux文件类型普通文件: -,-f目录: -d连接文件: -l设备文件:字符设备(线性设备): -c块设备(随机设备): -b命名管道: -p套接字文件: -s二、文件的属主属组为了实现系统资源的分配,在文件系统上为每一个文件...
  • 查找当前系统上没有属主或属组,且最近一个周内曾被访问过的文件或目录&查找/ 查找/etc目录下至少有一类用户没有执行权限的文件
  • 概述如果创建了一个目录或文件,有时会需要改变它的安全性设置,在linux系统上有一些工具可以完成这任务,包括使用chmod命令改变已有默认权限,分别能对属主,属组,其它用户的权限的控制分别以读取、写入、执行3种...
  • scp 是securecopy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机...另 外,scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsync就远远不及它了。虽然rsync比scp会...
  • 一. Linux用户身份概述这...ll:查看文件权限1.1 Linux用户介绍设计Linux系统的初衷之一就是为了满足多个用户同时工作的需求,因此Linux系统必须具备很好的安全性。安装centos 7操作系统时,特别要求设置root管理员...
  • 日常开发中,大家是怎么...今天给大家介绍一下Linux之间复制文件和目录的scp命令:scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。scp的语法:scp [-1246BCpqrv] [-c ci...
  • 而目前我们的各个系统所使用的应用服务器90%以上的都是Linux内核的系统,只有少部分系统(或者历史较久的系统 )采用windows server做为应用服务器或管理机。为了有效的快速同步两个应用服务器(两台之间的网络是互连的...
  • Linux文件基本属性 Linux系统是一种典型的多用户系统,不同的用户处于...在Linux中我们可以使用ll或者ls -l命令来显示一个文件的属性以及文件所属的用户和,如: [root@www /]# ls -l total 64 dr-xr-xr-x 2 root ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,516
精华内容 606
关键字:

文件系统属组