1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。
# who | cut -d' ' -f1 | sort | uniq huazi2 root
2、取出最后登录到当前系统的用户的相关信息。
# finger $(last | head -1 | cut -d' ' -f1) Login: root Name: root Directory: /root Shell: /bin/bash On since 五 6月 17 09:07 (CST) on pts/1 from 172.16.100.1 28 minutes 27 seconds idle On since 五 6月 17 09:15 (CST) on pts/2 from 172.16.100.1 3 seconds idle Mail last read 二 5月 31 01:53 2016 (CST) No Plan. # id $(last | head -1 | cut -d' ' -f1) uid=0(root) gid=0(root) 组=0(root)
3、取出当前系统上被用户当作其默认shell的最多的那个shell。
# cut -d':' -f7 /etc/passwd | sort | uniq -c | sort -nr | head -1 | tr -d '[0-9 ]' /sbin/nologin
4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt文件中。
# sort -t':' -k3nr /etc/passwd | head -10 | tr 'a-z' 'A-Z' > /tmp/maxusers.txt # # cat /tmp/maxusers.txt OPENSTACK:X:3003:5922::/HOME/OPENSTACK:/SBIN/NOLOGIN SLACKWARE:X:2002:2016::/HOME/SLACKWARE:/BIN/TCSH HUAZI2:X:1241:1241::/HOME/HUAZI2:/BIN/BASH HUAZI1:X:1237:1237::/HOME/HUAZI1:/BIN/BASH TEST1:X:1236:1236::/HOME/TEST1:/BIN/BASH ARCHLINUX:X:1235:1235::/USERS/ARCHLINUX:/BIN/BASH IAMKILLER:X:1234:1234::/OPT/.PRIVATE/IAMKILLER:/SBIN/NOLOGIN
5、取出当前主机的IP地址,提示:对ifconfig命令的结果进行切分。
# ifconfig | egrep '(inet addr:|inet )(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])' -o inet 172.16.100.11 inet 127.0.0.1
6、列出/etc目录下所有以.conf结尾的文件的文件名,并将其名字转换为大写后保存至/tmp/etc.conf文件中。
# ls -A /etc/ | grep .conf$ | tr 'a-z' 'A-Z' > /tmp/etc.conf [root@c7-1 ~]# [root@c7-1 ~]# cat /tmp/etc.conf .123.CONF ASOUND.CONF DNSMASQ.CONF DRACUT.CONF E2FSCK.CONF ELINKS.CONF HOST.CONF KDUMP.CONF KRB5.CONF LD.SO.CONF LIBAUDIT.CONF LIBUSER.CONF LOCALE.CONF LOGROTATE.CONF MAN_DB.CONF MKE2FS.CONF NSSWITCH.CONF NTP.CONF REDIS.CONF REDIS-SENTINEL.CONF RESOLV.CONF RSYSLOG.CONF SESTATUS.CONF SUDO.CONF SUDO-LDAP.CONF SYSCTL.CONF TCSD.CONF VCONSOLE.CONF YUM.CONF
7、显示/var目录下一级子目录或文件的总个数。
# ls -A /var/ | wc -l 21
8、取出/etc/group文件中第三个字段数值最小的10个组的名字。
# sort -t':' -k3n /etc/group | head -10 | cut -d':' -f1 root bin daemon sys adm tty disk lp mem kmem
9、将/etc/fstab和/etc/issue文件的内容合并为同一个内容后保存至/tmp/etc.test文件中。
# cat /etc/{fstab,issue} > /tmp/etc.test # # cat /tmp/etc.test # # /etc/fstab # Created by anaconda on Mon May 23 18:04:04 2016 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/centos-root / xfs defaults 0 0 UUID=9edd08de-e432-4196-8a06-2363c167f3e5 /boot xfs defaults 0 0 /dev/mapper/centos-swap swap swap defaults 0 0 \S Kernel \r on an \m
10、请总结描述用户和组管理类命令的使用方法并完成以下练习:
useradd 命令: 创建用户 格式 - useradd [options] LOGIN -u uid: 指定用户id [UID_MIN,UID_MAX] 定义在 /etc/login.defs -g gid: 指定组id or 组名, name or number -c "" : 用的描述 comment -d : 创建时指定家目录 -s : 指定shell -G : 指定用户的附加组 GROUP1[,GROUP2,...[,GROUPN]]] -r : 创建的是系统用户 -M : 不创建家目录 usermod 命令: 用户属性修改 格式 - usermod [options] LOGIN -u : 新uid -g : 新gid -s : 新shell -G : 新附加组,原来的附加组会覆盖,如果想追加新的附加组 要用 -a选项 -l : 新的名字 -d : 修改家目录,同时用 -m 选项 -m : 修改家目录时 复制原家目录的内容到新家目录里 -L : 锁定指定用户,在/etc/shadow 密码字段前加!叹号 -U : 解锁 -e : YYYY-MM-DD 指明用户帐号过期日期 userdel 命令: 格式 - userdel [option] login -r 删除用户家目录和邮件目录 # userdel -r xiaoming 删除xiaoming用户以及家目录和邮件目录 passwd 命令: 修改当前用户或其他用户的密码(管理员才有修改他人密码的权限) 格式 - passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username] -l : 锁定指定用户,在/etc/shadow 密码字段前加!叹号 -u : 解锁 -n mindays: 指定最短使用期限 -x maxdays:最大使用期限 -w warndays:提前多少天开始警告 -i inactivedays:非活动期限; -S 查看用户信息 --stdin:从标准输入接收用户密码; echo "PASSWORD" | passwd --stdin USERNAME groupadd 命令: 创建组 格式 - groupadd [options] group -g gid 指定gid -r 创建系统组 # groupadd -r test 添加test系统组 groupmod : 修改组属性 groupmod [options] GROUP -g 指定新gid -n 修改组名 groupdel 命令: 删除组 # groupdel test 删除 test组 此命令比较简单 gpasswd 命令: 给组添加密码 - 格式 gpasswd [option] group -a , 指定用户到某组 -a 用户名 要加入的组 -d , 删除用户附加组 -d 用户名 要删除的组 -A , 设置有管理权限的用户列表 # gpasswd test 给 test 组加密码 # gpasswd test -a openstack 将test组添加到 openstack用户的附加组 # gpasswd test -d openstack 删除 openstack 的附加组 test finger 命令: 查看用户信息 # finger root Login: root Name: root Directory: /root Shell: /bin/bash On since Fri Jun 17 09:07 (CST) on pts/1 from 172.16.100.1 5 seconds idle On since Fri Jun 17 09:15 (CST) on pts/2 from 172.16.100.1 3 minutes 41 seconds idle Mail last read Tue May 31 01:53 2016 (CST) No Plan. chage 命令: 修改用户密码过期信息 - 格式 chage [options] LOGIN -E 帐号到期的日期 -I 停滞时期 如果一个密码已过期这些天,那么此帐号将不可用 -m 密码可更改的最小天数 -M 密码有效的最大天数 -W 用户密码到期前,提前收到警告信息的天数 -l 查看账户年龄信息 chsh 命令: 修改用户 shell - 格式 chsh [ -s shell ] [ -l ] [ -u ] [ -v ] [ username ] -s 要修改的shell -l 列出当前系统的shell # chsh -s /sbin/nologin openstack # chsh openstack 交互式 # chsh 修改当前用户shell id 命令: id [OPTION]... [USERNAME] 查看用户的相关信息 -u 显示用户id -g 显示组id -G 显示所有组 附加组 -n 显示组或用户名 # id -g openstack 显示 openstack 用户的 基本组id # id -g -n openstack 显示 openstack 用户的 基本组名 # id -G -n openstack 显示 openstack 用户的 附加组名 (1)、创建组distro,其GID为2016; groupadd distro -g 2016 (2)、创建用户mandriva, 其ID号为1005;基本组为distro; useradd mandriva -u 1005 -g distro (3)、创建用户mageia,其ID号为1100,家目录为/home/linux; useradd mageia -u 1100 -d /home/linux (4)、给用户mageia添加密码,密码为mageedu; echo mageedu | passwd --stdin mageia (5)、删除mandriva,但保留其家目录; userdel mandriva (6)、创建用户slackware,其ID号为2002,基本组为distro,附加组peguin; useradd slackware -u 2002 -g distro -G peguin (7)、修改slackware的默认shell为/bin/tcsh; usermod slackware -s /bin/tcsh (8)、为用户slackware新增附加组admins; gpasswd admins -a slackware (9)、为slackware添加密码,且要求密码最短使用期限为3天,最长为180天,警告为3天; echo 123 | passwd --stdin slackware passwd -n 3 -x 180 -w 3 slackware (10)、添加用户openstack,其ID号为3003, 基本组为clouds,附加组为peguin和nova; useradd openstack -u 3003 -g clouds -G peguin,nova (11)、添加系统用户mysql,要求其shell为/sbin/nologin; useradd mysql -s /sbin/nologin (12)、使用echo命令,非交互式为openstack添加密码。" echo 123 | passwd --stdin openstack
原创文章,作者:banbula,如若转载,请注明出处:http://www.178linux.com/20695
评论列表(1条)
写的很好,排版很漂亮,加油