1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次:
[leexide@leeblog ~]$who | cut -d" " -f1 | uniq
2、取出最后登录到当前系统的用户的相关信息。
last -n 1 | cut -d" " -f1 | head -1
3、取出当前系统上被用户当作其默认shell的最多的那个shell
[leexide@leeblog ~]$cat /etc/passwd | cut -d":" -f7 | uniq -c | sort -n | tail -1 | awk '{print $2}' /sbin/nologin
4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt文件中。
[leexide@leeblog ~]$cat /etc/passwd | sort -n -k 3 -t: | tr 'a-z' 'A-Z' >/tmp/maxusers.txt
5、取出当前主机的IP地址,提示:对ifconfig命令的结果进行切分。
[leexide@leeblog ~]$ifconfig eth0 | grep "inet" | awk '{print $2}'
6、列出/etc目录下所有以.conf结尾的文件的文件名,并将其名字转换为大写后保存至/tmp/etc.conf文件中。
[leexide@leeblog ~]$ls /etc/*.conf | tr 'a-z' 'A-Z' > /tmp/etc.conf
7、显示/var目录下一级子目录或文件的总个数。
[leexide@leeblog ~]$find /var -type f | wc -l
8、取出/etc/group文件中第三个字段数值最小的10个组的名字。
[leexide@leeblog ~]$cat /etc/group | sort -n -k 3 -t: | head -10 | cut -d":" -f1
9、将/etc/fstab和/etc/issue文件的内容合并为同一个内容后保存至/tmp/etc.test文件中。
[leexide@leeblog ~]$ cat /etc/{fstab,issue} > /tmp/etc.test
10、总结描述用户和组管理类命令的使用方法以及一些具体的示例
(1)Linux用户和用户组简介
Linux是一个多用户操作系统,即同时支持多个用户同时登录到系统共同使用计算机资源,那么每个要登录到计算机系统的唯一的标识就叫做一个用户,这个唯一的标识实现了资源的隔离,使得多个用户同时登录到系统时不会导致系统的混乱,那么,当用户过多时,对每个用户的管理就会变得十分困难和繁琐,于是,用户组的作用就是实现对用户的分组管理,使得对用户的管理变得简洁。而对于计算机来说,字符串并非是其擅长处理的,数字才是,所以每个用户都有一个唯一的标识与用户相对应的数字,叫做用户或用户组的id,类似人的身份证。但是并非每个人都有使用计算机资源的权利,因此,每个用户想要登录到系统还需要使用凭证,通俗来说就是需要所谓的密码来登录系统。而用户登录系统的整个过程则是根据/etc/passwd文件来实现验证。那么对于管理 员来说,对系统上用户的管理就显得至关重要。
(2)Linux用户和用户组说明
Linux中用户有:管理员和普通用户两类:
管理员:也叫超级用户,用户id为0,拥有系统管理的最高权限
普通用户:系统用户和 登录用户:
系统用户:centos6上用户id是1-499,centos7上则是1-999;
登录用户:centos6上用户id是500-60000,centos7则是1000-60000;
Linux上的用户组:管理员组和普通用户组:
管理员组:组id为0
普通用户:分为系统用户组和登录用户组
系统用户组:centos6上组id为1-499,centos7上组id为1-999
登录用户组:centos6上组id是500-60000,centos7组id为1000-60000;’
(3)总结:
用户管理命令:
A、useradd:添加用户B、查看每个用户的用户id和组id信息
语法:useradd [options] use_rname
常用选项:
-
-r:创建系统用户,所谓的系统用户就是系统刚启动时还没有用户登录时,很多服务进程需要启动时必须以某个用户的身份运行,而此类用户就是系统用户。
-
-u uid:创建用户时指定用户id
-
-g gid:创建用户时指定用户的基本组id
-
-G Group_name:创建用户是指定附加组,多个组之间用逗号分隔
-
-d dir:创建家用户时指定其家目录
-
-s shell :创建用户时指定其默认的shell
B、groupadd:添加用户组
语法:groupadd [options] group_name
常用选项:
-
-g gid:创建组时指定用户组id,若不指定则在上一个组id的值加1
-
-r :创建系统组
C、usermod:修改用户属性
语法:usermod [options] username
常用选项:
-
-u uid:修改uid为指定的id
-
-g gid:修改gid为指定的id
-
-G group_name:修改附加组
-
-m dir:修改家目录为指定的目录
-
-l login_name:修改登录名
-
-s shell:修改用户的默认shell
-
-L:锁定指定的用户
-
-U:对指定的用户解锁
D、userdel:删除用户
语法:userdel [options] user_name
常用选项:
-
-r : 删除用户时同时删除其家目录
E、passwd:修改用户密码
语法:passwd [options] user_name
常用选项:
-
-d : 清除用户密码串
-
-l:锁定用户
-
-S:查看指定用户的密码状态信息
-
-u:对指定用户解锁
-
-e date:指定过期时间
-
-i :非活动时间
-
-n :密码的最短使用期限
F、gpasswd:管理用户组
语法:gpasswd [options] group_name
常用选项:
-
-a username:将指定的用户添加到指定组中
-
-d username:将指定用户从指定的组中移除
使用示例:
(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
(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
(9)为slackware添加密码,且要求密码最短使用期限为3天,最长为180天,警告为3天;
passwd -n 3 -x 180 -w 3 slackware
(10)添加用户openstack,其ID号为3003, 基本组为clouds,附加组为peguin和nova;
useradd -u 3003 -g clouds -G peguin,nova openstack
(11)添加系统用户mysql,要求其shell为/sbin/nologin;
useradd -r -s /sbin/nologin mysql
(12)使用echo命令,非交互式为openstack添加密码。
echo "openstack" | passwd --stdin openstack
原创文章,作者:Leexide,如若转载,请注明出处:http://www.178linux.com/49842