二、Linux目录结构-用户和权限管理-总结

2019-07-05  本文已影响0人  么一凹喵6666

一、描述linux目录结构以及目录结构命名规定

大体上文件系统的入口是从根开始的,Linux上用"/"表示。 系统安装完后在根分区下有以下目录:

/bin  存放普通用户使用的二进制命令工具

/sbin 存放系统和管理员使用的二进制命令工具

/home 用户的家目录

/root root管理员的家目录

/etc  系统的配置文件目录

/tmp  系统的临时文件存放目录

/var  系统可变文件的存放位置,例如日志文件

/dev  系统的设备文件 比如块设备、字符设备

/run  存放全局共享,只读的数据

/usr  系统的大部分文件都放在此目录下

/boot 系统的boot分区,存放系统的引导文件,和系统启动相关的文件

/proc 不是真正的目录,是存放正在运行的内存中的一些数据信息

/sys  存放硬件相关的信息


目录的命名规定

1 严格区分大小写 这和文件系统有关系,如ext4 xfs 都对大小写敏感

2 文件名称最长255个字节

3 文件的颜色表示文件类型

蓝色代表目录,绿色代表可执行文件,红色代表压缩文件,浅蓝色是链接文件 灰色则是其它文件

4 目录名称可以使用除了NUL和斜杠的任意字符,对于特殊字符最好不用来作为文件名


二、显示/etc目录下,所有以.d结尾的文件或目录

ls -d /etc/*.d 

三、显示/etc目录下所有.conf结尾,且以m,n,r,p开头的文件或目录

ls -d /etc/{m,n,r,p}*.conf 

{ } 大括号内多个字符逗号分隔,表示或的关系。 

-d  表示对于目录,只显示目录本身的列表信息,而不显示目录下的内容

如果这样写:ls /etc/{m,n,r,p}*.conf  将递归显示目录下的所有内容

四、创建/app/rootdir目录,并复制/root下所有文件到该目录内, 要求保留原有权限

mkdir /app/rootdir ; cp -a /root /app/rootdir 

分号可以在同一行将多个命令连接起来

-a 等同于三个属性: -d 、-R 、--preserve=all 

-d 代表复制链接文件时,保留链接文件本身的元数据,而不是真实文件的数据

-R 代表递归,目录下如果还有其它的子目录或者文件,也一并进行复制

--preserve = all 代表 复制时保留文件的全部元数据信息(比如属主、属组、权限、修改时间等) 


五、使用命令行展开功能,创建 /tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b,在/tmp目录下创建目录:x_y, x_z, q_y, q_z

mkdir -p /tmp/a{1/{a,b},2}    

mkdir -p /tmp/x_{y,z}  /tmp/q_{y,z} 

六、总结用户、用户组管理命令并演示命令以及常见用法

用户相关的命令:

    useradd  创建用户

    usermod  修改用户的元数据

    userdel  删除此用户

    getent passwd username  --> 查看用户的密码文件条目信息

常用选项:

   -G 附加组

   -g 主组

   -d 以指定的不存在目录作为家目录

   -s 指定shell类型

   -u 指定uid

   -r 创建系统用户

   -c 添加注释

命令演示1: 比如创建用户xiaokk , 指定UID 2001 , 指定家目录/app , 指定附加组为wang 和 mage , 指定shell /bin/bash , 指定注释信息为 "My name's xiaokk"

useradd -G wang,mage -u 2001 -d /xiaokk -c "My name is xiaokk" xiaokk -->  多个附加组之间用逗号隔开  

get passwd xiaokk 查看用户xiaokk在passwd密码文件中对应的条目信息

命令演示2: 删除用户xiaokk 以及用户家目录

userdel -r xiaokk

使用-r选项可以删除用户家目录 

命令演示3:用户xiaokk 添加至root组和gentoo组,删除root和bin组:

usermod -aG root,gentoo xiaokk

usermod -G "" xiaokk ---> 清除用户所有的附加组

组管理相关的命令以及演示:

groupadd  创建组

    groupadd -g  2001 xiaokk ---> 新增组,指定组编码

    groupadd -r sysgrp   ---> 创建系统组,指定系统组编码。在1000以下

groupmod  修改组

    groupmod -n newxiaookk xiaokk  --> 修改组名称

    groupmod -g 2002 newxiaokk -> 修改组的编码GID

groupdel  删除

    groupdel newxiaokk ---> 删除用户组,该组必须不被任何用户作为主组在使用,否则无法被删除! 

gpasswd 设定组密码、将用户添加至指定组中

    gpasswd root ---> 设置root组的密码

    gpasswd -a xiaokk gentoo  将用户xiaokk添加至gentoo组里 

    gpasswd -d xiaokk gentoo 将用户xiaokk移出gentoo租

newgrp  临时切换主组 , 如果用户本身不属于此组,则需要输入组密码

      比如xiaokk用户 本身不属于root组 , 需临时切换为root组如何操作:

      newgrp root ---> 输入root组的密码

     切换只是临时生效,此后如果登出再重新登录,xiaokk还是属于原有的组

groupmems  更改或者查看组的成员 

        groupmems -g gentoo -a xiaokk   ---> 从gentoo组中添加成员xiaokk

        groupmems -g  gentoo -d xiaokk   ----> 从gentoo组中清除成员xiaokk 

        groupmems -g gentoo -p   ---> 从 gentoo组 中清除所有的成员 

        groupmems -g gentoo -l  ---> 列出gentoo组下的所有成员

        选项-g 指定action对象是哪一个组

七、文件权限,属主属组管理命令有哪些,并演示命令以及用法

对文件的普通权限有三种:
    读、写、执行 , 用 字母 r w x 表示 

    对于文件而言:

        读: 可访问文本文件的内容

        写: 可修改文本文件的内容,可修改文件的数据和元数据

       执行: 可以将二进制文件或者脚本在内存中运行起来,执行为进程

    对于目录而言:

        读: 可以浏览文件的列表,可以访问文件的内容

        写: 可以在目录下创建文件和删除文件

        执行:可以cd进入到目录中

访问文件或者目录有三类角色: 文件的所有者、文件的所属组、其它人 用 u g o 表示

修改权限的命令:

    修改权限的语法:

        chmod who operation permission file 

            who : u g o a 

            opt : + - = 

            per: r w x 对应数字 4 2 1

修改文件的权限的命令演示:

        chmod o+w /data/f1    ---> 给文件f1的o角色添加w写权

        chmod a-x /data/f1    ---> 给文件f1的三类角色取消执行权限 也可以不写a 

        chmod u=rwx,g=rw,o=--- f1  ---> 分别给文件f1的三类角色赋权限

        chmod -R a+wX dir/   ---> 对于文件夹dir和其下的所有文件夹加上执行权限,而目录下文件没有执行权限,选项用大写X 

        chmod --reference=f2 dir/wang   ---> 参照文件f2的权限 设置 dir/wang 的权限 

修改文件属主属组的演示:

        chown xiaokk /data/f1 ---> 修改文件f1的所有者为xiaokk

        chgrp root /data/f1---> 修改文件f1的所属组为root 组

        chown xiaokk.root /data/f1 ---> 上面两种写法合二为一 

    

八、创建用户gentoo,附加组为bin和root,默认shell为/bin/csh,注释信息为 "Gentoo Distribution"

useradd -G bin,root -s /bin/csh -c "Gentoo Distribution" gentoo 

上一篇下一篇

猜你喜欢

热点阅读