当前位置:首页 > CN2资讯 > 正文内容

linux写R语言 r linux

3天前CN2资讯


1、权限管理

在 linux 中的每个用户必须属于一个组,不能独立于组外,每个组或者用户都有自己的权限。

1.1 基础

文件的一些基本属性。

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

[root@root /]# ll total 68 -rw-r--r-- 1 root root 0 Jul 7 17:13 9000 lrwxrwxrwx. 1 root root 7 Apr 26 2020 bin -> usr/bin dr-xr-xr-x. 5 root root 4096 Apr 26 2020 boot lrwxrwxrwx. 1 root root 8 Apr 26 2020 sbin -> usr/sbin drwxr-xr-x 6 root root 4096 Jul 3 23:18 www

其中第一个位置表示文件类型,当

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

接下来的9字符,分别以三个为一组,且均为 rwx 的三个参数的组合,表示文件的权限。其中,前三个字符为属主权限,中间三个字符为属组权限,最后三个字符为其他用户权限, r 代表可读(read)、 w 代表可写(write)、 x 代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号 - 代替。

例如:drwxr-xr-x 6 root root 4096 Jul 3 23:18 www

文件类型

属主权限

属组权限

其他用户权限

0

123

456

789

d

r w x

r - x

r - x

目录文件

读 写 执行

读 写

读 写

代表字符

权限

对文件的含义

对目录的含义

分数

r

读权限

可以查看文件

可以列出目录的内容

4

w

写权限

可以修改文件

可以在目录中创建、删除文件

2

x

执行权限

可以执行文件

可以进入目录

1

6: 代表的意思是文件别引用了几次,通常设置有一个计数器.

root:代表文件的创建者

root:文件所属的组。

4096:文件大小。

Jul 3 23:18:文件创建或者左后一次修改的时间。

www:文件的名字。

1.2 权限管理

1、 chmod:修改文件或目录的权限(rwx权限)

chmod用于设置文件或目录的权限,一般有两种操作:

  • 数字表示法:用数字来代替赋予文件的权限,通常用 r=4 w=2 x=1
  • 符号表示法:用符号来表示赋予文件权限,通常用 r w x
  • Linux 文件的基本权限就有九个,分别是 owner/group/others(拥有者/组/其他) 三种身份各有自己的 read/write/execute 权限。

    即:

    u 所有者

    g 所有组

    o 其他人

    a 所有人(u、g、o 的总和)

    1.1 数字表示法

    语法

    chmod [参数] [权限] [文件或目录]

    参数

    • -R : 递归修改
    • -c : 若该文件权限确实已经更改,才显示其更改动作
    • -f : 若该文件权限无法被更改也不要显示错误讯息
    • -v : 显示权限变更的详细资料

    权限

    • u 表示该文件的拥有者
    • g 表示与该文件的拥有者属于同一个组
    • o 表示其他人
    • a 表示这三者皆是
    • + 表示增加权限
    • -表示取消权限
    • = 表示唯一设定权限。
    • r 表示可读取,其值为4
    • w 表示可写入,其值为2
    • x 表示可执行,其值为1
    • X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。

    即:

    1.符号表示

    简写

    用户类型

    说明

    u

    user

    文件所有者

    g

    group

    文件所有者所在组

    o

    others

    所有其他用户

    a

    all

    所用用户, 相当于 ugo

    2.权限增删

    符号

    说明

    +

    为指定的用户类型增加权限

    -

    去除指定用户类型的权限

    =

    设置指定用户权限的设置,即将用户类型的所有权限重新设置


    权限

    rwx

    7

    读 + 写 + 执行

    rwx

    6

    读 + 写

    rw-

    5

    读 + 执行

    r-x

    4

    只读

    r–

    3

    写 + 执行

    -wx

    2

    只写

    -w-

    1

    只执行

    –x

    0



    案例

    1.将hello.java设置为所有人皆可写。

    #查看hello.java所拥有的权限 [root@root itbestboy]# ll hello.java -rw-r--r-- 1 root root 20 Jul 27 00:43 hello.java #增加些操作,即ugo+w 或者a+w [root@root itbestboy]# chmod a+w hello.java [root@root itbestboy]# ll hello.java -rw-rw-rw- 1 root root 20 Jul 27 00:43 hello.java

    2.将hello.java文件中的所属主增加执行操作,并且 将其他人的写操作去掉。

    #查看hello.java所拥有的权限 [root@root itbestboy]# ll hello.java -rw-rw-rw- 1 root root 20 Jul 27 00:43 hello.java #给所属主,即文件的拥有者添加执行操作, u+x 其他人的写操作去掉 o-w #当同时操作多个权限时,中间用逗号隔开 [root@root itbestboy]# chmod u+x,o-w hello.java [root@root itbestboy]# ll hello.java -rwxrw-r-- 1 root root 20 Jul 27 00:43 hello.java
    1.2 符号表示法

    语法

    chmod [参数] [权限] [文件或目录]

    参数

    • -R : 递归修改
    • -c : 若该文件权限确实已经更改,才显示其更改动作
    • -f : 若该文件权限无法被更改也不要显示错误讯息
    • -v : 显示权限变更的详细资料

    权限

    • u 表示该文件的拥有者
    • g 表示与该文件的拥有者属于同一个组
    • o 表示其他人
    • a 表示这三者皆是
    • + 表示增加权限
    • -表示取消权限
    • = 表示唯一设定权限。
    • r 表示可读取,其值为4
    • w 表示可写入,其值为2
    • x 表示可执行,其值为1
    • X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。

    即:

    1.数字表示

    代表字符

    权限

    对文件的含义

    对目录的含义

    分数

    r

    读权限

    可以查看文件

    可以列出目录的内容

    4

    w

    写权限

    可以修改文件

    可以在目录中创建、删除文件

    2

    x

    执行权限

    可以执行文件

    可以进入目录

    1

    2.组合


    权限

    数值

    7

    读 + 写 + 执行

    7(4+2+1)

    6

    读 + 写

    6(4+2)

    5

    读 + 执行

    5(4+1)

    4

    只读

    4

    3

    写 + 执行

    3(2+1)

    2

    只写

    2

    1

    只执行

    1

    0


    0

    案例

    1.将hello.java文件中的所属主修改为只能读,并且 将其他人的写操作加上。

    #查看权限 [root@root itbestboy]# ll hello.java -rwxrw-r-- 1 root root 20 Jul 27 00:43 hello.java #将所属主的权限修改为只读,即 r-- 数值为4 ,其他人的权限加上写操作,即rw- 数值为4+2=6, #故此时hello.java的权限为466 [root@root itbestboy]# chmod 466 hello.java [root@root itbestboy]# ll hello.java -r--rw-rw- 1 root root 20 Jul 27 00:43 hello.java #chmod 466 hello.java 等价于 chmod u=r,go=rw hello.java

    不是所用用户都可以修改文件的,只有该文件的拥有者和root用户可以,其他对该文件没有拥有权(也就是不是自己创建的文件)是不能修改文件的权限的。

    2、 chown:修改文件或命令所有者

    这个命令只有root用户可以操作,其他用户不可以操作

    语法

    chown [参数] [权限] [文件或目录]

    文件或目录:是指需要被修改所有者的文件名或者文件路径

    参数 :

    • user : 新的文件拥有者的使用者 ID
    • group : 新的文件拥有者的使用者组(group)
    • -f : 忽略错误信息
    • -v : 显示详细的处理信息
    • -R : 递归修改

    权限格式:user:group

    案例

    修改hello.java的所属主和所属组。

    #查看hello.java的详细信息 [root@root home]# ll itbestboy/hello.java -r--rw-rw- 1 root root 20 Jul 27 00:43 itbestboy/hello.java #修改hello.java的所属主和所属组 [root@root home]# chown -f anmious:anmious itbestboy/hello.java #再次查看hello.java的详细信息 [root@root home]# ll itbestboy/hello.java -r--rw-rw- 1 anmious anmious 20 Jul 27 00:43 itbestboy/hello.java

    2.在1的基础之上,不改变hello.java的拥有者,但是关联组设置为 2011(关联组ID)

    [root@root home]# chown -f :2011 itbestboy/hello.java [root@root home]# ll itbestboy/hello.java -r--rw-rw- 1 anmious 2011 20 Jul 27 00:43 itbestboy/hello.java

    3、 chgrp:修改文件或命令所属组

    这个命令只有root用户可以操作,其他用户不可以操作

    语法

    chgrp [参数] [属组名 ] [文件名]

    参数

    • -R  递归处理
    • -v 显示指令执行过程。

    案例

    更改hello.java文件所属组为root

    #查看文件的所属组 [root@root home]# ll itbestboy/hello.java -r--rw-rw- 1 anmious 2011 20 Jul 27 00:43 itbestboy/hello.java #把文件的所属组改为root 等价于 chown -v :root itbestboy/hello.java [root@root home]# chgrp -v root itbestboy/hello.java group of ‘itbestboy/hello.java’ retained as root [root@root home]# ll itbestboy/hello.java -r--rw-rw- 1 anmious root 20 Jul 27 00:43 itbestboy/hello.java

    4、 umask:显示、设置文件的缺省权限

    umask可用来设定[权限掩码]。[权限掩码]是由3个八进制的数字所组成,将文件现在的权限减掉权限掩码后,即可产生建立文件时预设的权限。

    十进制值

    权限

    rwx

    二进制

    7

    读 + 写 + 执行

    rwx

    111

    6

    读 + 写

    rw-

    110

    5

    读 + 执行

    r-x

    101

    4

    只读

    r–

    100

    3

    写 + 执行

    -wx

    011

    2

    只写

    -w-

    010

    1

    只执行

    –x

    001

    0



    000

    语法

    umask [参数] [权限掩码]

    参数

    • -S  以文字的方式来表示权限掩码。

    案例

    1.查看权限掩码

    [root@root home]# umask 0022 [root@root home]# umask -S u=rwx,g=rx,o=rx

    可以看出umask执行后显示的是0022,其中0022可以分为两部分来看。其中第一个0是特权的意思,后面三个数字022表示权限掩码的值,用777减去022就可以得到755,表示的就是下面umask -S执行的结果,意思就是创建一个默认权限为所属主rwx,所属组r- x其他r-x的文件,即创建的文件的权限为rwxr-xr-x

    [root@root home]# touch test.txt [root@root home]# ll test.txt -rw-r--r-- 1 root root 0 Aug 3 22:16 test.txt

    此时创建一个文件后发现该文件的权限并不是rwxr-xr-x,而是-rw-r–r--都缺少了执行的权限,那是因为在linux系统中,系统默认所有创建的文件都没有执行的权限,这是因为linux系统具有自我保护功能,这样做可以避免病毒的攻击。

    如果想让文件的权限具有rwxr-xr-x,即754,则可以使用权限掩码,即777-754=023,可以将权限掩码设置为023,即umask 023

      你可能想看:

      扫描二维码推送至手机访问。

      版权声明:本文由皇冠云发布,如需转载请注明出处。

      本文链接:https://www.idchg.com/info/25728.html

      分享给朋友:

      “linux写R语言 r linux” 的相关文章

      inet.ws纽约:高性能VPS服务与折扣优惠码解析

      inet.ws是一家新兴的互联网服务提供商,成立于2020年。尽管公司年轻,但它凭借创新的VPS服务迅速在市场上占据了一席之地。最让人称道的是,inet.ws致力于为用户提供稳定和高效的云服务器体验,尤其是在他们的纽约数据中心,这里被认为是其最重要的运营点之一。 在发展的过程中,inet.ws不断完...

      大硬盘服务器的应用与优化建议

      大硬盘服务器,是一种为了存储大量数据而特别设计的服务器。它在数据存储和管理方面发挥着至关重要的作用,特别是在当今数据爆炸的时代。这样一台服务器不仅需要满足基本的存储需求,还应具备高效的性能。无论是企业的数据库管理、云计算服务,还是大数据分析,都会依赖这样的服务器进行支持。 我对大硬盘服务器的定义和用...

      解决Linode被封的问题与账户恢复策略分享

      Linode作为一款备受欢迎的美国VPS,其灵活性和服务质量吸引了众多用户。然而,基于我的经验,国内用户在使用Linode时常常面临被封的困扰。这不仅影响了使用体验,也对业务的持续性造成了影响。我想深入分析一下Linode被封的原因。 首先,Linode的全球网络状况在近年来遭遇了严峻挑战。随着越来...

      如何选择支持ChatGPT的VPS服务:性价比与性能并重

      选择一个合适的VPS来支持ChatGPT的运行是一个重要的决策。首先性价比自然是我考虑的一个关键因素。市场上有许多VPS服务提供商,每个都有不同的价格和服务。找到那个能够在不牺牲性能的前提下,提供合理价格的,才是明智的选择。对于预算有限的用户来说,选择按小时计费的方案可能更有利,借此可以根据实际使用...

      深入了解ICMP协议及其在网络管理中的应用

      ICMP(Internet Control Message Protocol,互联网控制消息协议)是TCP/IP协议族中的一种重要网络协议。我们可以把ICMP想象成网络中的信使,它主要负责在网络中传递控制消息和错误报告。这种功能对于维护网络的正常运作至关重要,让网络管理员能够及时发现并处理问题。IC...

      BGPTO独立服务器:高性能云主机解决方案

      BGPTO是一家由国人创办的云服务器主机商,致力于为用户提供高性能的独立服务器。随着全球互联网的发展,对云计算和服务器主机的需求不断增加,BGPTO顺应这一趋势,选择在日本、新加坡、香港和美国等地设立机房。公司希望通过独立服务器的销售,满足用户在不同地区的需求,尤其是针对国内用户和企业的海外业务拓展...