Linux基础之用户及组管理

grep扩展应用,用户管理,组管理,用户及组管理命令

grep扩展应用

  1. 列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。
    who | grep -o “^[^[:space:]]\+” | uniq
  2. 取出最后登录到当前系统的用户的相关信息。
    grep “$(last | grep -o “^[^[:space:]]\+” | uniq -1)” /etc/passwd
  3. 取出当前系统上被用户当作其默认shell的最多的那个shell。
    echo $(cut -f7 -d’:’ /etc/passwd | sort | uniq -c | sort -rn | head -1) | cut -d ” ” -f2
  4. 将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt文件中。
    sort –t : -nk /etc/passwd | tail -10 | tr a-z A-Z &> /tmp/maxusers.txt
  5. 取出当前主机的IP地址,提示:对ifconfig命令的结果进行切分。
    ifconfig | grep -o “[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}”
  6. 列出/etc目录下所有以.conf结尾的文件的文件名,并将其名字转换为大写后保存至/tmp/etc.conf文件中。
    ls -l /etc | grep -o “[[:alnum:]]\+.conf” | tr a-z A-Z &> /tmp/etc.conf
  7. 显示/var目录下一级子目录或文件的总个数。
    ls -l /var | wc -l
  8. 取出/etc/group文件中第三个字段数值最小的10个组的名字。
    cat /etc/group | sort -rnk 3 -t: | tail | cut -d”:” -f1
  9. 将/etc/fstab和/etc/issue文件的内容合并为同一个内容后保存至/tmp/etc.test文件中。
    cat /etc/fstab /etc/issue > /tmp/etc.test

 

用户及组管理命令

useradd命令:添加用户
规则:useradd [OPTION] USERNAME
示例:useradd –u 1000 testuser
常用选项:
-u:定义UID
-g:定义用户的基本组
-c “”:添加用户的注释信息,comment
-d:指定用户的家目录
-s SHELL:定义用户的默认shell
-G:定义用户的一个或多个附加组,用逗号隔开,并且这些组必须已存在
-D:修改用户的默认信息(其实是间接修改了/etc/default/useradd文件)
-s:修改用户的默认shell信息

groupadd命令:创建组
规则:groupadd [OPTION] GROUPNAME
示例:groupadd –g 1000 testgroup1
常用选项:
-g GID:设定组的ID
-r:将此次创建的组设定为系统组

id命令:查看用户信息
规则:id [OPTION] [USERNAME]
示例:id(输出当前登录用户的各种信息,包括组,附加组,注释等等信息)
常用选项:
-u:只显示UID
-g:只显示基本GID
-G:只显示附加组ID
-n:显示用户的name(必须和以上三个参数一起配合用,不能单独使用)

su命令:切换用户或以另外用户的身份运行命令
规则:su [OPTION] [-| l] [user]
示例:su – root(切换到root用户,需要输入root’密码)
常用用法:
su USERNAME:非登录式切换,不会读取目标用户的配置文件
su – USERNAME 或者su –l USERNAME:登录式切换,重新以目标用户的身份登录
注意:root切换到其他用户无需输入密码,其他用户则需要输入密码,非登录式切换也需要的哟

usermod命令:修改用户的属性
规则:usermod [OPTION] USERNAEM
示例:usermod –u 666 test01(将test01的UID修改为666)
常用选项:
-u UID:修改用户UID
-g GID:修改用户的基本组ID
-G group1,group2:为用户修改或添加附加组
-s SHELL:修改用户的shell
-c“comment”:修改用户的注释信息
-d /path/to/newhome:修改用户的家目录(原来的家目录文件不会移至新目录,除非加上-m选项)
-l newname:修改用户的名称为newname
-L:锁定用户
-U:解锁已锁定的用户
-e +时间:设置用户的过期时间
-f inactive:指定用户的非活动期限

passwd命令:修改用户的密码
注意:root可以随意修改任意用户的密码,普通用户只能修改自己的密码
规则:passwd [OPTION] UserName
示例:~]#:passwd test01(echo “string” | passwd –stdin test01)
常用选项:
-l:锁定用户
-u:解锁用户
-n mindays:指定最短的使用期限
-x maxdays:使用最大期限
-w warndays:提前多少天开始告警
-i inactive-days:非活动期限
–stdin:从标准输入接收用户密码
echo “string” | passwd –stdin test01
注意:
/dev/null能够接收任何内容,并将其丢弃
/dev/zero能够连续不断的输出0信息

userdel命令:删除用户
规则:userdel [OPTION] USERNAME
示例:userdel test01
常用选项:
-r:删除用户的家目录

groupmod命令:修改组属性
规则:groupmod [OPTION] GROUPNAME
示例:groupmod –n mygrp yougrp
常用选项:
-n newname:修改组名
-g GID:修改组的GID

groupdel命令:删除组,用法类似于userdel

gpasswd命令:用于用户切换基本组
规则:gpasswd [OPTION] group
示例:gpasswd –a test01 mygrp
常用选项:
-a user:将user添加至指定组中
-d user:将user从组中删除
-A user:将user设置为拥有组权限的组管理员

 

 

相关练习:

  1. 创建组distro,其GID为2016;
    groupadd –g 2016 distro
  2. 创建用户mandriva, 其ID号为1005;基本组为distro;
    useradd –u 1005 –g distro mandriva
  3. 创建用户mageia,其ID号为1100,家目录为/home/linux;
    useradd –u 1100 –d /home/linux mageia
  4. 给用户mageia添加密码,密码为mageedu;
    echo “mageedu” | passwd –stdin mageia(在root用户模式下)
  5. 删除mandriva,但保留其家目录;
    userdel mandriva
  6. 创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;
    useradd –u 2002 –g distro –G peguin slackware
  7. 修改slackware的默认shell为/bin/tcsh;
    usermod –s /bin/tcsh slackware
  8. 为用户slackware新增附加组admins; usermod –G admins slackware

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

(3)
~~
上一篇 2018-01-31
下一篇 2018-02-01

相关推荐

  • 第四周作业

    1. 复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限 [root@localhost ~]# chmod -R g=,o=  /home/tuser1 [root@localhost home]# ll drwx——  3 root&…

    Linux干货 2016-12-26
  • 常用命令总结

    ifconfig查看IP地址 date查看日期和时间 cd跳转到任何目录 useradd新建一个普通用户 passwd给用户设置密码 poweroff   halt    关机 reboot  重启 cal  查看日历 cal -y 查看一年日历 env  export&nbsp…

    Linux干货 2017-04-04
  • Linux学习总结及练习&day08-sed文本处理工具

    第一部分、Linux文本处理三剑客之sed(Stream EDitor)文本编辑工具     一、sed的基本功能工作原理     sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令…

    Linux干货 2016-08-10
  • 日常练习加部分步骤注释

                                                      …

    2017-07-30
  • grep,find

    显示当前系统上root、fedora、user用户的默认shell: 2.找出/etc/rc.d/init.d/functions文中单词后跟一组小括号的行 3.使用echo命令输出一个绝对路径,使用grep取出其基名: 4.找出ifconfig命令结果中的1-255之间的数字 5.写一个模式,匹配合理的ip地址 6.写一个模式,匹配出邮箱地址 7.查找/v…

    Linux干货 2016-11-27
  • keepalived+lvs-dr实现高可用负载均衡

    keepalived+lvs-dr实现高可用负载均衡 实验拓扑 实验要求 RS1与RS2地址为172.18.27.201/202 VS1和VS2地址为172.18.27.103/200,VIP为172.18.27.254 VS1和VS2实现lvs-dr负载均衡及高可用性,且vs为sorry sever。 keepalived是单主模式。 实验步骤 各个主机安…

    2017-05-14

评论列表(1条)

  • 马哥教育
    马哥教育 2018-02-07 10:18

    练习基本上没有什么问题,能熟练应用到日常的工作中最好~加油~