一.描述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