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
下一篇 2016-12-19

相关推荐

  • LAMP分离环境的搭建(最新版本的mysql+php+http源码编译安装)

    实验者:FrankStar      实验日期:20150628 任务:主要是实现在Linux环境下配置LAMP环境,利用VMware+centos6.4实现,将LAMP分离为多台主机; 附注:由于大家的环境不一样,可能有些人已经安装了这个包或者那个软件,所以调试的环境结果也不一样,为了尽量能模拟到 可能出现的所有问题,在编译会…

    Linux干货 2015-06-30
  • 文件权限

    文件权限 文件属性       rw-r–r–表示文件权限     Root 表示文件所有者     Root 表示文件所属组     0 表示文件的大小 …

    Linux干货 2016-08-11
  • hadoop分布式集群

    分布式集群的实现 环境: 192.168.36.129   node1:NN,SNN,RM  192.168.36.130  node2:DN,NM 192.168.36.132   node3:DN,NM 192.168.36.133   node4:DN,NM 配置java环境,每个节点时间同步,基于主机名互相通信,定义/etc/hosts 文件 &nb…

    2017-12-09
  • shell编写的linux命令练习工具

    linux常用命令加选项,有成百上个,仅仅靠背诵忘记得太快,所以写了此脚本,便于对linux命令的练习,希望能帮助到大家。 运行脚本效果如下: 上边两图一个是运行脚本时的截图,另一个为题库的格式(@做分隔符,所以如果题目中有@一定要替换掉) 下面附上源码 #!/bin/bash#版本号:1.0 #作者:Mr.L #WX:504498722FILE=/root…

    2017-03-19
  • vim 常见用法、计划任务和脚本初探

    vim的常用方法 gg:跳至首行 G:跳至魔行 dd:删除光标所在行 ndd:删除光标及以下(n-1)行 yy:复制光标所在行 p:把复制行粘贴在光标下一行 P:粘贴在上一行 u:取消上一步操作 /string:查找关键字 n:往下查询 N:往上查询 %s/string1/string2/:把string1替换为string2,后面加g表示全局替换 set&…

    Linux干货 2016-12-04