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)
上一篇 2016-12-19 21:47
下一篇 2016-12-19 23:54

相关推荐

  • 第四周-grep正则表达式简单应用

    复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 cp -r /etc/skel /home/tuser1 && chmod 700 -R /home/tuser1 编辑/etc/g…

    Linux干货 2016-08-02
  • linux运维

    linux运维大纲,学习路线图

    Linux干货 2017-10-21
  • 软链接和硬链接的区别

    文件管理 前言 Linux的一则哲学:一切皆文件。既然入坑,那么管理linux就是管理一堆文件,操作文件这是展示个人十八般武艺的时候,功夫高下一招下。怎么成为高手,高手的招式都有哪些,拳脚掌刀枪棍棒,一招一式如何练就。 1文件存储 文件存储就好比每个练武人必备的技能——挨打,在你耍十八般武艺前,必须先扛住对方的一掌。我们不必拥有金刚罩铁布衫,至少要学会如何躲…

    Linux干货 2016-10-20
  • rsyslog学习

    一、rsyslog日志服务简介 二、rsyslog的配置详解 三、实现日志服务器收集日志及last、lastb、dmseg命令的使用 四、实现日志存储在mysql中 一、rsyslog日志服务简介 日志的概念好理解,日志作用可用于排障和追溯审计的等 1、rsyslog是一个C/S架构的服务,可监听于某套接字,帮其它主机记录日志信息,在linux系统中可以分类…

    Linux干货 2016-10-24
  • ocata openvswtich

      一、Controller配置1、安装软件 # yum –enablerepo=centos-openstack-ocata,epel -y install openstack-neutron openstack-neutron-ml2 2、修改配置文件/etc/neutron/neutron.conf [DEFAULT]core_p…

    2018-01-22
  • 第四周 博客作业

    grep useradd cp

    Linux干货 2017-12-28