第三周作业

1、列出1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。
[root@localhost ~]# who | cut -d ‘ ‘ -f1 | sort -u

2、取出最后登录到当前系统的用户的相关信息。
[root@localhost ~]# who | tail -1 | export &> /tmp/lang.sh

3、取出当前系统上被用户当作其默认shell的最多的那个shell。
[root@localhost ~]# cut -d ‘:’ -f7 /etc/passwd | uniq -c -d | sort | head -1

4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt文件中。
[root@localhost ~]# sort -n -t: -k3 /etc/passwd | tail -10 &> /tmp/maxusers.txt

5、取出当前主机的IP地址,提示:对ifconfig命令的结果进行切分。
[root@localhost ~]#ifconfig | grep -o -E “(1[0-9]{2})(.)([0-9]{3})(.)([0-9]{1,3})(.)[0-2][0-5][0-4]”

6、列出/etc目录下所有以.conf结尾的文件的文件名,并将其名字转换为大写后保存至/tmp/etc.conf文件中。
[root@localhost ~]# ls -a /etc/*.conf | tr [a-z].conf [A-Z].conf | cat &>> /tmp/etc.conf

7、显示/var目录下一级子目录或文件的总个数。
[root@localhost ~]# ls -d /var/* | ls -o | head -n 1

8、取出/etc/group文件中第三个字段数值最小的10个组的名字。
[root@localhost ~]# sort -n -t: -k3 /etc/group | head -10 | cut -d ‘:’ -f1

9、将/etc/fstab和/etc/issue文件的内容合并为同一个内容后保存至/tmp/etc.test文件中。
[root@localhost ~]# tail /etc/fstab /etc/issue &>> /tmp/etc.test

用户管理命令:useradd、usermod、userdel、
useradd 命令
创建一个新用户或创建一个默认信息的用户。如果创建的新用户没有指定组,那么系统会为其创建一个与用户名同名的私有组。
语法:
useradd [选项] USER登录用户名

选项:
-u:指定UID,(但必须指定属主)格式例如:COMMAND -u 属主 用户名
-g:设置新建用户的属组为指定用户名的属组相同,指定的组必须是已经存在的组
-c: 指明注释信息
-G,–groups GROUP1 [,GROUP2,…[GROUPN]]]:新建用户并将为其做为指定用户名所属的附加组,多个组之间用逗号隔开;
-d: 创建已经指定的路径为用户的家目录;通过复制/etc/skel此目录并重命令实现;如果指定的家目录事先存在,便不会为用户复制环境初始化配置文件。
-s: 指定用户的默认shell,可用的所有shell列表存储为/etc/shell文件;
-r:创建系统用户:
-m: 如果不存在,则创建用户主目录
-M:不创建用户主目录,
-f:密码过期,账户彻底禁用之前的天数。0标识立即禁用,-1 禁用密码永不过期。。。。。查询资料
-D:显示用户的默认配置,也可以使用useradd -D [OPTION]来修改位于/etc/default/useradd文件中。修改默认值

——————————————————————————–
usermod命令
修改用户账户信息
语法:
usermod [OPTION] user登录用户

选项:
-U:修改用户的ID
-g:修改用户所属的基本组,组前提必须穿在
-G,–group GROUP[,GROUP2,…[,GROUP]]] :修改用户所属的附加组,如果原来用户有的附加组会被新的覆盖。避免出现覆盖应和-a,–append同时使用。
-a:与-G一同使用,用于为用户追加新的附加组:
-c:修改注释信息。
-d:修改用户的家目录,避免原来的用户文件不会被转移到新位置,要同时与-m,–move-home,
-m:只能与-d选项一同使用,用于将原来的家目录移动到新的家目录;
-l:修改用户名。
-s:修改用户的默认shell。

-L:锁定用户密码,即在用户原来的密码字符串之前添加一个“!”
-U:解锁用户的密码:删除用户密码字符串前面的“!”。

——————————————————————————–
userdel 命令
删除用户账户
语法:
userdel [OPTION] user登录用户

选项:
-r:删除用户时一并删除其家目录。

——————————————————————————–
passwd命令
修改用户密码。
语法:
passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [–stdin] [username]
语法格式:
passwd [密码]
* 修改当前登录用户的密码,

passwd USERNAME [密码]
* 修改指定用户的密码,普通用户需要被修改用户的密码,管理员则无需密码操作。

选项:
-l,-u:锁定和解锁用户。
-d:删除用户密码的字符串,
-e DATE:指明用户账号的过期时间。日期
-n:密码的最短使用期限
-x:密码的最长使用期限。
-w:密码的警告期限
-i DAYS:非活动期限。几天
–stdin :重定输入
* echo “PASSWORD” passwd –stdin USERNAME

——————————————————————————–
su命令
完成用户切换
语法格式:
su – USERNAME
su -l USERNAME
* 登陆式切换:会通过读取目标用户的配置文件来重新出初始化。

su USERNAME
* 非登陆式切换:不会读取目标用户的配置文件进行初始化。

选项:
-c ‘COMMAND’ :仅以指定用户的身份运行此处指定的命令一次。

——————————————————————————–
id命令
显示用户实际和有效的ID
语法:
id [OPITON]…[USER]

选项:
-u –user:仅显示用户的有效ID。
-g:仅显示用户的基本组ID。
-G:仅显示用户所属的所有组的ID。
-n:仅显示名字而非ID。

——————————————————————————–
组管理命令 groupadd、groupmod、groupdel、
groupadd 命令
添加组
语法:
groupadd [选项] group_name

选项:
-g –gicGID:可以指定ID,如不指定则是迷人上一个组的GID+1
-r:创建系统组:

——————————————————————————–
groupmod命令:修改组属性
语法:
groupmod [OPTIONS] GROUP

选项:
-g GID:修改组的组名,不能与现有的ID相同。
-n –new-name:修改组名

——————————————————————————–
groupdel命令
删除组
语法:
groupdel [OPTION] GROUP

删除组后会随之删除组内包含的附加组

——————————————————————————–
gpassed命令
默认给组添加密码
保存组密码的位置/etc/gshadow
语法:
gpasswd [OPTION]gtoup

选项:
-a USERNAME;向组中添加用户。
-d USERNAME:从组中移除用户。

示例:
——————————————————————————–
nwegrlp命令
临时切换至需的组,如果加上了[-] 则会模拟用户登陆一次,登陆后为用户的基本组。不加[-]表示临时切换至用户组,切换后可使用pwd查看。
语法格式:
nwegrp [-] [group]

解释:
-:会模拟用户重新登陆以实现重新初始化其工作环境。
——————————————————————————–
chage命令
改用户过期密码信息
常用选项:
-d,–lastday LAST DAY :
-E:过期日期,
-i:非活动期限
-m:最短使用期限。
-M:最长使用期限。
-W:警告期限

——————————————————————————–
id命令
显示用户实际和有效的ID
语法:
id [OPITON]…[USER]

选项:
-u –user:仅显示用户的有效ID。
-g:仅显示用户的基本组ID。
-G:仅显示用户所属的所有组的ID。
-n:仅显示名字而非ID。

——————————————————————————–
(1)、创建组distro,其GID为2016;
[root@localhost ~]# groupadd -g 2016 distro

(2)、创建用户mandriva, 其ID号为1005;基本组为distro;
[root@localhost ~]# useradd -g distro -u 1005 manfriva

(3)、创建用户mageia,其ID号为1100,家目录为/home/linux;
[root@localhost ~]# useradd -u 1100 mageia -d /home/linux

(4)、给用户mageia添加密码,密码为mageedu;
[root@localhost ~]# passwd mageia
更改用户 mageia 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

[root@localhost ~]# echo “mageia” | passwd –stdin mageia
更改用户 mageia 的密码 。
passwd:所有的身份验证令牌已经成功更新。

(5)、删除mandriva,但保留其家目录;
[root@localhost ~]# userdel mandriva
userdel:组“mandriva”没有移除,因为它不是用户 mandriva 的主组
[root@localhost ~]# ls /home/
a CentOS distro fedora linux mova nova peguin user1 user3
archlinux debian docker gentoo mandriva nameone openstack slackware user2

(6)、创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;
[root@localhost ~]# useradd -u 2002 slackware
[root@localhost ~]# usermod -g distro slackware
[root@localhost ~]# usermod -G slackware peguin

(7)、修改slackware的默认shell为/bin/tcsh;
[root@localhost ~]# usermod -s /ect/tcsh slackware

(8)、为用户slackware新增附加组admins;
[root@localhost ~]# useradd -G slackware admins
[root@localhost ~]# tail -2 /etc/group
slackware:x:2002:peguin,admins
admins:x:4009:
[root@localhost ~]#

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/90167

(0)
上一篇 2017-12-16 17:45
下一篇 2017-12-16 19:52

相关推荐

  • 干货 | 20 行 Python 代码创建可视化地图

    当我开始建造Vincent时, 我的一个目的就是使得地图的建造尽可能合理化. 有一些很棒的python地图库-参见Basemap 和 Kartograph能让地图更有意思. 我强烈推荐这两个工具, 因为他们都很好用而且很强大. 我想有更简单一些的工具,能依靠Vega的力量并且允许简单的语法点到geoJSON文件,详细描述一个投影和大小/比列,最后输出地图. …

    2017-09-08
  • 用户管理

    用户管理 用户通过uid来识别,用户的uid是全局唯一,Linux用户分三大类: 用户类别可以分为 管理员 系统用户 普通用户 ——管理员的id为0,系统用户的id为1-499,一般用户的id为500- 组也是一样(centos6.9和centos7.3 id编号有所不同)上述是centos6.9的id编号。 管理员账户:root,可…

    2017-06-01
  • Linux文本处理三剑客之一grep

            终于又到了一周一篇博客的日子 在这学习已经三周了,慢慢养成了写博客的好习惯,也慢慢的懂得了怎么写博客。这周给我印象最深刻的就是正则表达式,原本打算要写前几天所学的内容,但是昨天学到正则表达式让我有点懵,所以我今天会用一天的时间去给大家详细讲解正则表达式,争取让那些和我一样困解的人能够豁然开朗,也正是因为…

    2017-07-29
  • 用户组和权限管理相关作业

    1创建testuser uid 1234,主组:bin,辅助组:root,ftp,shell:/bin/csh home:/testdir/testuser     [root@ali ~]# useradd -u 1234 -g bin -G root,ftp -s /bin/csh -d /testdir/test…

    Linux干货 2016-08-02
  • 08.04 笔记总结

    1.ps axo  user,ruser,group,rgroup,cmd  //  ruser  表示程序发起的用户,一般是指系统当前的用户  //  user  表示程序的所有者。在大数情况下,两个用户都是系统当前的用户, 之后当程序被赋予suid的时候,可能user会发生变化。 2….

    Linux干货 2016-08-08
  • 编译安装httpd

                   1 将 httpd-2.4.25.tar.bz2下载 到  centos7的 /app目录下                 [root@localh…

    Linux干货 2017-04-24

评论列表(2条)

  • 马哥教育
    马哥教育 2018-01-07 16:16

    赞,内容上基本没什么问题,排版上能注意一下最好~继续加油

    • N28_刚好遇到小熊猫
      N28_刚好遇到小熊猫 2018-01-12 12:28

      @马哥教育嗯嗯 以后会注意的老师 ,一直没有找到太好的排版方式,