1、列出当前系统上所有已经登录的用户的用户名,同一个用户登录多次,则只显示一次。
~]# who | cut -d’ ‘ -f1 | sort -u
2、取出最后登录到当前系统的用户的相关信息。
~]# who | sort -k 3 -r | head -n 1 | cut -d’ ‘ -f1 | id
3、取出当前系统上被用户当做其默认shell最多的那个shell。
cut -d: -f7 /etc/passwd | uniq -c | sort -n -k 1 | tail -1 | grep -o “[^[:space:]].*$” | cut -d ‘ ‘ -f2
4、将/etc/passwd中的第三个字段数值最大的后10个用户信息全部改为大写后保存至/tmp/maxusers.txt文件中。
sort -n -t : -k 3 /etc/passwd | tail -n 10 | tr ‘a-z’ ‘A-Z’ >/tmp/maxusers.txt
5、取出当前主机的IP地址。
ifconfig ens33 | grep “\<inet\>” | grep -o “[^[:space:]].*$” | cut -d’ ‘ -f2
6、列出/etc目录下所有以.conf结尾的文件的文件名,并将其名字转换为大写后保存至/etc/ect.conf文件中。
ls /etc/*.conf | tr ‘a-z’ ‘A-Z’ >/etc/etc.conf
7、显示/var目录下一级子目录或文件的总数。
ls -d /var/* |wc -l
8、取出/etc/group文件中第三个字段数值最小的10个组的名字。
sort -n -t : -k 3 /etc/group | head -10 | cut -d: -f1
9、将/etc/fatab和/etc/issue文件的内容合并为同一个内容后保存至/etc/etc.test文件中。
cat /etc/fstab > /etc/etc.test
cat /etc/issue >> /etc/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 –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
chsh -s /bin/tcsh slackware
(8)为用户slackware新增附加组admins;
usermod -a -G admins slackware
用户和组管理类命令主要有useradd,userdel,usermod,passwd,groupadd,groupdel, gpasswd,chsh,id ,su等。
groupadd:添加用户组
groupadd [options] group
-g GID : 指定GID,默认是上一个组的GID+1;
-r:创建系统组;
groupmod:修改组属性
groupmod [options] GROUP
-g GID : 修改组ID
-n new name :修改组名:
groupdel:删除组
groupdel GROUP
useradd:添加用户或更新默认新用户信息
useradd [options] LOGIN
-u, –uid UID:指定UID
-g, –gid GID:指定基本组ID,此组得事先存在
-G,–groups GROUP1[,GROUP2,…[,GROUPN]]]:指明用户的附加组,多个组之间用逗号分隔
-c comment:指明注释信息
-d :以指定路径为用户家目录,通过复制/etc/skel此目录并重命名;指定的家目录路径如果事先存在,则不会为用户复制环境配置文件
-s, –shell SHELL:指定用户的默认shell,可用的所有shell存储在/etc/shells文件中
-r,–system:创建系统用户
-m,–create_home:创建用户家目录
-M:不创建用户家目录
-D:显示用户创建时的默认信息
-D option:修改用户创建时的默认信息
usermod:修改用户属性
usermod [options] LOGIN
-u, –uid UID:修改用户的ID
-g, –gid GROUP:修改用户所属的基本组;
-G, –groups GROUP1[,GROUP2,…[,GROUPN]]]:修改用户所属的附加组,原来的附加组会被覆盖;
-a, –append:与-G一同使用,用于为用户追加新的附加组
-c comment:修改注释信息
-d, –home Home_dir:修改用户家目录;用户原有的文件不会被移动至新位置
-m,–move-home:只能与-d选项一同使用,用于将原来的家目录移动为新的家目录;
-l, –login new_login:修改用户名
-s, –shell SHELL:修改用户的默认shell
-L,–lock:锁定用户密码,即在用户原来的密码字符串之前添加一个“!”,禁止用户登录
-U,–unlock:解锁用户密码,
userdel:删除用户
userdel [options] LOGIN
-r:删除用户时一并删除家目录
passwd:密码管理
passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [–stdin] [username]
(1)passwd:修改用户自己的密码
(2)passwd username:修改指定用户的密码,仅root有此权限
-l, -u:锁定和解锁用户
-d:删除用户密码
-e date:过期期限,日期
-i days:非活动期限;时间范围
-n days:最短使用期限
-x days:最长使用期限
-w days:警告期限
–stdin:
gpasswd:
gpasswd 【option】 group
-a username: 向组中添加用户
-d username:从组中移除用户
Chsh:修改用户默认登录shell
chsh [-s shell] [-l] [-u] [-v] [username]
-s:指定用户登录shell
-l:列出可以shell
-u:帮助
-v:显示版本信息
id:显示用户实际和有效的用户和组ID
id [OPTION]… [USER]
-u: 仅显示有效的UID
-g:仅显示用户的基本组ID
-G:显示用户所属的所有组ID
-n:显示名字而非ID;
su: switch user
登录式切换:会通过重新读取目标用户的配置文件来重新初始化
su – username
su -l username
非登录式切换:不会读取目标用户的配置文件进行初始化
su username
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/102985