文件系统&&用户管理(一)
来源:互联网 发布:sky黑历史知乎 编辑:程序博客网 时间:2024/06/04 18:42
1.Linux的基本原则:
1、由目的单一的小程序组成;组合小程序完成复杂任务;2、一切皆文件;3、尽量避免捕获用户接口;4、配置文件保存为纯文本格式;
2.命令形式
命令格式:
命令 选项 参数选项:短选项: - 多个选项可以组合:-a -b = -ab长选项: -- 参数:命令的作用对象
3.命令举例:ls
ls -l:长格式 文件类型: -:普通文件 (f) d: 目录文件 b: 块设备文件 (block) c: 字符设备文件 (character) l: 符号链接文件(symbolic link file) p: 命令管道文件(pipe) s: 套接字文件(socket) 文件权限:9位,每3位一组,每一组:rwx(读,写,执行), r-- 文件硬链接的次数 文件的属主(owner) 文件的属组(group) 文件大小(size),单位是字节 时间戳(timestamp):最近一次被修改的时间 访问:access 修改:modify,文件内容发生了改变 改变:change,metadata,元数据-h:做单位转换-a: 显示以.开头的隐藏文件 . 表示当前目录 .. 表示父目录-A-d: 自身属性-i: index node, inode-r: 逆序显示-R: 递归(recursive)显示
4.文件系统
rootfs: 根文件系统 //boot : 系统启动相关的文件,如内核、initrd,以及grub(bootloader)/dev: 设备文件设备文件: 块设备:随机访问,数据块 字符设备:线性访问,按字符为单位 设备号:主设备号(major)和次设备号(minor)/etc:配置文件/home:用户的家目录,每一个用户的家目录通常默认为/home/USERNAME/root:管理员的家目录;/lib:库文件静态库, .a动态库, .dll, .so (shared object)/lib/modules:内核模块文件/media:挂载点目录,移动设备/mnt:挂载点目录,额外的临时文件系统/opt:可选目录,第三方程序的安装目录/proc:伪文件系统,内核映射文件/sys:伪文件系统,跟硬件设备相关的属性映射文件/tmp:临时文件, /var/tmp/var:可变化的文件/bin: 可执行文件, 用户命令/sbin:管理命令
5.文件管理
5.1目录管理:
ls查看目录下内容cd切换目录pwd查看当前位置mkdir(make directory)创建目录 #mkdir 目录名(自己指定) #mkdir -p 创建多级子目录 #mkdir 目录1 目录2 .. 创建多个同级目录rmdir删除目录,默认是能删除空目录tree 层次化查看
5.2文件管理:
touch创建文件 #touch 文件名(自己定义) #touch 文件1 文件2 .. 同时创建多个文件stat、file 查看文件属性、查看文件类型 rm删除(删除目录的时候,要加r) rm=remove #rm 文件名 #rm -r 目录名 默认会发生交互 #rm -rf [文件名 目录名] -f(force)表示强制删除cp 复制 #cp 原文件 目标文件(可以事先不存在) #cp -p 原文件 目标文件 -p 保留原文件属性 #cp -b 原文件 目标文件 -b 创建一个备份文件mv移除 #mv 原文件 目标文件 剪切+复制过程 可以针对目录
5.3查看目录、查看文件
查看目录: #ls 目录名 #ls -R 递归查看 #ls -d 查看目录本身属性查看文件:cat tac tail head more less ***用/etc/passwd文件来练习 #cat 文件名 默认是正序查看 #tac 文件名 倒序查看 #head -n 文件名 查看文件前n行 #tail -n 文件名 查看文件末n行 #more 文件名 可以翻页查看,默认只能向下 #less 文件名 可以翻页,也可以回看,按q退出
6.用户管理:
用户是用来操作系统中不同功能的身份.linux是多用户多任务的操作系统
Linux系统中用户的分类
1)超级用户: root uid=0
2)系统用户:不需要登录系统,服务于应用程序,维护系统的运行
bin nobody uid=1-499
3)普通用户:可以登录的用户 uid>=500
UID:用户标识
1.添加用户:
useradd 用户名(自己定义用户名) 创建用户的时候,如果没有其它指定,会创建一个与用户名同名的家目录 /home/用户名 同时也会创建一个同名的组 创建的时候可以指定u、g、c等选项 -u 指定用户的uid 用户的ID号 -g 指定用户的gid 组的ID号 -G 指定附属组,可以有多个, 但是这些附属组必须是系统内已经存在的 -c 指定描述,后边直接跟你想要的字符串 -d 指定家目录 -M 不建立家目录 -s 指定shell -e 指定用户过期时间, 日期 -f 指定用户过期时间, 天数用户创建完成后 1、会在/etc/passwd添加一行 例:Loyal:x:501:501:hello:/home/Loyal:/bin/bash 用户名 密码 UID GID 描述信息 家目录 登录shell (注意:/bin/bash 标示可登录用户;/sbin/nologin 标示不可登陆用户) 2、会在/etc/group添加一行 3、会在/etc/shadow 添加一行查看用户的ID: #id 用户名 (显示uid,gid ,组)查看当前用户的名字: #whoami
2.删除用户:
userdel 用户名 默认不会删除家目录(-r选项 会连同创建的家目录一同删除)
3、给用户设置密码
passwd: 超级用户:既可以修改自己的密码,又可以修改别人的密码,并且不需要提供当前密码 普通用户:只能修改自己的密码,要求严格,并且需要提供当前密码 普通用户修改自己的密码,需要当前密码,而且长度最少6位,而且不能是字典单词
/etc/shadow:存放用户密码信息的文件
# head -1 /etc/shadowroot:$6$9AOmQbxm$3X1qbP0srKNql7jCXpmwhyNxGTHmIbT65zF.:16276:0:99999:7:::用户名:加密后的密码:.... $6$:加密算法是sha512 $1$:加密算法是md5
4、修改用户信息:不常用
usermod: //modify:修改 -G:修改用户的附属组,不管用户原来的附属组如何,直接覆盖 -g:修改用户的主要组 -a:一般和-G联合使用,追加附属组 -u:修改用户的uid -d:修改用户的家目录 -s:修改用户的shell
7、组 group
用户和组的关系:组中可以没有用户、也可以有一个或者多个用户。用户只有一个主要组,可以同时属于多个组,但是除了主组以外的其他组称为附属组。
组的分类:从用户的角度分的,分为: 主组:primary group、initial group、first group,用户的默认组,也就是gid所标识的组 附属组:secondary group、supplementary group1、添加组 groupadd # groupadd g1 -g:添加组时,指定gid是多少 # groupadd -g 800 g2 # tail -2 /etc/group g1:x:603: g2:x:800: 组名:密码:gid:组里成员2、修改组: groupmod # groupmod -g 888 g2 # grep g2 /etc/group g2:x:888: 修改组的名字 : -n 新名字 # groupmod -g 588 -n group1 g1 # grep gr /etc/group group1:x:588:3、删除组:groupdel 注意:不能够删除用户的主要组,能够删除用户的附属组 # groupdel group1 # grep group1 /etc/group //没有任何输出,表示文件中没有含有group1关键字的行4、组管理 gpasswd 管理/etc/group和/etc/gshadow文件的,每一个组可以有管理员,成员和密码 给组加密码:可以让知道组密码的人,临时的切换到该组中,能够使用该组的资源。 1)指定组的管理员列表 # groupadd groups # useradd u1 # gpasswd -A u1 groups //u1用户就是groups组的管理员了 2)向组中添加成员 # su - u1 $ gpasswd -a sha groups Adding user sha to group groups # tail /etc/group groups:x:889:sha 3)给组设置密码 # gpasswd groups Changing the password for group groups New Password: Re-enter new password: 4)切换组 # su - niulang $ id uid=500(niulang) gid=500(niulang) groups=500(niulang) $ newgrp groups //临时切换组 Password: $ id uid=500(niulang) gid=889(groups) groups=500(niulang),889(groups) 5)将用户从组中删除 # gpasswd -d sha groups Removing user sha from group groups
/etc/passwd:保存用户信息的文件
/etc/shadow:保存用户密码相关信息的文件
/etc/group:保存组信息的文件
/etc/gshadow:保存组密码相关信息的文件
1、/etc/passwd:
# head -1 /etc/passwd root:x:0:0:root:/root:/bin/bash 用户名:密码:UID:GID:描述信息:家目录:登录shell
2、/etc/shadow
# man 5 shadowzhangsan:!!:16276:0:99999:7::: 1)用户名 2)加密后的密码 3)上一次密码修改时间(单位是天,是距离1970年1月1日多少天) 4)密码最小生存周期 单位:天 0表示随时可以修改密码;2表示两天内不能修改 5)密码最大生存周期 单位:天,密码使用的最长时间 6)密码到期前几天开始警告 7)密码过期之后到账户失效之前的时间限制 密码过期之后还可以用几天 8)账户过期时间 9)保留列
查看用户的密码相关的时间
[root@localhost ~]# chage -l rootLast password change : Jan 08, 2017Password expires : neverPassword inactive : neverAccount expires : neverMinimum number of days between password change : 0Maximum number of days between password change : 99999Number of days of warning before password expires : 7
3、/etc/group
# head -1 /etc/group root:x:0: 组名:密码:GID:用户列表
4、/etc/gshadow
# head -1 /etc/gshadow root::: 组名: 加密后的密码:组管理员:组成员
1 0
- 文件系统&&用户管理(一)
- 管理文件系统(一)
- 文件系统&&用户管理(二)
- Linux文件系统管理(一)
- Linux用户/文件系统管理
- Linux用户管理全攻略(一)
- 用户和文件权限管理(一)
- linux 用户空间电源管理 (一)
- Oracle(一)常用命令,与用户管理
- Oracle用户管理(一)
- Oracle 用户管理(一)
- oracle 用户管理(一)
- Linux文件系统新增1--用户管理
- Linux基础知识学习笔记(一)--文件系统的权限管理
- MySQL · 引擎特性 · InnoDB文件系统管理(一)
- Ubuntu中的用户管理(一)用户账户
- 管理文件系统(二)
- 磁盘管理及Linux文件系统 ext2 一
- 中断方式获取按键值
- Azure 基础:用 PowerShell 自动发布 CloudServices
- 51NOD 1072 Wythoff Game
- Java中的Filter过滤器的使用
- java设计模式之单例模式
- 文件系统&&用户管理(一)
- 清除浮动的几种方法
- windows下自动启动Redis
- 110. Balanced Binary Tree
- P1616 疯狂的采药
- mysql delete语句,表别名的正确使用
- 新技术VR—应用案例项目分解
- 设计模式-工厂方法模式
- webservice--四种客户端调用方式