1、列出当前系统上所有已经登陆的用户名,注意同一个用户登陆多次,则只显示一次即可。
[root@localhost ~]# w
11:50:45 up 24 min, 3 users, load average: 0.04, 0.04, 0.10
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root :0 :0 11:27 ?xdm? 1:47 0.33s gdm-session-worker [pam/gdm-password]
root pts/0 :0 11:27 5.00s 0.09s 0.00s w
root pts/1 :0 11:32 53.00s 0.06s 0.00s less -s
[root@localhost ~]# w -h
root :0 :0 11:27 ?xdm? 1:47 0.33s gdm-session-worker [pam/gdm-password]
root pts/0 :0 11:27 0.00s 0.09s 0.00s w -h
root pts/1 :0 11:32 56.00s 0.06s 0.00s less -s
[root@localhost ~]# w -h | cut -d” ” -f1
root
root
root
[root@localhost ~]# w -h | cut -d” ” -f1 | uniq
root
[root@localhost ~]#
2、取出最后登录到当前系统的用户的详细信息。
[root@localhost ~]# w
11:59:01 up 33 min, 4 users, load average: 0.02, 0.06, 0.09
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root :0 :0 11:27 ?xdm? 2:12 0.34s gdm-session-worker [pam/gdm-password]
root pts/0 :0 11:27 5.00s 0.14s 0.00s w
root pts/1 :0 11:32 9:09 0.06s 0.00s less -s
root pts/2 :0 11:57 1:25 0.05s 0.05s bash
[root@localhost ~]# w -h | sort -t” ” -k4 | tail -1
root pts/2 :0 11:57 1:31 0.05s 0.05s bash
[root@localhost ~]#
3、取出当前系统上被用户当作其默认shell的最多的那个shell
[root@localhost ~]# cat /etc/passwd | cut -d: -f7 |sort | uniq -c
4 /bin/bash
1 /bin/sync
1 /sbin/halt
53 /sbin/nologin
1 /sbin/shutdown
[root@localhost ~]#
4、将/etc/passwd中的第三个字段数值最大的后10个用户信息全部改成大写后保存至/tmp/maxusers.txt文件中。
~]# sort -t: -k3 -n /etc/passwd | tail -10 | tr ‘a-z’ ‘A-Z’ >/tmp/maxusers.txt
~]# cat /tmp/maxusers.txt
5、取出当前主机的IP地址,提示:对ifconfig命令的结果进行切分。
方法1:
~]# ifconfig | cut -d” ” -f10,13,16 | sort -n -u
方法2:由于ifconfig地址x.x.x.x中的x不可能大于255,也不会出现这种格式有大于255的数值,因此这是模糊匹配,如果有300.400.500.600,也会被匹配出来
~]# ifconfig | grep -o “\<[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}”
192.168.5.128
255.255.255.0
192.168.5.255
127.0.0.1
255.0.0.0
192.168.122.1
255.255.255.0
192.168.122.255
[root@localhost ~]#
6、列出/etc目录下所有以.conf结尾的文件的文件名,并将其名字转换为大写后保存至/tmp/etc.conf文件中。
[root@localhost ~]# ls /etc/*.conf | tr ‘a-z’ ‘A-Z’ >/tmp/etc.conf
7、显示/var目录下一级子目录或文件的总个数。
[root@localhost ~]# ls /var/ | wc -w
8、取出/etc/group文件中的第三个字段数值最小的10个组的名字。
[root@localhost ~]# sort -t: -k3 -n /etc/group | head | cut -d: -f1
9、取出/etc/fstab和/etc/issue文件的内容合并为同一个内容后保存至/tmp/etc.test文件中。
[root@localhost ~]# cat /etc/{fstab,issue} >/tmp/etc.test
10、请总结描述用户和组管理命令的使用方法并完成以下练习:
新增用户:useradd
useradd [options] LOGIN
useradd -D //显示创建用户的默认设置
useradd -D [options] //修改创建用户的默认选项,修改的结果保存于/etc/default/useradd文件中,也可以通过修改此文件实现。
option:
-u:指定用户UID;
-g:指定用户基本组GID,此组需事先存在
-c:注释信息
-G:指定用户所属附加组,多个组之间用逗号分隔
-d:指定用户家目录路径,通过复制/etc/skel目录并重命名实现,如果指定路径存在,则不会初始化用户环境配置。
-s:指定用户的默认登陆shell,可用的shell列表/etc/shells
-r:创建系统用户,
-M:不为用户创建家目录
-f:密码过期后,账户被彻底禁用之前的天数
-D:显示用户创建时的默认参数设置。
修改用户信息:
usermod [options] LOGIN
options:
-u:修改用户的UID
-g:修改用户基本组GID,组需事先存在
-G:修改用户所属附加组,会从原来的附加组中脱离,增加到新的附加组中
-a:只能和-G一起使用,用于追加新的附加组,原来的附加组和现在的附加组同时存在
-c:修改注释信息
-s:修改用户的shell
-d:修改用户的家目录,原家目录中的文件不会被转移至新的位置,
-m:只能和-d一起使用,转移家目录路径时,将原来家目录中的文件一起转移至新的家目录位置。
-l:修改用户名
-L:锁定用户密码,禁止用户登陆,即在原来的密码字符串之前添加!
-u:解锁用户的密码。
删除用户:
userdel [options] LOGIN
-f:强制删除,即使用户已经登陆。
-r:删除用户时,一并删除其家目录。
新增组:
groupadd [options] group
options:
-r:创建系统组
-g:指定新建组的GID。
修改组:
groupmod [options] GROUP
options:
-g:修改组的GID
-n:修改组名
-p:修改组密码
删除组:
groupdel [options] GROUP
10.1、创建组distro,其GID为为2016;
[root@localhost home]# groupadd -g 2016 distro
[root@localhost home]# tail -1 /etc/group
distro:x:2016:
10.2、创建用户mandriva,其ID号为1005;基本组为distro;
[root@localhost home]# useradd -u 1005 -g 2016 mandriva
[root@localhost home]# tail -1 /etc/passwd
mandriva:x:1005:2016::/home/mandriva:/bin/bash
[root@localhost home]#
10.3、创建用户mageia,其ID号为1100,家目录为/home/linux;
[root@localhost home]# useradd -u 1100 -d /home/linux mageia
[root@localhost home]# ls
123 linux mandriva user user1 zhang2
[root@localhost home]# tail -1 /etc/passwd
mageia:x:1100:1100::/home/linux:/bin/bash
[root@localhost home]#
10.4、给用户mageia添加密码,密码为mageedu;
[root@localhost home]# passwd mageia
Changing password for user mageia.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost home]#
10.5、删除mandriva,但保留其家目录
[root@localhost home]# userdel mandriva
[root@localhost home]# ls
123 linux mandriva user user1 zhang2
[root@localhost home]#
10.6、创建用户slackware,其ID号为2002,基本组为distro,附加组peguin
[root@localhost home]# groupadd peguin
[root@localhost home]# tail -1 /etc/group
peguin:x:2017:
[root@localhost home]# useradd -u 2002 -g 2016 -G 2017 slackware
[root@localhost home]# tail -1 /etc/group
peguin:x:2017:slackware
[root@localhost home]#
10.7、修改slackware的默认shell为/bin/tcsh;
[root@localhost home]# usermod -s /bin/tcsh slackware
[root@localhost home]# tail -1 /etc/passwd
slackware:x:2002:2016::/home/slackware:/bin/tcsh
[root@localhost home]#
10.8、为用户slackware新增附加组admins;
[root@localhost home]# usermod -aG admins slackware
[root@localhost home]# tail -5 /etc/group
user:x:1000:
distro:x:2016:
mageia:x:1100:
peguin:x:2017:slackware
admins:x:2018:slackware
[root@localhost home]#
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/87670