Linux基础03

1、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录

[root@centos7 scripts45]#ll  -d /etc/[^[:alpha:]][[:alpha:]]* 
drwxr-xr-x 2 root root 6 Apr 25 18:11 /etc/1o
-rw-r--r-- 1 root root 0 Apr 25 18:11 /etc/1p

2、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。

[root@centos7 scripts45]#mkdir /tmp/mytest1
[root@centos7 scripts45]#cp -r /etc/p*[^0-9] /tmp/mytest1
[root@centos7scripts45]#ls /tmp/mytest1
pam.d      passwd-       pki       pnm2ppa.conf  ppp             profile    pulse
papersize  pbm2ppa.conf  plymouth  popt.d        prelink.conf.d  profile.d  purple
passwd     pinforc       pm        postfix       printcap        protocols  python

3、将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中

[root@centos7 scripts45]#cat /etc/issue |tr ‘a-z‘ ‘A-Z‘ >/tmp/iss.out
[root@centos7 scripts45]#cat /tmp/iss.out
TIME AT \T
TERMINAL IN \L
HOSTNAME IS \N
\S
KERNEL \R ON AN \M

4、请总结描述用户和组管理类命令的使用方法并完成以下练习:

用户管理类命令:useradd usermod userdel
  组管理类命令:groupadd groupmod groupdel
其他相关命令:passwd id su 
修改密码:chage| gpasswd
	权限:chown| chgrp |chmod
	权限:chattr| lsattr
facl权限:

useradd [选项] [参数]
useradd -u UID 		  user1		#创建用户指定UID
useradd -g distro 	  user1         #创建用户并指定用户的基本组为distro,基本组事先必须存在
useradd -c "注释信息"   user1 	        #创建用户并添加注释信息
useradd -s /bin/bash  user1    	        #创建用户并指定类型为bash
useradd -r mandriva  		  	#创建系统用户为Mandriva 系统用户uid 
useradd -u 0 -o  	  user1		#创建user1并指定UID为0,忽略uid的唯一性,格式固定,短选项不能合并,否则报错。
useradd -d DIR		 user1 		#创建user1,指定用户的家目录,家目录事先不存在
useradd -G distro	 user1 		#创建user1,指定用户的附加组,附加组事先必须存在
useradd -m DIR		 user1          #创建user1,并创建用户家目录。
useradd -M DIR		 user1 		#创建user1,不创建用户家目录

usermod [选项] [参数]
usermod -u UID       user1 		#user1指明新的UID
usermod -g gID       user1 		#user1指明新的基本组
usermod -G GID       group 		#指明新的基本组,如果要保留原来的附加组,需要加-a选项
usermod -c "注释信息"  user1	        #修改用户注释信息
usermod -s /bin/csh  user1              #修改用户默认shell为csh
usermod -d DIR	      user1		#更改用户的家目录,加-m选项会把旧家目录文件转移到新家目录中,不加-m,默认不转移
usermod -l newname   user1   	        #更改名字
usermod -L           user1 	        #锁定用户user1,锁定之后仅root可以访问
usermod -U 	      user1 	        #解锁用户
usermod -e 2020-05-16 user11            #指明用户账号user11 账号过期时间

user11:$6$gwhHpGjq$7p9HF0siHVX38K/HlNZ48/V2HB4U3mNV7G3Dy4l9dUH3G7Ee6qNG.8EfZFUP553GK4sbVcIH29HtibwzaT4qr1:18396:0:99999:7::18398:
usermod -f 2 	    user11  	        #指明账号过期后,还有2天的时间的宽限期。 
[root@centos7 ~]#getent shadow user11
user11:$6$gwhHpGjq$7p9HF0siHVX38K/HlNZ48/V2HB4U3mNV7G3Dy4l9dUH3G7Ee6qNG.8EfZFUP553GK4sbVcIH29HtibwzaT4qr1:18396:0:99999:7:2:18398:

userdel [选项] [参数]
userdel -r 用户		#删除用户和家目录

groupadd [选项] [参数]
groupadd user11 	#创建组
groupadd -r user12	#创建系统组
groupadd -g 3112 user1	#创建组,指明gid

groupmod [选项] [参数]
groupmod -n adm admin	#把组名admin改为adm

groupdel [选项] [参数]
groupdel adm 		#删除组
当用户存在时,用户的主组是无法删除的。

passwd [选项] [参数]
[root@centos7 ~]#passwd  --help  忘记选项可以查看  不过选项大多数仅root有权限
[root@centos7 ~]#usermod -L user11
[root@centos7 ~]#getent shadow user11
user11:!$6$gwhHpGjq$7p9HF0siHVX38K/HlNZ48/V2HB4U3mNV7G3Dy4l9dUH3G7Ee6qNG.8EfZFUP553GK4sbVcIH29HtibwzaT4qr1:18396:0:99999:7:2:18397:
[root@centos7 ~]#passwd -l user11
Locking password for user user11.
passwd: Success
[root@centos7 ~]#getent shadow user11
user11:!!$6$gwhHpGjq$7p9HF0siHVX38K/HlNZ48/V2HB4U3mNV7G3Dy4l9dUH3G7Ee6qNG.8EfZFUP553GK4sbVcIH29HtibwzaT4qr1:18396:0:99999:7:2:18397:

passwd -l user1 :锁定用户
passwd -u user1 :解锁用户
passwd -n 1     :更新密码后至少1天内不能修改密码,0表示:随时修改
passwd -x 90    :密码最大使用期限90天,99999:表示永不过期
passwd -w 7 	:密码过期前7天开始提示。
passwd -i 2	:非活动期限,密码过期后还有2天的宽限期。
passwd -S user11:查看用户的关于密码的信息
echo "centos" | passwd --stdin user11 从标准输入读取 给user11创建密码。

id [选项] [参数]
[root@centos7 ~]#id slackware
uid=2002(slackware) gid=2019(distro) groups=2019(distro),2020(peguin),2021(admins)
[root@centos7 ~]#id -u slackware
2002
[root@centos7 ~]#id -g slackware
2019
[root@centos7 ~]#id -G slackware
2019 2020 2021

chage [选项] [参数]
chage -h  查看密码选项
chage -d 1 #修改密码最后1次更新的时间,距离1970-
chage -E 99999 user11  #账户过期日期,99999永不过期
chage -i 3 user11      #账户过期后的宽限期
chage -m 1 user11      #密码使用最小期限
chage -M 7 user11      #密码使用最大期限
chage -W 2 user11      #密码过期前2天的警告
chage -l   user11      #显示密码相关信息

gpasswd [选项] [参数]
gpasswd -a user11 user1    	 #把用户user1 添加到组user11中
gpasswd -d user11 user1		 #把用户user1 在组user11删除
newgroup 临时切换基本组。如果用户不属于此组,需要组密码

chown  [选项] [参数]
修改文件的属主和属组
[root@centos7 ~]#chown user11:user11 1
[root@centos7 ~]#chown :root 1          # :可以用.替换
-rw-r--r-- 1 user11 root 9 Apr 27 08:40 1
[root@centos7 ~]#chown user11:user11 z
[root@centos7 ~]#chown --reference=z z1 #z1文件参考z文件的属主和属组修改
[root@centos7 ~]#ll z z1
-rw-r--r-- 1 user11 user11 0 Apr 27 10:25 z
-rw-r--r-- 1 user11 user11 0 Apr 27 10:25 z1

[root@centos7 tmp]#chown -R user11:user11 1/ #递归修改文件夹里文件的属主和属组
[root@centos7 1]#ll
-rw-r--r-- 1 user11 user11 0 May 14 11:04 a1
-rw-r--r-- 1 user11 user11 0 May 14 11:04 a2
-rw-r--r-- 1 user11 user11 0 May 14 11:04 a3
chgrp [选项] [参数]
chgrp -R 递归修改属组

chmod [选项] [参数]
权限数字法: 
rwx 4 2 1 
[root@centos7 1]#chmod 755 dir   #创建目录权限默认755
[root@centos7 1]#chmod 644 file  #创建文件权限默认644

chmod u= g= o= ug= uo= go= a=    #指明属主属组的权限
chmod u+- g+- o+- a+-            #增加属主属组的权限
chmod --reference=file file2 
file2的权限修改为同file文件的权限

权限:chattr| lsattr
chattr +a  file    #只能向文件中添加数据
chattr -i  file    #设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容。
i参数对于文件 系统的安全设置有很大帮助。

lsattr 查看文件特殊属性
[root@centos7 1]#lsattr /etc/issue
---------------- /etc/issue

getfacl 查看facl权限 后面跟文件名或目录
[root@centos7 ~]#getfacl 1
# file: 1
# owner: user11
# group: root
user::rw-
user:root:rwx
user:user9:rw-
group::r--
mask::rwx
other::r--

[root@centos7 ~]#setfacl -m u:xie:rwx 1 	#设置文件1 用户xie拥有rwx权限。
[root@centos7 ~]#getfacl 1 | grep xie
user:xie:rwx

[root@centos7 ~]#setfacl -m g:user11:rwx 1      #设置文件1 在组user11中,并拥有rwx权限
[root@centos7 ~]#getfacl 1 | grep user11
group:user11:rwx
[root@centos7 ~]#setfacl -m u::rw-
[root@centos7 ~]#getfacl 1 | grep user::	#设置默认用户是没有权限
user::rw
[root@centos7 ~]#setfacl -m g::rw-
[root@centos7 ~]#getfacl 1 | grep group::       #设置默认组是没有权限
group::rw
[root@centos7 ~]#setfacl -b 1 		        #清除文件1所有facl权限。
[root@centos7 ~]#setfacl -x u:user11:rwx 1     #删除文件1的中的某个权限

mask 只影响设置了setfacl权限中的ug,other跟所有者不受影响。
mask 相当于一条权限高压线,facl权限下的ug的权限只能小于等于mask设置的默认权限

权限的匹配顺序
1.看所有者的权限
2.看ACL权限
看所有者
看所属租
3.看other
权限一旦匹配到了就不会再找了。

setfacl 备份和恢复
[root@centos7 ~]#getfacl -R 1 > acl.txt 备份文件1的acl
[root@centos7 ~]#setfacl -R -b 1 		#还原文件1 原来的权限
[root@centos7 ~]#getfacl 1
# file: 1
# owner: user11
# group: root
user::---
group::---
other::r--

[root@centos7 ~]#setfacl --restore acl.txt #还原文件1的ACL文件权限。
[root@centos7 ~]#getfacl 1
# file: 1
# owner: user11
# group: root
user::---
user:user11:rw-
group::---
mask::rw-
other::r--
(1)、创建组distro,其GID为2019;
[root@centos7 ~]#groupadd -g 2019 distro

(2)、创建用户mandriva,?其ID号为1005;基本组为distro;
[root@centos7 ~]#useradd mandriva -u 1005 -g distro
[root@centos7 ~]#tail -1 /etc/passwd
mandriva:x:1005:2019::/home/mandriva:/bin/bash

(3)、创建用户mageia,其ID号为1100,家目录为/home/linux;
[root@centos7 ~]#useradd -u 1100 -d /home/linux mageia
[root@centos7 ~]#tail -1 /etc/passwd
mageia:x:1100:1100::/home/linux:/bin/bash

(4)、给用户mageia添加密码,密码为mageedu,并设置用户密码7天后过期
[root@centos7 ~]#echo "mageedu" | passwd --stdin mageia
Changing password for user mageia.
passwd: all authentication tokens updated successfully.

[root@centos7 ~]#tail -1 /etc/shadow
mageia:$6$W2iiTgPH$eQvLc0QBr8kKnN/d/l4Su/xL7cBeFPWK7vzHZYcps15uz8KIqduRdQ2tuKdcBLBEDSQjGRERl/sljs2qWbJh41:18384:0:7:7:::

(5)、删除mandriva,但保留其家目录;
[root@centos7 home]#userdel mandriva 
[root@centos7 mandriva]#ls -a
.  ..  .bash_logout  .bash_profile  .bashrc  .mozilla

(6)、创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;
[root@centos7 ~]#groupadd peguin
[root@centos7 ~]#tail -1 /etc/group
peguin:x:2020:
[root@centos7 ~]#useradd -u 2002 -g distro -G peguin slackware
[root@centos7 ~]#id slackware
uid=2002(slackware) gid=2019(distro) groups=2019(distro),2020(peguin)

(7)、修改slackware的默认shell为/bin/tcsh;
[root@centos7 ~]#tail -1 /etc/passwd
slackware:x:2002:2019::/home/slackware:/bin/bash
方法1:
[root@centos7 ~]#chsh -s /bin/tcsh slackware 
Changing shell for slackware.
Shell changed.
[root@centos7 ~]#tail -1 /etc/passwd
slackware:x:2002:2019::/home/slackware:/bin/tcsh
方法2:
[root@centos7 ~]#usermod -s /bin/tcsh slackware 
[root@centos7 ~]#tail -1 /etc/passwd
slackware:x:2002:2019::/home/slackware:/bin/tcsh

(8)、为用户slackware新增附加组admins;
[root@centos7 ~]#usermod slackware -G peguin,admins 
[root@centos7 ~]#id slackware
uid=2002(slackware) gid=2019(distro) groups=2019(distro),2020(peguin),2021(admins)

Linux基础03

上一篇:ssh 无密码登录linux


下一篇:ubuntu解压rar文件