用户组和权限管理(二)
一、杂项知识整理
1、接上篇,chfn命令:用来改变finger命令显示的信息。这些信息都存放在/etc的passwd文件里,若不指定任何选项,则chfn命令会进入问答式界面,如下:
[root@localhost testdir]# chfn Changing finger information for root. 名称 [root]:
-f 真实姓名
-h 家中电话
-o 办公地址
-p 办公电话
-u 在线帮助
-v 显示版本信息
2、chsh命令:使用者是所有用户;
-s 改变shell类型:(必须写出shell的路径名)
[gejingyi@localhost ~]$ chsh -s /bin/zsh Changing shell for gejingyi. 密码: Shell changed.
-l 列出所有shell,来源为/etc/shells
-u 帮助
-v 显示版本信息并退出
3、getent passwd USER 直接显示USER的passwd中的一行信息;
getent gpasswd GROUP
4、两个命令:vipw=vi /etc/passwd
vigr=vi /etc/group
两个命令:用于检查passwd文件的完整性:pwck
用于检查group文件的完整性:grpck
5、openssl rand-base64 NUM 指定num位数的随机口令
[root@localhost testdir]# openssl rand -base64 55 Up6RFg8Mpmq7c1DDW6U2i2MgTXWioNhj5c+Db4hsYd4qofkwzkhWutp+k788gb3a qyBR0+5geg== [root@localhost testdir]# openssl rand -base64 12 xFLTZj+llbo+EG6M
6、管道只接收标准输出; 多行重定向也叫作就地文本。
7、linux中新建用户默认用前一个用户的家目录,之前属于前一个用户的文件会变为新用户的,因为UID号相同。
8、用于改变口令算法: authconfig --passalgo=sha256(MD5等) --update
二、详细命令及事例
1、gpasswd命令:它是/etc/group和/etc/gshadow管理工具:
-a 添加用户到组
-d 从组删除用户
-A 指定管理员
-M 指定组成员,和-A用途差不多
-r 删除密码
-R 限制用户登录组,只有组中的成员才可以用newgrp加入该组;
2、useradd命令:
USER 直接创建用户,需要再用passwd来设置密码
-d 以指定的路径为家目录,路径不能存在。
-s SHELL 指定用户的shell类型
-g 指定现有的组作为主组,不建立以自己的名字为组名的另外的组;
-o 配合-ou 不检查UID的唯一性
-u 指定UID;[UID_MIN,UID_MAX]值定义在/etc/login.defs中;可见其最大值默认没到65535
UID_MIN 1000 UID_MAX 60000 # System accounts SYS_UID_MIN 201 SYS_UID_MAX 999 # # Min/max values for automatic gid selection in groupadd # GID_MIN 1000 GID_MAX 60000 # System accounts SYS_GID_MIN 201 SYS_GID_MAX 999
-G 附加组,组需事先存在
useradd -G wang,root,bin zhao
-r 创建系统用户
-N 不给用户单独建立组,使用user作为主组
-D -s 更改默认useradd命令使用配置,-s为shell
新建用户模板文件夹/etc/skel,useradd命令默认设置文件/etc/default/useradd。
三、课后作业及练习
1、将PATH变量每个目录显示在独立的一行:
[root@localhost ~]# echo $PATH | tr ‘:‘ ‘\n‘ /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /root/bin
2、删除指定文件的空行:此处不更改原文件:第一种方法:
[root@localhost testdir]# cat konghang.txt sdfd asdfasas dfgjkkfgh aeqwyqy [root@localhost testdir]# cat konghang.txt | grep -e [^[:space:]] sdfd asdfasas dfgjkkfgh aeqwyqy
第二种方法:
[root@localhost testdir]# cat konghang.txt | tr -s ‘\n‘ sdfd asdfasas dfgjkkfgh aeqwyqy
3、将文件中每个单词(字母)显示在独立的一行,并无空行:
[root@localhost testdir]# cat konghang2.txt | tr -s ‘\n‘ | tr ‘ ‘ ‘\n‘ hello i am liming hello i am xiaohong bye bye
4、软硬链接的区别:
硬链接就是同一个文件使用了多个别名(他们有共同的 inode),本质是同一个文件。由于硬链接是有着相同 inode 号仅文件名不同的文件,因此,删除一个硬链接文件并不影响其他有相同 inode 号的文件。硬链接不能对目录进行创建,只可对文件创建,硬链接不能跨分区。
软链接(也叫符号链接)与硬链接不同,文件用户数据块中存放的内容是另一文件的路径名的指向。软链接就是一个普通文件,只是数据块内容有点特殊,其内容是源文件的名称字符个数。软链接可对文件或目录创建。加-s选项表示创建的是软链接。删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接就变成了死链接。
5、
[root@localhost etc]# useradd -s /bin/csh -c "gentoo distribution" -G root,bin gentoo [root@localhost etc]# id gentoo uid=1005(gentoo) gid=1006(gentoo) 组=1006(gentoo),0(root),1(bin)
6、
[root@localhost etc]# groupadd admins [root@localhost etc]# useradd -G admins natasha [root@localhost etc]# useradd -G admins harry [root@localhost etc]# passwd natasha 更改用户 natasha 的密码 。 新的 密码: 无效的密码: 密码少于 8 个字符 重新输入新的 密码: 抱歉,密码不匹配。 新的 密码: 无效的密码: 密码少于 8 个字符 重新输入新的 密码: passwd:所有的身份验证令牌已经成功更新。 [root@localhost etc]# passwd harry 更改用户 harry 的密码 。 新的 密码: 无效的密码: 密码少于 8 个字符 重新输入新的 密码: passwd:所有的身份验证令牌已经成功更新。
[root@localhost etc]# useradd -s /bin/nologin sarah [root@localhost etc]# passwd sarah 更改用户 sarah 的密码 。 新的 密码: 无效的密码: 密码少于 8 个字符 重新输入新的 密码: passwd:所有的身份验证令牌已经成功更新。
本文出自 “静轩丶” 博客,谢绝转载!
原文地址:http://jingxuan.blog.51cto.com/11808130/1832203