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

相关推荐

  • N25-第14周博客作业

    系统的INPUT和OUTPUT默认策略为DROP; iptables -P INPUT DROP iptables -P OUTPUT DROP [root@localhost ~]# iptables -L -n  Chain INPUT…

    Linux干货 2017-05-21
  • 管道、重定向和用户管理练习

    前面一章学习了硬链接和软链接,回顾上一章节内容:    硬链接:在inode表中记录一个条目,所有的元数据和原始文件元数据相同。        ·相当于两个名字。        ·删除原始文件,另一个条目也能够…

    Linux干货 2016-08-04
  • vim用法详解

    vim编辑器:文本编辑器: 文本:纯文本,ASCII text;Unicode 文本编辑器种类:     行编辑器:sed     全屏编辑器:nano,vi   vi:visual interface vim:vi improv…

    Linux干货 2016-08-15
  • Linux 第五天: (08月01日) 练习和作业

    Linux 第五天: (08月01日) 练习和作业         创建用户gentoo, 附加组为bin和root, 默认shell为/bin/csh, 注释信息为"Gentoo Distribution" useradd -G bin,root -c "Gentoo Distribut…

    Linux干货 2016-08-08
  • for、while、until循环

    一、for循环          for 变量名 in 列表;do             循环体     &nbsp…

    Linux干货 2016-09-19
  • 2016/08/21:shell遗留select,包管理器rpm,yum

    select:搭配case更好的显示选项     这个命令用来创建菜单,按数字排列,并等待用户输入,输入对应数字,执行相应操作,更清楚明了     普通版:select var in list        &…

    Linux干货 2016-08-24