Linux系统用户管理与文本处理

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

(0)
一叶扁舟一叶扁舟
上一篇 2018-07-15
下一篇 2018-07-15

相关推荐