第2周(老王视频)-作业

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

1)linux目录结构

常用文件系统(FHS Filesystem Hierarchy standard文件系统层级结构标准)

/boot系统启动(引导)文件、内核文件(vmlinuz)、引导加载器(bootloader, grub)都存放于此目录如:kernel(vmlinuz)、ramdisk(centos5:initrd.img;centos6:initramfs.img)

/etc配置文件目录

/etc/X11 如果安装Xwindows的话

/etc/skel 用户目录中文件(都是隐藏.文件)

/home/USERNAME:普通用户家目录   cd ~用户名 进入用户家目录

/root:管理员的家目录

/proc  内核和进程信息的虚拟(伪)文件系统接口(内核映射文件)系统调优及监控常用的目录)

/proc/cpuinfo,/proc/meminfo,/proc/swaps   /proc/sys,/proc/scsi/scsi  /proc/tty,/proc/version

/sys   硬件设备信息的虚拟(伪)文件系统接口(跟硬件设备相关的属性映射文件)(系统调优及监控常用的目录)

echo '- - -' > /sys/class/fc_host/host*/port_name  (此文件只有w权限,没有r权限)识别新硬盘

echo '- - -' > /sys/class/scsi_host/host*/port_name 

/bin “系统自身启动相关的”用户命令(普通用户和管理员都能使用),不能关联至独立分区,OS启动即会用到的程序

/sbin(System binaries) 系统自身启动相关的”管理命令(普通用户无权使用),不能关联至独立分区,OS启动即会用到的程序

/usr/bin(“系统自身启动起来后”“提供的基本功能的”用户命令),如:passwd

/usr/sbin(“系统自身启动起来后”“提供的基本功能的”管理命令),如:useradd

/usr/local/bin,/usr/loca/sbin第三方程序目录(默认目录中没文件)

/lib,/lib64库文件(.so都具有x可执行权限,但不能单独执行,需被调用才能执行)和内核模块文件(/lib/modules), 存放的是/bin和/sbin目录下程序所需的库文件;

/usr/lib,/usr/lib64用户程序的库文件

/usr/local/lib,/usr/local/lib64第三方程序目录(默认目录中没文件)

/usr/share/man

/usr/share/doc

帮助文件

/opt   Add-on(附加的,可选的) application早期第三方程序安装目录现在第三方程序放在:/usr/local目录

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

/usr(unix system/software resources ,universal shared readonly全局共享只读) 所有程序目录,/usr 里的所有文件一般来自Linux distribution;(/usr中的目录与/下的目录有点像),子目录如下:

1)bin: 保证系统拥有完整功能而提供的应用程序

2)sbin:

3)lib:32位使用

4)lib64:只存在64位系统

5)include: C程序的头文件(header files)

6)share:结构化独立的数据,例如doc, man等

7)local:第三方应用程序安装位置

/var(variable data files) 经常发生变化的文件,如:/var/log,/var/spool(邮件),/var/www,任务计划

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

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

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

4)lock: 锁文件

5)log: 日志目录及文件

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

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

8)spool: 应用程序数据池

9)/var/tmp: (粘着位目录)临时文件目录,保存系统两次重启之间产生的临时数据

/tmp(粘着位目录,一个月后若没有访问这个目录,自动删除其中内容)

/dev设备文件(Device files),分为:

1)b(block)块设备(随机设备,随机访问,数据块),如:/dev/sda1, /dev/sr0(光盘,/dev/cdrom是其软链接)

2)c(character)字符设备(线性设备,线性<即有序, 有先后顺序>访问,按字符为单位),如:/dev/zero,/dev/null ,/dev/tty1,/dev/pts/0, 鼠标,键盘,显示器

设备文件:只有元数据,没有数据,即文件没有大小,ll命令列出的“大小列”对应:主(major)设备号和次(minor)设备号(两者用逗号分隔)

/media:便携式移动设备挂载点, 如:cdrom,u盘

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

/tmp:临时文件存储位置

/misc  备用目录(杂项)

/lost+foud 存放一些“系统出错的检查结果”

/selinux  Security Enhanced Linux安全加强的linux

/etc/selinux/config 配置文件

 

2)目录结构命名规定

linux中(标准linux文件系统如:ext4)文件名称和命令区分大小写(与C语言保持一致),windows中文件名称和命令不区分大小写,故:linux中挂windows的分区(fat32,ntfs),是不区分大小写的

所有文件都位于根目录下,路径以/(下边的斜线,与windows是上边的斜线\)作为分隔符

文件名最长不能超过255个字节(包括路径在内文件名称最长4095个字节),

除了斜杠/和NUL,所有字符都有效.但使用特殊字符的目录名和文件不推荐使用,有些字符需要用引号来引用它们

一个目录:就是一个名称空间

绝对路径:从“顶级名称空间”起始标记的路径

相对路径:从非顶级,缺省路径从“当前路径(./或./可以省略)”开始

蓝色-->目录 浅蓝色-->链接文件 绿色-->可执行文件 红色-->压缩文件即打包文件(如:.tgz,.zip,.rpm)   灰色-->其他(普通)文件

cat /etc/DIR_COLORS 定义了不同后缀文件的颜色(不建议修改)

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

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

4、创建/app/rootdir目录,并复制/root下所有文件到该目录内, 要求保留原有权限mkdir -p /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 {a1/{a,b},a2}

mkdir -pv /tmp/{x,q}_{y,z}

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

useradd–D -s SHELL   修改新创建用户的默认shell,与直接vi /etc/default/useradd效果相同

useradd–D –b BASE_DIR 修改新创建用户的默认家目录路径

useradd–D –g GROUP  修改使用useradd -N新创建用户的默认主组(默认是:users)

 

/etc/group和/etc/gshadow最后一个字段的内容(即用户列表)必须相同

GECOS:用户全名或注释,可使用chfn 用户名 修改(包括:用户名,office,office电话,home电话),使用finger j具体用户名  查看注释信息

chfn -f '' -o '' -p '' -h '' 用户名 清除注释信息

chsh -s /sbin/nologin 用户名 之后不能登录(输入密码后又回到了登录界面)也不能从root用户su过去

chage 用户名 修改密码过期时间

-d LAST_DAY  设置密码最后修改时间    chage -d0 用户      (通过将密码最后一次修改时间设置为0)设置登录时必须修改密码

–l 显示密码策略 小写字母L   chage -l 用户名 查看过期时间(显示为具体日期

-m --mindaysMIN_DAYS

-M --maxdaysMAX_DAYS

-W --warndaysWARN_DAYS

-E --expiredate EXPIRE_DATE  修改账号在指定时间(yyy-mm-dd格式或+days格式或-days格式 )过期

-I --inactive INACTIVE (到期后再过多少天密码被锁定)大写字母I

 

newusers passwd格式相同的文件(可以复制/etc/passwd中的文件然后修改)   批量创建用户  newusers userlist.txt

chpasswd 批量修改用户口令   echo nginx:abcd1234 | chpasswd或cat passwdlist.txt | chpasswd  注:passwdlist文件一行一条记录,每条记录的格式为:username:明文密码

 

切换用户:

1)newgrp 用户组员 使用普通用户临时将当前用户自己的主组变更为指定的用户组(若指定的组不在该用户的附加组中需输入组密码,否则不许输入组密码)

此时touch文件:属主是当前用户,属组是指定的用户主组

exit退出后,当前用户的主组恢复原来与用户名同名的主组

2)换个身份(如su - -c 'cat /etc/shadow'普通用户以root身份执行命令)执行命令:su[-] UserName-c 'COMMAND'

 

 

useradd[options] LOGINUserName  

-u UID 指定uid   useradd -u 1234 yxh04

-o 配合-u 选项,不检查UID的唯一性(uid相同的用户权限相同)   useradd -ou 1234  yxh07  注:o不能放在u和具体id之间

-g 具体GID或组名:指明用户所属基本组,可为组名,也可以GID    useradd -g 982 app3

-N 不创建私用组做主组,使用users组(组id为100,系统默认存在的组)做主组 useradd -N app4

-G GROUP1[,GROUP2,...]:为用户指明附加组,组须事先存在   useradd -g bin -G yxh01,yxh02 user01      使用groups user01查看用户所属组(第一个是主组,后边的几个是附加组groups)

-d HOME_DIR: 以指定的路径(默认不存在会自动创建在/home下)为家目录  useradd -d /data/yxh09 yxh09

-r: 创建系统用户(/home下没生成家目录;一般设置nologin,不允许登录;root用户也无法su过去) CentOS 6: ID<500,CentOS 7: ID<1000   useradd -r app2 -s /sbin/noglin 

-m 指定系统用户(系统用户默认不创建家目录)创建家目录  useradd -r -m test04  

-M 指定非系统用户(/etc/login.defs定义默认非系统用户会自动创建家目录)不创建家目录 useradd -M test05

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

-c "COMMENT":用户的注释信息  useradd -c "web user" -r -s /sbin/nologin web  应用程序用户一般是系统用户且不允许登录

 

用户属性修改 usermod[OPTION] loginname

-u UID: 新UID

-l login_name: 新的登录用户名    公司新员工接替离职员工,可以直接将老员工用户的登录用户名修改成新员工的,因为uid未变,故新员工继承老员工的所有权限

-g GID: 新主组   usermod -g alice app   修改用户主组

usermod -G test04,test05 app  只用-G会覆盖原来的附加组

usermod -aG yxh01,bin,root,test05 app 使用-aG(a一定要再G前边)再原来附加组基础上追加新的附加组

usermod -G 用户主组 user01 或u sermod -G "" user01 清空用户的附加组即:使用用户主组(主组本身就是附加组中的第一个组)覆盖附加组或使用空覆盖附加组

-s SHELL:新的默认SHELL

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

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

 

userdel user01  只删除用户(/home下家目录和/var/spool/mail都不删除)

userdel -r user01 同时删除用户和/home下家目录和/var/spool/mail

 

创建组groupadd[OPTION]... group_name

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

-r: 创建系统组  groupadd -g 2001 -r g2

    CentOS 6: ID<500

    CentOS 7: ID<1000

组属性修改:groupmod[OPTION]... group

-n group_name: 新名字

-g GID: 新的GID   groupmod -g 3000 -n newg1 g1

组删除:groupdel GROUP  groupdel g2    注:不能删除有用户作为主组的用户组

 

 

配置账号或密码过期:

1)usermod:

-L, --lock  This puts a '!' in front of the encrypted password   有密码的用户加锁后,其无法登陆操作系统(但root用户可以su到此用户)

-p, --password PASSWORD 不建议使用,否则密码被看到

-U, --unlock  This removes the '!' in front of the encrypted password  

(1)有密码的用户加锁后可以解锁;

(2)(通过vi /etc/shadow将!!删除的)空密码用户(使用usermod -L,多了一个!)加锁后无法解锁

(3)(新创建的)无密码用户(密码为!!)无法解锁(centos5时候可以使用两次usermod -U解锁,即去掉两个!)

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

-f INACTIVE: 设定非活动期限(即多长时间后账号锁定)

2)设置密码passwd[OPTIONS] UserName: 修改指定用户的密码

-d:删除指定用户密码

-l:锁定指定用户

-u:解锁指定用户

passwd -e yxh01或chage -d0 yxh02   (通过设置/etc/shadow中“密码最近一次被更改的时间”改为0)强制用户下次登录修改密码(先输入旧密码后,提示必须输入新修改的密码)

-f:强制操作

-n mindays:指定最短使用期限 与chage 具体用户用户名 效果相同

-x maxdays:最大使用期限

-w warndays:提前多少天开始警告

-iinactivedays:非活动期限

--stdin:从标准输入接收用户密码  echo "PASSWORD" | passwd  --stdin USERNAME 可以使用

2)更改组密码gpasswd[OPTION] GROUP

gpasswd 用户组         给用户组设定密码  cat /etc/gshadow 发现上边用户组已经有加密密码了(不再是默认的!,表示未设置密码)

gpasswd -r 用户组     删除用户组密码

-a user 将user添加至指定附加组中  gpasswd -a yxh01 sales   

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

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

3)修改用户密码策略chage[OPTION]... LOGIN

chage 用户名 修改密码过期时间

-d LAST_DAY  设置密码最后修改时间    passwd -e yxh01或chage -d0 yxh02   (通过设置/etc/shadow中“密码最近一次被更改的时间”改为0)强制用户下次登录修改密码(先输入旧密码后,提示必须输入新修改的密码)

–l 显示密码策略 小写字母L   chage -l 用户名 查看过期时间(显示为具体日期

-m --mindaysMIN_DAYS

-M --maxdaysMAX_DAYS

-W --warndaysWARN_DAYS

-E --expiredate EXPIRE_DATE  修改账号在指定时间(yyy-mm-dd格式或+days格式或-days格式 )过期

-I --inactive INACTIVE (到期后再过多少天密码被锁定)大写字母I

示例:

chage-m 0 –M 42 –W 14 –I 7 tom 修改账号密码的策略

chage-E 2016-09-10 tom 修改账号在指定时间过期

 

1)查看用户信息:

(1)id user01    -u显示用户,-g显示主组(第一个是主组名),-n显示用户名或主组名

(2)cat /etc/passwd

(3)getent user01 user02

(4)GECOS:用户全名或注释,可使用chfn 用户名 修改(包括:用户名,office,office电话,home电话),使用finger j具体用户名  查看注释信息

        chfn -f '' -o '' -p '' -h '' 用户名 清除注释信息

2)查看组信息:

(1)cat /etc/group

(2)getent group group01 group02 查看一个或多个group信息

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

        options:

        -g, --group groupname更改为指定组(只有root)

        Actions:

        -a, --add username 指定用户加入组       groupmems -a yxh01 -g admin 使用管理员将用户yxh01加入admin组中(yxh01用户需重新登录才能看到新加的组)

        -d, --delete username 从组中删除用户   groupmems -d yxh01 -g admin 使用管理员将用户yxh01从admin组中删除

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

        groupmes -l, --list 显示组成员列表                           groupmems -l -g group01 

(4)groups [OPTION].[USERNAME]... 查看用户所属组列表(第一个组是用户所属主组)

 

修改组成员关系:

1)useradd 创建用户时指定组

-g 具体GID或组名:指明用户所属基本组,可为组名,也可以GID    useradd -g 982 app3

-N 不创建私用组做主组,使用users组(组id为100,系统默认存在的组)做主组 useradd -N app4

-G GROUP1[,GROUP2,...]:为用户指明附加组,组须事先存在   useradd -g bin -G yxh01,yxh02 user01      使用groups user01查看用户所属组(第一个是主组,后边的几个是附加组groups)

2)usermod 修改用户组

usermod -g alice app   修改用户主组

usermod -G test04,test05 app  只用-G会覆盖原来的附加组

usermod -aG yxh01,bin,root,test05 app 使用-aG(a一定要再G前边)再原来附加组基础上追加新的附加组

usermod -G 用户主组 user01 或u sermod -G "" user01 清空用户的附加组即:使用用户主组(主组本身就是附加组中的第一个组)覆盖附加组或使用空覆盖附加组

3)gpasswd 修改用户组

gpasswd -a yxh01 group01 将用户加入附加组

gpasswd -d yxh01 gropu01 从组中删除用户

4)groupmems: 修改用户组

groupmems -a yxh01 -g admin 使用管理员将用户yxh01加入admin组中(yxh01用户需重新登录才能看到新加的组)

groupmems -d yxh01 -g admin 使用管理员将用户yxh01从admin组中删除

getent group admin yxh01 查看一个或多个group信息

 

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

[admin@centos7 data]$chmod u=rwx f1

[root@centos7 data]#chmod a-x /usr/bin/cat

[root@centos7 data]#chmod --reference f1 dir/f5  将后边文件的权限设置为与前边文件一致

修改拥有者和所属组(-R递归):

chown admin f1 修改拥有者

chgrp root f1    修改所属组

chown root:root f1或chown root.root f1 同时修改拥有者和所属组

chown root. f1        .在后表示将f1的拥有者和所属组都改为root

[root@centos7 data]#chown root. f1

chown .admin f1    .在前表示只将f1的所属组都改为admin

[root@centos7 data]#chown .admin f1

 

SUID: user,占据属主的执行权限位

s:属主拥有x权限

S:属主没有x权限

SGID: group,占据属组的执行权限位

s:group拥有x权限

S:group没有x权限

Sticky: other,占据other的执行权限位

t:other拥有x权限

T:other没有x权限

1)SUID(Set User ID, 文件的拥有者的x权限变为s权限,用数字4表示,只能针对二进制可执行文件设置权限,不能针对文本和脚本设置权限)权限,功能:

当用户执行此二进制文件时,会继承此文件所有者的权限

2)SGID(Set Group ID, 文件的所属组的x权限变为s权限,用数字2表示,只能针对二进制可执行文件设置权限,不能针对文本和脚本设置权限)权限,功能:

当用户执行此二进制文件时,会继承此文件所属组的权限

3)Sticky(对应数字1,将其他用户o的x权限替换为t权限,只能针对目录设置权限)权限,功能:只能删除目录中自己创建的文件

 

chattr扩展元数据属性(配置root用户不能对文件进行某些操作)

chattr 具体文件名                显示文件chattr扩展元数据属性(ls -l看不到这种属性)

chattr +i  具体文件名           加i权限:root能cat 文件内容,但root不能:mv改名,删除rm(root用户只能删除父目录中别的没有i权限的文件,无法删除整个父目录),vim,>>追加和>覆盖

chattr -i   具体文件名           去掉i权限

chattr +a 具体文件名           加a权限:root能cat文件内容和>>追加,但root不能:mv改名,删除rm,vim和>覆盖   

chattr -a  具体文件名           去掉a权限

 

 

ACL(Access Control List)(ext4,xfs都支持,但fat不支持),实现灵活的权限管理(实现某一个用户不能访问,但other中的其他用户还能访问)

除了文件的所有者,所属组和其它人,可以对更多的用户设置权限

CentOS7默认创建的xfs和ext4文件系统具有ACL功能

CentOS7之前版本,默认 (如:fdisk命令)手工创建的ext4文件系统无ACL功能,需手动增加

tune2fs不能针对xfs文件系统,只适合ext系列文件系统:

tune2fs -l /dev/sda3 查看某分区是否有acl功能(结果含有acl关键字说明有acl功能)

tune2fs –o acl /dev/sdb1

mount –o acl /dev/sdb1 /mnt/test

 

 

df -T多显示了文件系统类型这一列

setfacl:set file ACL(Access Control List)

setfacl -m u:wang:- f1或setfacl -m u:wang:0 f1  针对某用户设置不能访问(rwx权限都没有)文件f1

setfacl -m u:wang:rw f1 设置某用户对某文件有rw权限

setfacl -R -m d:u:wang:rwx dir2     root用户在此目录中新建文件(default)拥有acl权限(wang:rwx)

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

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

 

 

 

 

magedu密斯李 3月25号 星期一 11:41

亲爱的小伙伴们,本周起就要做作业啦~~小伙伴们加油,热情的小火种继续保持~

###请同学们完成作业后,将本周博客链接提交到~~https://www.wjx.top/jq/33838953.aspx

★★还未提交个人学习计划的同学,小窗单独发我

▲就业班/全程班#的宝宝们看这里:(学习马哥就业视频的完成这一项作业)

1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。

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

3、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。

4、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。

5、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。

6、创建用户tom,指定UID为5001,指定家目录为/tmp/tom, 指定shell为/bin/zsh, 指定基本组为tom,附加组为jack

7、常用的用户以及文件管理命令有哪些,并演示命令以及用法。

▲架构师的宝宝们看这里:

1、搭建kvm虚拟环境

2、使用qemu-kvm创建和管理虚拟机

3、利用virt-install创建虚拟机并安装guestOS7.x

▲学习老王视频来的宝宝们,看这里(第3-4节)

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

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

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

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

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

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

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

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值