1、描述linux目录结构以及目录结构命名规定
1)、Linux系统不同的目录可以分布在不同的分区或者不同的硬盘设备上,目录和磁盘分区没有关联。
2)、挂载点是系统进入设备的入口。如mount /dev/cdrom /mnt就是把/mnt与/dev/cdrom联系起来。
3)、所有的目录都是按照一定的类别有规律的组织和命名的。FHS(目录层次结构)是Linux的目录规范标准。
Filesystem Hierarchy Standard(FHS):
/bin:所有用户可用的基本命令程序文件;
/sbin:供系统管理使用的工具程序;
/boot:引导加载器必须用到的各静态文件:kernel, initramfs(initrd), grub等;
/dev:存储特殊文件或设备文件; 设备有两种类型:字符设备(线性设备)、块设备(随机设备);
/etc:系统程序的配置文件,只能为静态;
/home:普通的家目录的集中位置;一般每个普通用户的家目录默认为此目录下与用户名同名的子目录,/home/USERNAME;
/root:管理员的家目录;可选;
/lib:为系统启动或根文件系统上的应用程序(/bin, /sbin等)提供共享库,以及为内核提供内核模块
2、显示/etc目录下,所有以.d结尾的文件或目录
ls -d /etc/*.d
3、显示/etc目录下,所有.conf结尾,且以m,n,r,p开头的文件或目录
ls -d /etc/[mnrp]*.conf
4、创建/app/rootdir目录,并复制/root下所有文件到该目录内, 要求保留原有权限
mkdir -pv /app/rootdir
cp -a /root /app/rootdir/
5、使用命令行展开功能,创建/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b,在/tmp目录下创建目录:x_y, x_z, q_y, q_z
mkdir -p /tmp/{a1/{a,b},a2}
mkdir -p /tmp/{x,q}_{y,z}
6、总结用户、用户组管理命令并演示命令以及常见用法
1). useradd命令;
useradd命令用于创建新的用户,格式为“useradd [选项] 用户名”。
参数作用:
-d 指定用户的家目录(默认为/home/username)
-e 账户的到期时间,格式为YYYY-MM-DD.
-u 指定该用户的默认UID
-g 指定一个初始的用户基本组(必须已存在)
-G 指定一个或多个扩展用户组
-N 不创建与用户同名的基本用户组
-s 指定该用户的默认Shell解释器
2). groupadd命令;
groupadd命令用于创建用户组,格式为“groupadd [选项] 群组名”。
3). usermod命令;
usermod命令用于修改用户的属性,格式为“usermod [选项] 用户名”。
参数作用:
-c 填写用户账户的备注信息
-d -m 参数-m与参数-d连用,可重新指定用户的家目录并自动把旧的数据转移过去
-e 账户的到期时间,格式为YYYY-MM-DD
-g 变更所属用户组
-G 变更扩展用户组
-L 锁定用户禁止其登录系统
-U 解锁用户,允许其登录系统
-s 变更默认终端
-u 修改用户的UID
4). passwd命令;
passwd命令用于修改用户密码、过期时间、认证信息等,格式为“passwd [选项] [用户名]”。普通用户只能使用passwd命令修改自身的系统密码,而root管理员则有权限修改其他所有人的密码。
参数作用:
-l 锁定用户,禁止其登录
-u 解除锁定,允许用户登录
--stdin 允许通过标准输入修改用户密码
-d 使该用户可用空密码登录系统
-e 强制用户在下次登录时修改密码
-S 显示用户的密码是否被锁定,以及密码所采用的加密算法名称
5). userdel命令;
userdel命令用于删除用户,格式为“userdel [选项] 用户名”。
参数作用:
-f 强制删除用户
-r 同时删除用户及用户家目录
7、文件权限,属主属组管理命令有哪些,并演示命令以及用法
chmod:用来变更文件或目录的权限。格式为"chmod [选项] 文件名"
文件的三类用户:
u :属主
g :属组
o :其他
a :所有
授权表示法:直接操作一类用户的一个权限位r,w,x(读,写,执行);
u+, u-
g+, g-
o+, o-
a+, a-
从属关系管理命令:chown,chgrp
chown 命令: 改变某个文件或目录的所有者和所属的组格式为:"chown [选项] 用户 文件名"
选项:-R:递归修改
chgrp 命令:用来改变文件或目录所属的用户组。该命令用来改变指定文件所属的用户组。
格式为:"chgrp [选项] 组 文件名"
8、创建用户gentoo,附加组为bin和root,默认shell为/bin/csh,注释信息为 "Gentoo Distribution"
useradd gentoo -G bin,root -s /bin/csh -c "Gentoo Distribution"
1、描述linux目录结构以及目录结构命名规定
文件名最长255个字节 包括路径在内文件名称最长4095个字节
蓝色-->目录 绿色-->可执行文件 红色-->压缩文件 浅蓝色-->链接文 件 灰色-->其他文件
除了斜杠和NUL,所有字符都有效.但使用特殊字符的目录名和文件不推荐使用, 有些字符需要用引号来引用它们 标准Linux文件系统(如ext4),
文件名称大小写敏感 例如:MAIL, Mail, mail, mAiL
/boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader, grub) 都存放于此目录
/sbin:所有用户使用的基本命令;不能关联之独立分区,OS启动即会用到的程序
/sbin:管理类的基本命令;不能关联之独立分区,OS启动即会用到的程序
/lib:启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)
/lib64:专属于x86_4位系统上的辅助共享库文件存放位置
/etc:配置文件目录
/home/USERNAME:普通用户家目录
/root:管理员家目录
/media:便携式移动设备挂载点
/mnt:临时文件系统挂载点
/dev:设备文件及特殊文件存储位置
b:block device,随机访问
c:character device,线性访问
/opt:第三方应用程序的安装位置
/srv:系统上运行的服务用到的数据
/tmp:临时文件存储位置
/usr:universal shared, read-only data
bin:保证系统拥有完整功能而提供的应用程序
lib:32位使用
lib64:只存储64位系统
include:C程序的头文件(header files)
share:结构化独立的数据,例如doc,man等
local:第三方应用程序的安装位置
bin,sbin,lib,lib64,etc,share
/var:variable data files
cache:应用程序缓存数据目录
lib:应用程序状态信息数据
local:专用于为/usr/local下的应用程序存储可变数据;
lock:锁文件
log:日志目录及文件
opt:专用于/opt下的应用程序存储可变数据
run:运行中的进程相关数据,通常用于存储进程pid文件
spool:应用程序数据池
tmp:保存系统两次重启之间产生的临时数据
/proc:用于输出内核与进程信息相关的虚拟文件系统
/sys:用于输出当前系统上硬件设备相关信息虚拟文件件系统
/selinux:security enhanced Linux ,selinu 相关的安全策略等信息的存储位置
2、显示/etc目录下,所有以.d结尾的文件或目录
ls /etc/*.d -d
3、显示/etc目录下,所有.conf结尾,且以m,n,r,p开头的文件或目录
ls -d /etc/[mnrp]*.conf
4、创建/app/rootdir目录,并复制/root下所有文件到该目录内, 要求保留原有权限
mkdir -pv /app/rootdir;cp -a /root/* /app/rootdir/
5、使用命令行展开功能,创建/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b,在/tmp目录下创建目录:x_y, x_z, q_y, q_z
mkdir -pv /tmp/a{1,2} /tmp/a1{a,b} /tmp/x_{y,z} /tmp/q_{y,z}
6、总结用户、用户组管理命令并演示命令以及常见用法
用户和组管理命令
用户管理命令 useradd usermod userdel
组帐号维护命令 groupadd groupmod groupdel
用户创建:useradd
useradd [options] LOGIN
-u UID
-o 配合-u 选项,不检查UID的唯一性
-g GID:指明用户所属基本组,可为组名,也可以GID
-c "COMMENT":用户的注释信息
-d HOME_DIR: 以指定的路径(不存在)为家目录
-s SHELL: 指明用户的默认shell程序,可用列表在/etc/shells文件中
-G GROUP1[,GROUP2,...]:为用户指明附加组,组须事先存在
-N 不创建私用组做主组,使用users组做主组
-r: 创建系统用户 CentOS 6: ID<500,CentOS 7: ID<1000
-m 创建家目录,用于系统用户
-M 不创建家目录,用于非系统用户
默认值设定:/etc/default/useradd文件中
显示或更改默认设置 useradd -D
useradd –D -s SHELL
useradd –D –b BASE_DIR
useradd –D –g GROUP
用户属性修改
usermod [OPTION] login
-u UID: 新UID
-g GID: 新主组
-G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加组将会被 覆盖;若保留原有,则要同时使用-a选项
-s SHELL:新的默认SHELL
-c 'COMMENT':新的注释信息
-d HOME: 新家目录不会自动创建;若要创建新家目录并移动原家数据, 同时使用-m选项
-l login_name: 新的名字;
-L: lock指定用户,在/etc/shadow 密码栏的增加 !
-U: unlock指定用户,将 /etc/shadow 密码栏的 ! 拿掉
-e YYYY-MM-DD: 指明用户账号过期日期
-f INACTIVE: 设定非活动期限
删除用户
userdel [OPTION]... login
-r: 删除用户家目录
查看用户相关的ID信息
id [OPTION]... [USER]
-u: 显示UID
-g: 显示GID
-G: 显示用户所属的组的ID
-n: 显示名称,需配合ugG使用
切换用户或以其他用户身份执行命令
su [options...] [-] [user [args...]]
切换用户的方式:
su UserName:非登录式切换,即不会读取目标用户的配置文件,不改变 当前工作目录
su - UserName:登录式切换,会读取目标用户的配置文件,切换至家目 录,完全切换
root su至其他用户无须密码;非root用户切换时需要密码
换个身份执行命令:
su [-] UserName -c 'COMMAND'
选项:-l --login
su -l UserName 相当于 su - UserName
创建组
groupadd [OPTION]... group_name
-g GID: 指明GID号;[GID_MIN, GID_MAX]
-r: 创建系统组
CentOS 6: ID<500
CentOS 7: ID<1000
修改和删除组
组属性修改:groupmod
groupmod [OPTION]... group
-n group_name: 新名字
-g GID: 新的GID
组删除:groupdel
groupdel GROUP
7、文件权限,属主属组管理命令有哪些,并演示命令以及用法
修改文件的属主和属组
修改文件的属主:chown
chown [OPTION]... [OWNER][:[GROUP]] FILE...
用法:
OWNER
OWNER:GROUP
:GROUP 命令中的冒号可用.替换
-R: 递归
chown [OPTION]... --reference=RFILE FILE...
修改文件的属组:chgrp
chgrp [OPTION]... GROUP FILE...
chgrp [OPTION]... --reference=RFILE FILE...
-R 递归
文件权限
文件的权限主要针对三类对象进行定义
owner: 属主, u
group: 属组, g
other: 其他, o
每个文件针对每类访问者都定义了三种权限
r: Readable
w: Writable
x: eXcutable
修改文件权限
chmod [OPTION]... OCTAL-MODE FILE...
-R: 递归修改权限
chmod [OPTION]... MODE[,MODE]... FILE...
MODE:
修改一类用户的所有权限: u= g= o= ug= a= u=,g=
修改一类用户某位或某些位权限 u+ u- g+ g- o+ o- a+ a-
chmod [OPTION]... --reference=RFILE FILE...
参考RFILE文件的权限,将FILE的修改为同RFILE
权限设置示例
chgrp sales testfile
chown root:admins testfile
chmod u+wx,g-r,o=rx file
chmod -R g+rwX /testdir
chmod 600 file
chown mage testfile
8、创建用户gentoo,附加组为bin和root,默认shell为/bin/csh,注释信息为
useradd gentoo -G bin,root -s /bin/csh -c "Gentoo Distribution"
验证:
id gentoo
uid=1002(gentoo) gid=1004(gentoo) groups=1004(gentoo),0(root),1(bin)
grep gentoo /etc/passwd
gentoo:x:1002:1004:Gentoo Distribution:/home/gentoo:/bin/csh