第二周学习

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

  (1)Linux目录结构命名规定

      几乎所有的Linux版本都会遵循FHS(FilesystemHierarchy Standard),中文翻译过来即为文件系统层次化标准。类似于Windows操作系统中c盘的文件目录,FHS采用树形结构组织文件。FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录,同时还给出了例外处理与矛盾处理。

(2)Linux目录结构

/boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader, grub)都存放于此目录

/bin:所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序

/sbin:管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序

/lib:启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)

/lib64:专用于x86_64系统上的辅助共享库文件存放位置

/etc:配置文件目录

/home/USERNAME:普通用户家目录

/root:管理员的家目录

/media:便携式移动设备挂载点

/mnt:临时文件系统挂载点

/dev:设备文件及特殊文件存储位置

/opt:第三方应用程序的安装位置

/srv:系统上运行的服务用到的数据

/tmp:临时文件存储位置

/usr 应用程序存放目录

         /usr/bin 存放应用程序

         /usr/share 存放共享数据

        /usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件

        /usr/local:存放软件升级包

         /usr/share/doc: 系统说明文件存放目录

        /usr/share/man: 程序说明文件存放目录

/var: 放置系统执行过程中经常变化的文件,如随时更改的日志文件

          cache:应用程序缓存数据目录

            lib: 应用程序状态信息数据

            local:专用于为/usr/local下的应用程序存储可变数据;

            lock: 锁文件

             log: 日志目录及文件

            opt: 专用于为/opt下的应用程序存储可变数据;

            run: 运行中的进程相关数据,通常用于存储进程pid文件

            spool: 应用程序数据池

            tmp: 保存系统两次重启之间产生的临时数据

/proc: 用于输出内核与进程信息相关的虚拟文件系统

/sys:用于输出当前系统上硬件设备相关信息虚拟文件系统

/selinux: security enhanced Linux,selinux相关的安全策略等信息的存储位置


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

            ls /etc/*.d


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

            ls /etc/[mnrp]*.conf


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

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


五.使用命令行展开功能,创建/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 {x,q}_{y,z}


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

1.用户管理命令

(1)添加用户命令:useradd

  常用参数:

              -u指定UID

              -o 配合-u 选项,不检查UID的唯一性

              -g GID:指明用户所属基本组,可为组名,也可以GID

               -c "COMMENT":用户的注释信息

               -d HOME_DIR: 以指定的路径(不存在)为家目录

               -s SHELL: 指明用户的默认shell程序,可用列表在/etc/shells文件中

               -G GROUP1[,GROUP2,...]:为用户指明附加组,组须事先存在

               -N 不创建私用组做主组,使用users组做主组

               -r: 创建系统用户 CentOS6: ID<500,CentOS 7: ID<1000

               -m 创建家目录,用于系统用户

               -M 不创建家目录,用于非系统用户

创建用户默认值设定:/etc/default/useradd文件中,显示或更改默认设置 命令只对当前shell有效 重启或关机后设置失效 要想要永久有效需要修改/etc/default/useradd文件

      useradd –D 显示默认值

      useradd –D -s SHELL 修改新建用户的默认shell

      useradd –D –b BASE_DIR 修改默认家目录的位置

      useradd –D –g GROUP 新建用户的公共组

例子:创建用户mage指定uid shell 用户注释信息家目录


             查看指定用户:mage  

            创建系统用户 指定用户的主组和多个附加组

           查看用户的信息:mysql用户

(2)修改用户属性命令:usermod

        参数和选项说明:

                -u UID: 新UID

                -g GID: 新主组

                -G GROUP1[,GROUP2,...]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使 用-a选项

                -s  SHELL:新的默认SHELL

               -c 'COMMENT':新的注释信息

              -d HOME: 新家目录不会自动创建;若要创建新家目录并移动原家数据,同时使用-m选项

              -l  login_name: 新的名字;

             -e YYYY-MM-DD: 指明用户账号过期日期

             -f INACTIVE: 设定非活动期限

例子:      修改mage用户属性保留原来附加组

                  指明用户过期时间

(3)删除用户命令:userdel

    参数说明:

            -r: 删除用户家目录

例子:删除mysql用户

(4)查看用户相关信息命令:id

        参数说明:

                -u:显示UID

               -g:显示GID

               -G:显示用户所属的组的ID

              -n:显示名称,需配合ugG使用

2.组帐号维护命令

    (1)创建组命令:groupadd

            参数说明:

                   -g  GID: 指明GID号;[GID_MIN, GID_MAX]

                   -r:创建系统组

例子:添加tom组指定gid

(2)修改组属性:groupmod 

           参数说明:

                    -n group_name: 新名字

                   -g GID: 新的GID

例子:修改tom组的名字和gid

(3)删除组命令:groupdel

(4)更改和查看组成员:groupmems [options][action]

             选项说明:[options]

                  -g,--group groupname 更改为指定组 (只有root能用)后面跟组名

                              [actions]

                -a --add username 指定用户加入组

                -d,--delete username 从组中删除用户

                -p,--purge 从组中清除所有成员

                -l, --list 显示组成员列表

例子:添加用户到xxx组查看xxx组成员把用户xxx从组里删除

(5)修改组密码命令:gpasswd     gpasswd [OPTION] GROUP 

         参数说明:

                 -a user 将user添加至指定组中

                 -d user 从指定组中移除用户user

                 -A user1,user2,... 设置有管理权限的用户列表

(6)临时切换主组命令:newgrp

          如果用户本不属于此组,则需要组密码

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

(1)修改文件的属主属组命令:chown  chown [OPTION]...[OWNER][:[GROUP]] FILE.. 

        用法说明:

              owner

              owner:group

                         :group 

        参数说明:

               -R递归修改

例子:修改f1文件属主属组递归修改

(2)修改文件权限命令:chmod  

 第一种方法      chmod    [{ugoa}{+-=}{rwx}]     [文件或目录]

                    u:所有者    g:所属组    o:其他人    a:所有人

                     +:为用户增加权限    -:为用户减少权限    =:为用户赋予权限

                     r:读权限    w:写权限     x:执行权限 

第二种方法: chmod   -R   [mode=421]    [文件或目录]    ←(这种方法用的比较多)

                      r:4   w:2   x:1

                     r为读权限,可以用4来表示

                      w为写权限,可以用2来表示,

                     x为执行权限,可以用1来表示。

          -R递归修改(就是将嵌套在很多文件夹中的文件权限修改了,如果没有这个,只能到指定的文件夹下进行修改)

例子:所有者赋予rw权限所属组加r权限其他人去除w权限  这种方法少用

          赋予644权限 常用此方法授权

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

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容