首页 > 代码库 > 用户和组管理类命令

用户和组管理类命令

1、列出当前系统上所有已经登陆的用户的用户名,注意:同一个用户登陆多次,则显示一次即可。

who |cut -d‘ ‘ -f1 | sort | uniq

2、取出最后登陆到当前系统的用户的相关信息

w|tail-n1或者who|tail-n1

3、取出当前系统上被用户当做其默认shell的最多的那个shell

cat /etc/passwd | awk -F‘:‘ ‘{print $7}‘|uniq –c  

结果为:/sbin/nologin

awk -F‘:‘ ‘{a[$7]++}END{for(i in a){print i,a[i]}}‘ /etc/passwd

4、将/etc/password的第三个字段数值最大的后10个用户的信息全部修改为大写后保存至/tmp/maxuser.txt文件中

cat /etc/passwd | cut -d ‘:‘ -f 1,2,3,4,5,6,7 | sort -n | tail-n 10 | tr  "[:lower:]""[:upper:]" > /tmp/maxuser.txt

5、取出当前主机的IP地址,提示:对ifconfig命令的结果进行切分

ifconfig|grep -E‘addr:[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}‘ -o |awk -F: ‘{print $2}‘

6、列出/etc/目录下所有以.conf结尾的文件的文件名,并将其名字转换为大写后保存至/tmp/etc.conf文件中。

ls /etc/*.conf | tr "[:lower:]" "[:upper:]"> /tmp/etc.conf

7、显示/var/目录下一级子目录或文件的总个数

#!/bin/bash

#


root_path=‘/var‘

file_count=0

dic_count=0


for iin `ls $root_path`;do

    for j in `ls $root_path/$i`;do

        if [ -f "$root_path/$i/$j"];then

            file_count=`expr $file_count + 1`

        fi

        if [ -d "$root_path/$i/$j"];then

            dic_count=`expr $dic_count + 1`

        fi

    done

done

echofile count:$file_count

echo dictory count:$dic_count

8、取出/etc/group文件中第三个字段数值最小的10个组的名字

cat /etc/group | cut -d ‘:‘ -f 1,3 |sort -n |head -n 10|cut -d‘:‘ -f 1

9、将/etc/fstab和/etc/issue文件的内容合并为同一个内容后保存至/tmp/etc/test文件中。

    [root@localhost wangdi]# mkdir -p /tmp/etc

[root@localhostwangdi]# touch /tmp/etc/test

[root@localhostwangdi]# cat /etc/fstab /etc/issue > /tmp/etc/test

[root@localhostwangdi]# cat /tmp/etc/test

10、    请总结描述用户和组管理类命令的使用方法并完成以下练习:

(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 --stdinmageia

(5)、删除mandriva,但保留其家目录;

      userdel mandriva

(6)、创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;

    useradd -u 2002 -g distro -G peguinslackware

(7)、修改slackware的默认shell为/bin/tcsh;

      usermod -s /bin/tcsh slackware

(8)、为用户slackware新增附加组admins;

      usermod -G admins slackware

(9)、为slackware添加密码,且要求密码最短使用期限为3天,最长为180天,警告为3天

      passwd -x 180 -n 3 -w 3 slackware

(10)、添加用户openstack,其ID号为3003,基本组为clouds,附加组为peguin和nova;

  useradd -u 3003 -g clouds -G peguin,novaopenstack

(11)、添加系统用户mysql,要求其shell为/sbin/nologin;

useradd -M -s /sbin/nologin mysql

(12)、使用echo命令,非交互式openstack添加密码。

  echo "openstack"|passwd --stdinopenstack



本文出自 “11837478” 博客,请务必保留此出处http://11847478.blog.51cto.com/11837478/1859934

用户和组管理类命令