1、(思考)系统中为什么要有用户
1.1用户 系统中最底层的安全设定,回收(限制)权利。 1.2组 共享权利。分为以下两种: (1)附加组:由用户决定的组(每个用户不一定都有); (2)初始组:用户不能自己决定的组(每个用户都有)。
2、用户在系统中的存在形态
系统中的数据+系统中的若干配置文件(表格+表格调用的配置文件)
3、用户配置文件
3.1用户信息文件(/etc/passwd) 用户信息文件命令: /etc/passwd 组成: 用户名:密码:用户id:组id:用户说明:用户家目录:用户默认使用的shell ** 3.2用户组信息(/etc/group)** 用户组信息命令: /etc/group 组成: 组:组密码:组id:附加组成员 ** 3.3用户家目录(/home/username)** 用户家目录: /home/username ** 3.4用户骨文件(用户环境配置,/etc/skel.*)** 用户骨文件(用户环境配置): /etc/skel.*
4、用户的查看
whoami: 查看当前用户的名称。 id username: 查看用户的id信息。 id -u username: 查看用户的uid信息。 id -g username: 查看用户的gid(组id)信息。 id -G username: 查看用户所在的所有组的id信息。 id -n username: 以名称显示信息。 id -un username: 显示id对应的用户名称。
5、用户/组的建立及删除
5.1用户删除 (1)userdel username: 删除用户身份,其配置文件未删除。 (2)userdel -r username: 删除用户身份及其配置文件。 5.2用户建立 (1)useradd username: 使用默认规则建立用户(规则查看etc/login.defs) (2)useradd -u uid username: 指定用户的uid。 (3)useradd -g gid username: 指定用户的初始组id。 (4)useradd -G 附加组id username: 指定用户的附加组。 (5)useradd -c “说明文字” username: 指定用户的说明文字。 (6)useradd -s shell username: 指定用户的shell(用户可可以用的shell可在/etc/shells中查看)。 (7)useradd -d 目录 username: 指定用户的家目录。 5.3组的建立和删除 (1)groupadd groupname: 建立组。 (2)groupadd -g groupname: 建立组并指定组id。 (3)groupdel groupname: 删除组。 5.4查看用户和组的建立与删除情况命令 watch -n 1 ‘tail -n 4 /etc/passwd /etc/group;ls -1 /home’
6、用户管理
(1)usermod -l newusername oldusername: 修改用户名。 (2)usermod -u uid username: 修改用户uid。 (3)usermod -g gid username: 修改用户gid(初始组id)。 (4)usermod -G 附加组id username: 更改附加组(替换原来的附加组)。 (5)usermod -G “ ” username: 清除所有附加组。 (6)usermod -aG 附加组id username: 增加附加组。 (7)usermod -c 说明文字 username: 修改用户的说明文字。 (8)usermod -c “ ” username: 清除说明文字。 (9)usermod -d 目录 username: 更改用户家目录指向。 (10)usermod -md 目录 username: 更改用户家目录指向并重命名家目录。 (11)usermod -s newshell username: 更改用户shell。 (12)查看用户管理情况命令 watch -n 1 ‘tail -n 4 /etc/passwd /etc/group;ls -1 /home’
7、用户切换
7.1命令 su - username: 切换用户。如果是高级用户切换到低级用户,无需密码;如果是低级用户切换到高级用户或平级用户,需要后者密码。 超级用户切换到普通用户: 普通用户切换到超级用户: 7.2注意事项(重要) (1)用户切换时需要及时退出再切换到下一个用户。 (2)“su -”表示切换用户身份及用户环境。如果去掉“-”只能切换用户身份,而不能切换用户环境。
8、用户的认证信息
8.1/etc/shadow 用户认证信息。 8.2用户认证信息的组成 用户名称:用户密码:密码最后一次被修改时间:密码最短有效期:密码最长有效期:密码过期警告:密码非活跃期:账号到期日:未设定用户自定义 普通用户bighead的认证信息: 超级用户root的认证信息: (1)密码最后一次被修改时间 当此位数字为0时,用户在首次登录系统时会被强制修改密码。 例如:分别设置最后一次被修改时间为8和0,用两种命令分别设置: chage -d 8 username passwd -e username (2)修改密码命令 passwd username :只有超级用户可用的修改密码命令(超级用户即可修改自身密码,也可修改普通用户密码) 超级用户修改自身密码: 超级用户修改普通用户密码: passwd :普通用户修改自身密码。 (3)用户账号的冻结与解锁 usermod -L username :冻结账号 usermod -U username :解锁 passwd -l username :冻结账号 passwd -u username :解锁 在上述两种冻结账号与解锁的方式中,passwd方式冻结与解锁强度强于usermod方式。 (4)密码最短有效期 例如:两种命令分别设置密码最短有效期为1和3: chage -m 1 username passwd -n 3 username (5)密码最长有效期 例如:两种命令分别设置密码最长有效期为30和40: chage -M 30 username passwd -x 40 username (6)密码最长有效期 可超过规定时间的时限。 例如:两种命令分别设置密码非活跃期为2和0: chage -I 2 username passwd -i 0 username
(7)密码过期警告 距离密码过期还有多久给用户发出警告。 例如:两种命令分别设置密码过期警告为2和0: chage -W 2 username passwd -w 0 username (8)账号到期日 账号到什么时候过期。 例如:设置账号到期日为2018年12月12日: chage -E “2018-12-12” username (9)清空密码 passwd -d username (10)查看用户认证信息更改情况命令 watch -n 1 ‘tail /etc/shadow’
9、用户权力下放
9.1配置文件 /etc/sudoers 9.2配置命令 visudo(此命令提供语法检查) 赋予普通用户超级用户的权利,有两种命令方式如下: (1)需要普通用户身份验证的命令方式: 用户名 主机名称=(执行程序身份) 命令 例如,赋予普通用户bighead增加用户和删除用户的权利: 权利测试: 添加用户: 删除用户: (2)不需要普通用户进行身份验证的命令方式: 用户名 主机名称=(执行程序身份) NOPASSWD:命令 例如,赋予普通用户bighead增加用户和删除用户的权利: 9.3下放权力测试命令 首先将超级用户切换到普通用户: su - 用户名 其次测试权利,例如测试添加用户的权利: sudo useradd username
10、(补充)linux系统下的文件操作
10.1显示文件信息(ls) (1)ls 显示当前目录下所有非隐藏文件与目录。 (2)ls -l 以长列表显示目录(或文件)信息/属性(输出的信息包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等) (3)ls -a 显示所有文件,包括隐藏文件(以“.”开头的) (4)ls -s 显示文件大小 (5)ls -S 按照文件大小排序 (7)ls -d 显示文件目录(显示文件名或目录名,不显示目录下的内容) (8)ls -s -ld 显示目录本身属性 (9)ls -R 递归显示 (10)ls -da .* 显示隐藏文件 10.2通配符 (1)* 匹配0~任意字符(除隐藏文件外)。 ls /ect/*.conf显示etc目录下,所有以.conf结尾的文件(除隐藏文件外): (2)? 匹配单个字符 例如:ls fil?:显示当前目录下所有以fi开头,后面为单个字符的文件名称(除隐藏文件)。 (3)[[:alpha:]] 单个字母 例如:ls fi[[:alpha:]]le:显示当前目录下所有以fi开头,中间为单个字母,后面为le的文件名称(除隐藏文件) (4)[[:upper:]] 单个大写字母 例如:ls fi[[:upper:]]le:显示当前目录下所有以fi开头,中间为单个大写字母,后面为le的文件名称(除隐藏文件) (5)[[:lower:]] 单个小写字母 例如:ls fi[[:lower:]]le:显示当前目录下所有以fi开头,中间为单个小写字母,后面为le的文件名称(除隐藏文件) (6)[[:digit:]] 单个数字 例如:ls fi[[:digit:]]le:显示当前目录下所有以fi开头,中间为单个数字,后面为le的文件名称(除隐藏文件) (7)[[:alnum:]] 单个数字或字母 例如:ls fi[[:alnum:]]le:显示当前目录下所有以fi开头,中间为单个字母或数字,后面为le的文件名称(除隐藏文件) (8)[[:space:]] 单个空格 例如:ls fi[[:space:]]le:显示当前目录下所有以fi开头,中间为单个空格,后面为le的文件名称(除隐藏文件) (9)[[:punct:]] 单个符号 例如:ls fi[[:punct:]]le:显示当前目录下所有以fi开头,中间为单个符号,后面为le的文件名称(除隐藏文件) (10){ } 精确匹配。例如:{1..3}表示1和2和3。 (11)[ ] 模糊匹配。例如:[1-3]表示1或2或3。 (12)^/! 非。例如:[^ac]或[!ac]都表示非a并且非c(除了a并且除了c)。 (13)[[:alpha:][:punct:]] 符号或字母 例如:ls fi[[:alpha:][:punct:]]le:显示当前目录下所有以fi开头,中间为单个符号或字母,后面为le的文件名称(除隐藏文件) (14)[![:alpha:][:punct:]] 除了符号或字母 例如:ls fi[![:alpha:][:punct:]]le:显示当前目录下所有以fi开头,中间除了单个符号或字母,后面为le的文件名称(除隐藏文件)
11、linux小知识补充
11.1元数据 (1)什么是元数据 任何文件系统中的数据分为数据和元数据。数据是指普通文件中的实际数据,而元数据指用来描述一个文件的特征的系统数据,诸如访问权限、文件拥有者以及文件数据块的分布信息(inode...)等等。在集群文件系统中,分布信息包括文件在磁盘上的位置以及磁盘在集群中的位置。用户需要操作一个文件必须首先得到它的元数据,才能定位到文件的位置并且得到文件的内容或相关属性。 (2)元数据管理方式 元数据管理有两种方式。集中式管理和分布式管理。集中式管理是指在系统中有一个节点专门司职元数据管理,所有元数据都存储在该节点的存储设备上。所有客户端对文件的请求前,都要先对该元数据管理器请求元数据。分布式管理是指将元数据存放在系统的任意节点并且能动态的迁移。对元数据管理的职责也分布到各个不同的节点上。大多数集群文件系统都采用集中式的元数据管理。因为集中式管理实现简单,一致性维护容易,在一定的操作频繁度内可以提供较满意的性能。缺点是单一失效点问题,若该服务器失效,整个系统将无法正常工作。而且,当对元数据的操作过于频繁时,集中的元数据管理成为整个系统的性能瓶颈。 分布式元数据管理的好处是解决了集中式管理的单一失效点问题, 而且性能不会随着操作频繁而出现瓶颈。其缺点是,实现复杂,一致性维护复杂,对性能有一定影响。 11.2强制结束进程 kill -q 进程号 11.3搜索关键字 /-关键字 例如,搜索关键字u: /-u 11.4家目录 系统中默认的目录