Linux用户及权限管理

Linux用户及权限管理

当我们用ls -al查看一个文件的详细信息的时候会显示出一个有七个字段的文件详细信息,现在我们来了解下这七个字段各自代表的意义

drwxr-xr-x 18 root root 4096 12月 16 15:25 .config

我们先来说明这七段分别表示什么每个字段我们用 | 隔开

drwxr-xr-x | 18 | root | root | 4096 | 12月 16 15:25 | .config

第一段:文件的类型和权限 有10个字段

第一个字符表示文件类型-:表示文件d:表示目录l:表示链接文件b:块设备文件p:命名管道s:套接字文件

文件权限

后面的九位表示文件的权限

左三位:定义文件所有者的权限

中三位:同组用户的权限

右三位:其他用户的权限

这里三位权限分别为:

r:read,读

w:write,写

x:execute,可执行

这里的权限对应到文件和目录是不同的

文件的权限含义:

r:可获取文件的数据

w:可修改文件的数据

x:可将此文件运行为进程

目录的权限含义:

r:可获取到目录下的文件列表

w:可修改此目录下的文件列表,即可创建或删除文件

x:可切换到此目录下,也可使用ls -l 来获取所有文件的详细属性

文件的基本权限就只有九个,分别是owner,group,others三种身份,而他们各自又有属于自己的r w x 权限那么我们可以用数字来代表各自的权限。他们各自的这三个权限数字又是累加的

对照下面就是

r:4

w:2

x:1

那么例如权限为[-rwxrwx—]的话那他们各自身份的权限表示为

owner=rwx=4+2+1=7

write=rwx=4+2+1=7

others=—=0+0+0=0

那么文件的权限就是770

练习:[rw-rw-r–] [rwxrwxrwx] [r-x-wx–x]

664,777,531

文件的默认权限:umask

我们知道了文件的权限,那么我们在新建一个文件或者目录的时候他的默认权限是什么呢?默认权限是跟umask相关的

[root@localhost ~]# umask

0022

我们这显示的数字是四位,但是我们文件或目录的普通权限只有三位.需要说明的是这前面一位是特殊权限位.后面会加以说明

umask码的默认值是需要减掉的权限,所以说要减去2的权限就是x执行的权限 所以新建文件或者目录的默认权限如下“

新建文件时:(-rw-rw-rw-)-(—–w–w-)=-rw-r–r–

666-umask

新建目录时:(drwxrwxrwx)-(d—-w–w-)=drwxr-xr-x

777-umask

注意:这里文件之所以用666区减表示文件默认不能拥有执行权限,如果减得的结果中有执行权限,则需要将其加1

第二段:文件链接数

表示有多少个文件链接到此节点

第三段:文件或目录的所有者

第四段:这个文件所属的用户组

第五段:文件的大小

默认单位为B

第六段:文件创建日期或者修改日期

第七段:文件名

.代表的是隐藏文件!ls -a可以查看所有文件包括隐藏文件

Linux文件权限管理命令

chmod:更改文件的权限
    chmod [OPTION]... MODE[,MODE]... FILE...
           chmod [OPTION]... OCTAL-MODE FILE...
           chmod [OPTION]... --reference=RFILE FILE..
       三类用户:
            u:属主
            g:属组
            o:其他
            a:所有用户
    (1) chmod [OPTION]... MODE[,MODE]... FILE...
            MODE表示法:
            赋权表示法:直接操作一类用户的所有权限位
            u=7 读写执行
            g=0 没有权限
            o=1 执行权限
            a=701 属主读写执行,属组没有权限,其他执行权限
            授权表示法:直接操作一类用户的一个权限位
            u+,u-   u-x 属主减去执行权限
            g+,g-   g+r 属组增加读权限
            o+,o-   o-w 其他减去写权限
            a+,a-   a-x 所有用户都减去执行权限

    -R:递归修改

chown:改变文件的所有者
    chown [OPTION]... [OWNER][:[GROUP]] FILE...
    chown [OPTION]... --reference=RFILE FILE...
    -R:递归修改

chgrp:改变文件属组
    chown [OPTION]... [OWNER][:[GROUP]] FILE...
    chown [OPTION]... --reference=RFILE FILE...
    -R:递归修改

umask:
    umask:查看当前umask码
    umask MASK:设置umask码

install:复制文件并设置属性

    单源复制:
        install [OPTION]... [-T] SOURCE DEST
    多源复制:
        install [OPTION]... SOURCE... DIRECTORY
        install [OPTION]... -t DIRECTORY SOURCE...
    创建目录:
        install [OPTION]... -d DIRECTORY...
    -m:设定目标文件的权限,默认为755
    -o:设定目标文件属主
    -g:设定目标文件属组


mktemp:创建临时文件或目录
    mktemp [OPTION]... [TEMPLATE]
    -d:创建临时目录
    注意:mktemp会将创建的临时文件名直接返回,因此,可直接通过命令引用保存起来;

练习:完成以下任务 1、新建系统组mariadb, 新建系统用户mariadb, 属于mariadb组,要求其没有家目录,且shell为/sbin/nologin;尝试root切换至用户,查看其命令提示符;

useradd -r mariadb -s /sbn/nologin -M

2、新建GID为5000的组mageedu,新建用户gentoo,要求其家目录为/users/gentoo,密码同用户名;

groupadd -g 5000 mageedu

useradd -d /users/gentoo gentoo

echo “gentoo” | passwd –stdin gentoo

3、新建用户fedora,其家目录为/users/fedora,密码同用户名;

useradd -d /users/fedora fedora

echo "fedora" | passwd –stdin fedora

4、新建用户www, 其家目录为/users/www;删除www用户,但保留其家目录;

useradd -d /users/www

userdel www

5、为用户gentoo和fedora新增附加组mageedu;

groupadd mageedu

usermod -aG mageedu gentoo

usermod -aG mageedu fedora

6、复制目录/var/log至/tmp/目录,修改/tmp/log及其内部的所有文件的属组为mageedu,并让属组对目录本身拥有写权限;

cp -r /var/log /tmp/

chown -R /tmp/log mageedu

chmod -R g+w

原创文章,作者:N24-执念,如若转载,请注明出处:http://www.178linux.com/64231

(0)
N24-执念N24-执念
上一篇 2016-12-19 21:47
下一篇 2016-12-19 23:54

相关推荐

  • 关于大型网站技术演进的思考(十五)–网站静态化处理—前后端分离—中(7)

    原文出处: 夏天的森林    上篇里我讲到了一种前后端分离方案,这套方案放到服务端开发人员面前比放在web前端开发人员面前或许得到的掌声会更多,我想很多资深前端工程师看到这样的技术方案可能会有种说不出来的矛盾心情,当我的工作逐渐走向越来越专业化的前端开发后,我就时常被这套前后端分离方案所困惑,最近我终于明白了这个困惑的本源在哪里…

    Linux干货 2015-03-11
  • linux软链接与硬链接的区别

    硬链接:相于当给文件增加了一个新名 在添加链接时会增加链接数,其inode结点数不会增加 支持绝对路径与相对路径 硬链接不能对目录来创建 不能跨分区来创建链接 硬链接链接到文件被删除时,依旧可以通过链接文件来访问被删文件的数据 软链接:可以支持对目录来创建链接 (注,当你用rm -rf 删除目录的时候,目录不会删除,但目录中的内容会被删除,并且会删除源文件)…

    Linux干货 2013-07-15
  • 士大夫

    士大夫

    2017-11-13
  • 软raid实现raid5

    现在Linux系统有磁盘情况如下 现在从sda,sdb,sdc,sdd 分区取出10G 的空间做raid5. 第一步:建立分区 现在执行fdisk  /dev/sd* 命令分区冲这四个磁盘划分10G分区 分别是sda6,sdb1,sdc1,sdd1。 具体操作如下: 分区完之后,执行#partx -a /dev/sd*  让分区生效。具体效果如下: 分区完成…

    2017-12-06
  • N25-第二周作业

    1、linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示 linux上处理目录的常用命令:     ls :列出目录     cd :切换目录     pwd:显示当前工作路径    &nbs…

    Linux干货 2016-12-13
  • N21_迟来的第三周练习

    最近忙成狗,落后了许多 1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 # who | cut -d ' ' -f1 | uniq 2、取出最后登录到当前系统的用户的相关信息。 # last&nbsp…

    Linux干货 2016-08-02