linux prelink.cache,Linux基础操作

1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。

1、1 cp复制命令

单个文件复制:cp [OPTION]... SOURCE DEST

如果DEST不存在,则事先创建文件,并复制源文件数据

如果DEST是非目录文件,则覆盖目录文件

如果DEST是目录文件,则先在目录文件中创建同名的文件,然后复制源文件数据

多个文件复制:cp [OPTION]... SOURCE... DIRECTORY

cp [OPTION]... -t DIRECTORY SOURCE...

如果DEST不存在,报错

如果DEST是目录文件,则先在目录文件中创建同名的文件,然后复制源文件数据

示例:

将/etc目录下的issue文件复制到/tmp目录下,并命名为issue.bak

[root@node01 tmp]# cp /etc/issue /tmp/issue.bak

[root@node01 tmp]# ls -l /tmp/issue.bak

-rw-r--r--. 1 root root 23 12月 17 15:28 /tmp/issue.bak

[root@node01 tmp]#

复制/etc目录至tmp目录下

[root@node01 tmp]# cp -R /etc /tmp/

[root@node01 tmp]# ls -ld /tmp/etc

drwxr-xr-x. 74 root root 8192 12月 17 15:51 /tmp/etc

1、2 MV移动命令

用法:mv [选项]... [-T] 源文件 目标文件

或:mv [选项]... 源文件... 目录

Rename SOURCE to DEST, 修改源文件名称至目标文件

将issue.bak文件修改文件名为issue_20181217.bak

[root@node01 tmp]# ls -il issue.bak

67538627 -rw-r--r--. 1 root root 23 12月 17 15:28 issue.bak

mv issue.bak issue_20181217.bak

[root@node01 tmp]# ls -il issue_20181217.bak

67538627 -rw-r--r--. 1 root root 23 12月 17 15:29 issue_20181217.bak

move SOURCE(s) to DIRECTORY,移动源文件至目录

将 test.tar.xz文件移动至test目录

[root@node01 tmp]# ls

etc etc-2018-12-14-11.tar.xz issue.bak mem.txt read.sh test test.tar.xz txt

[root@node01 tmp]# mv test.tar.xz test

[root@node01 tmp]# ls

etc etc-2018-12-14-11.tar.xz issue.bak mem.txt read.sh test txt

[root@node01 tmp]# ls -l test/test.tar.xz

-rw-r--r--. 1 root root 1432 12月 13 21:02 test/test.tar.xz

1、3 删除文件和目录

用法:rm [选项]... 文件...

-f, --force 强制删除

-r, 删除目录以及目录下的文件

删除/tmp目录下的mem.txt文件

[root@node01 tmp]# ls

etc etc-2018-12-14-11.tar.xz issue.bak mem.txt read.sh test txt

[root@node01 tmp]# rm mem.txt

[root@node01 tmp]# ls

etc etc-2018-12-14-11.tar.xz issue.bak read.sh test txt

删除/tmp目录下的txt目录及其中的文件

[root@node01 ~]# cd /tmp/

[root@node01 tmp]# ls

etc etc-2018-12-14-11.tar.xz issue.bak read.sh test txt

[root@node01 tmp]# rm -rf txt

[root@node01 tmp]# ls

etc etc-2018-12-14-11.tar.xz issue.bak read.sh test

1、4 tail命令

用法:tail [选项]... [文件]...

Print the last 10 lines of each FILE to standard output.将文件的最后10行打印到标准输出

-n 打印最后n行

-f 打印随着文件的增长,输出附加数据

打印/etc/passwd文件最后一行

[root@node01 tmp]# tail -1 /etc/passwd

sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

实时查看日志文件的变化输出

[root@node01 tmp]# tail -f /var/log/messages

1、5 head命令

用法:head [选项]... [文件]...

Print the first 10 lines of each FILE to standard output.将文件的开头10行打印到标准输出

-n 打印开头n行

打印/etc/passwd文件开头一行

[root@node01 tmp]# head -1 /etc/passwd

root:x:0:0:root:/root:/bin/bash

1.6 find命令

find [OPTIONS] [查找起始路径] [查找条件] [处理动作]

查找起始路径:指定具体搜索目标起始路径,默认为当前目录

查找条件:指定的查找标准,可以根据文件名、大小、类型、从属关系、权限等等标准进行,默认为找出指定路径下的所有文件

根据文件的从属关系查找

-user USERNAME 找出属主指定用户的所有文件

-group RPUNAME 找出属组指定用户的所有文件

-uid UID 找出属主指定用户UID的所有文件

-gid GID 找出属组指定用户GID所有文件

根据文件的类型查找

-type TYPE

f 普通文件

d 目录文件

l 符合链接文件

b 块设备文件

c 字符设备文件

p 管道文件

s 套接字文件

根据文件大小查找

-size +。- unit

常用单位:k,M,G

根据时间戳查找

以“天”为单位

-atime 访问时间

-mtime 修改时间

-ctime 改变时间

以分钟为单位

-amin

-mmin

-cmin

组合测试

与:-a,默认组合

或:-o

非:-not,!

支持glob风格的通配符 *,?,[],[^]

处理动作:对符合查找条件的文件做出的操作,例如删除等操作,默认为输出至标准输出

-print 输出至标准输出,默认动作

-ls 类似于对查找到的文件执行ls -l 命令,输出文件的详细信息

-delete 删除查找到的文件

-fls 把查找到的所有文件的长格式信息保存至指定的文件中

-ok command {} ; 对查找到的每个文件有command表示的命令,每次操作需要用户确认

-exec comomand {} ; 对查找到的每个文件有command表示的命令,不需要用户确认

注意:find传递查找到的文件路径至后面的命令时,是先查找出所有符合条件的文件路径,并一次性传递给后面的命令,但是有些命令不能接受过长的参数,为了解决这个问题。用如下命令

find | xargs command

1、查找/var 目录下属主为root,且属组为mail的所有文件或目录

find /var -user root -a -group mail -ls

2、查找/usr目录下不属于root,bin或hadoop的所有文件或目录,用两种方法

find /usr ! \( -user root -o -user bin -o -user hadoop \) -ls

find /usr ! -user root -a -user bin -a -user hadoop -ls

3、查找/etc/目录下最近一周内其内容修改过的,且属主不是root用户也不是hadoop用户出的文件或目录

find /etc -mtime -7 -a ! -user root -a !-user hadoop -ls

4、查找当前系统上没有属主或属组,且最近一周内曾被访问过的文件或目录

find / -nouser -a -nogroup -atime -7 -exec ls -l {} \;

5、查找/etc目录下大于1M且类型为普通文件的所有文件

find / -size +1M -type f -exec ls -l {} \;

6、查找/etc目录下所有用户都没有写权限的文件

find /etc ! -perm /222 -type f -exec ls -l {} \;

7、查找/etc目录至少有一类用户没有执行权限的文件

find /etc ! -perm -111 -type f -exec ls -l {} \;

8、查找/etc/init.d/目录下,所有用户都有执行权限,且其它用户有写权限的所有文件

find /etc -perm -113 -type f -exec ls -l {} \;

2、mkdir目录创建

mkdir [OPTION]... DIRECTORY...

-p:自动按需创建父目录

-v:显示详细过程

-m:直接给定权限

注意:路径基名方为命令的作用对象,基名之前的路径必须得存在

使用命令行展开功能,创建/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b

[root@node01 tmp]# mkdir -pv /tmp/{a1/{a,b},a2}

mkdir: 已创建目录 "/tmp/a1"

mkdir: 已创建目录 "/tmp/a1/a"

mkdir: 已创建目录 "/tmp/a1/b"

mkdir: 已创建目录 "/tmp/a2"

[root@node01 tmp]

在/tmp目录下创建目录:x_y, x_z, q_y, q_z

[root@node01 tmp]# mkdir -pv /tmp/{x,q}_{y,z}

mkdir: 已创建目录 "/tmp/x_y"

mkdir: 已创建目录 "/tmp/x_z"

mkdir: 已创建目录 "/tmp/q_y"

mkdir: 已创建目录 "/tmp/q_z"

[root@node01 tmp]#

3、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。

元数据:metadate

文件元数据包含:inode(index node)、大小、权限、属主属组、时间戳、数据块指针

查看元数据信息:

stat命令 用法:stat [选项]... 文件...

查看/etc/passwd文件的源数据

[root@node01 tom]# stat /etc/passwd

文件:"/etc/passwd"

大小:834 块:8 IO 块:4096 普通文件

设备:fd00h/64768d Inode:67404619 硬链接:1

权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)

环境:system_u:object_r:passwd_file_t:s0

最近访问:2018-12-17 19:21:41.287000000 +0800

最近更改:2018-12-17 19:21:28.354000000 +0800

最近改动:2018-12-17 19:21:28.355000000 +0800

创建时间:-

修改时间戳:

touch命令 用法:touch [选项]... 文件...

touch:修改文件时间戳,如果没有该文件就直接创建文件

-c:指定文件路径不存在时不予创建:

-a:仅修改访问时间

-m:仅修改更换时间

-t:指定更改时间

创建abc.txt

[root@node01 tmp]# touch abc.txt

查看当前时间戳

[root@node01 tmp]# stat abc.txt

文件:"abc.txt"

大小:0 块:0 IO 块:4096 普通空文件

设备:fd00h/64768d Inode:67404626 硬链接:1

权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)

环境:unconfined_u:object_r:user_tmp_t:s0

最近访问:2018-12-17 20:19:15.462000000 +0800

最近更改:2018-12-17 20:19:15.462000000 +0800

最近改动:2018-12-17 20:19:15.462000000 +0800

创建时间:-

修改更改时间至2019-12-17 20:20:20

[root@node01 tmp]# touch -m -t 201912172020.20 abc.txt

[root@node01 tmp]# stat abc.txt

文件:"abc.txt"

大小:0 块:0 IO 块:4096 普通空文件

设备:fd00h/64768d Inode:67404626 硬链接:1

权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)

环境:unconfined_u:object_r:user_tmp_t:s0

最近访问:2018-12-17 20:19:15.462000000 +0800

最近更改:2019-12-17 20:20:20.000000000 +0800

最近改动:2018-12-17 20:23:40.885000000 +0800

创建时间:-

4、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。

date命令

用法:date [选项]... [+格式]

给定的格式FORMAT 控制着输出,解释序列如下:

%% 一个文字的 %

%a 当前locale 的星期名缩写(例如: 日,代表星期日)

%A 当前locale 的星期名全称 (如:星期日)

%b 当前locale 的月名缩写 (如:一,代表一月)

%B 当前locale 的月名全称 (如:一月)

%c 当前locale 的日期和时间 (如:2005年3月3日 星期四 23:05:25)

%C 世纪;比如 %Y,通常为省略当前年份的后两位数字(例如:20)

%d 按月计的日期(例如:01)

%D 按月计的日期;等于%m/%d/%y

%e 按月计的日期,添加空格,等于%_d

%F 完整日期格式,等价于 %Y-%m-%d

%g ISO-8601 格式年份的最后两位 (参见%G)

%G ISO-8601 格式年份 (参见%V),一般只和 %V 结合使用

%h 等于%b

%H 小时(00-23)

%I 小时(00-12)

%j 按年计的日期(001-366)

%k hour, space padded ( 0..23); same as %_H

%l hour, space padded ( 1..12); same as %_I

%m month (01..12)

%M minute (00..59)

%n 换行

%N 纳秒(000000000-999999999)

%p 当前locale 下的"上午"或者"下午",未知时输出为空

%P 与%p 类似,但是输出小写字母

%r 当前locale 下的 12 小时时钟时间 (如:11:11:04 下午)

%R 24 小时时间的时和分,等价于 %H:%M

%s 自UTC 时间 1970-01-01 00:00:00 以来所经过的秒数

%S 秒(00-60)

%t 输出制表符 Tab

%T 时间,等于%H:%M:%S

%u 星期,1 代表星期一

%U 一年中的第几周,以周日为每星期第一天(00-53)

%V ISO-8601 格式规范下的一年中第几周,以周一为每星期第一天(01-53)

%w 一星期中的第几日(0-6),0 代表周一

%W 一年中的第几周,以周一为每星期第一天(00-53)

%x 当前locale 下的日期描述 (如:12/31/99)

%X 当前locale 下的时间描述 (如:23:13:48)

%y 年份最后两位数位 (00-99)

%Y 年份

%z +hhmm 数字时区(例如,-0400)

%:z +hh:mm 数字时区(例如,-04:00)

%::z +hh:mm:ss 数字时区(例如,-04:00:00)

%:::z 数字时区带有必要的精度 (例如,-04,+05:30)

%Z 按字母表排序的时区缩写 (例如,EDT)

$(date +格式)

引用时间格式作为变量

创建文件名形如:tfile-2016-05-27-09-32-22

touch /tmp/tfile-$(date +"%Y-%m-%d-%H-%M-%S")

[root@node01 tmp]# ls -l tfile*

-rw-r--r--. 1 root root 0 12月 17 17:46 tfile-2018-12-17-17-46-29

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

[root@node01 mytest1]# cp -R /etc/p*[^0-9] /tmp/mytest1

[root@node01 mytest1]# ls -l

总用量 28

drwxr-xr-x. 4 root root 4096 12月 17 19:12 pam.d

-rw-r--r--. 1 root root 798 12月 17 19:12 passwd

-rw-r--r--. 1 root root 837 12月 17 19:12 passwd-

drwxr-xr-x. 12 root root 142 12月 17 19:12 pki

drwxr-xr-x. 4 root root 54 12月 17 19:12 plymouth

drwxr-xr-x. 7 root root 78 12月 17 19:12 pm

drwxr-xr-x. 4 root root 32 12月 17 19:12 popt.d

drwxr-xr-x. 4 root root 180 12月 17 19:12 postfix

drwxr-xr-x. 5 root root 149 12月 17 19:12 ppp

drwxr-xr-x. 4 root root 104 12月 17 19:12 prelink.conf.d

-rw-r--r--. 1 root root 233 12月 17 19:12 printcap

-rw-r--r--. 1 root root 1795 12月 17 19:12 profile

drwxr-xr-x. 4 root root 273 12月 17 19:12 profile.d

-rw-r--r--. 1 root root 6545 12月 17 19:12 protocols

drwxr-xr-x. 4 root root 61 12月 17 19:12 python

[root@node01 mytest1]#

6、创建用户tom,指定UID为5001,指定家目录为/tmp/tom, 指定shell为/bin/zsh, 指定基本组为tom,附加组为jack

[root@node01 mytest1]# getenforce

Enforcing

[root@node01 mytest1]# setenforce 0

[root@node01 mytest1]# getenforce

Permissive

[root@node01 tmp]# useradd -u 5001 -d /tmp/tom/ -G jack -s /bin/zsh tom

[root@node01 tmp]# grep tom /etc/passwd

tom:x:5001:5001::/tmp/tom/:/bin/zsh

[root@node01 tmp]# grep tom /etc/group

jack:x:1000:tom

tom:x:5001:

[root@node01 tmp]#

7、常用的用户以及文件管理命令有哪些,并演示命令以及用法。

7、1 用户和组分类

用户类别:

管理员

普通用户

登录用户

系统用户

用户标识:UserID,UID

16bits二进制数字:0-65535

管理员:0

普通用户:1-65635

系统用户:1-499(Centos6),1-999(Centos7)

登录用户:500-60000(Centos6),1000-60000(Centos7)

名称解析:名称转换

Username UID

根据名称解析库进行:/etc/passwd

组类别1:

管理员组

普通用户组

系统组

登录组

组标识:GroupID,GID

管理员:0

普通用户:1-65635

系统用户:1-499(Centos6),1-999(Centos7)

登录用户:500-60000(Centos6),1000-60000(Centos7)

名称解析:名称转换

groupname GID

根据名称解析库进行:/etc/group

组类别2:

用户的基本组

用户的附加组

组类别3:

私有组:组名同用户名,且只包含一个用户

公共组:组内包含多个用户

7、2 用户和组管理命令

组管理命令:

-groupadd 命令:添加组

语法:groupadd [option]… group_Name

选项:-g GID :指定GID;默认是上一个组的GID+1;

-r :创建系统组;

-groupmod 命令:修改组属性

语法:groupmod [option] group_Name

选项:-g GID:修改GID

-n new_name:修改组名;groupmod –n new_name old_name

-groupdel 命令:删除组

语法:groupdel [option] group

用户管理命令:

-useradd 命令:创建命令

语法:useradd [option] userName

选项:-u, --uid UID:指定UID;

-g, --gid GROUP:指定基本组ID,此组得事先存在;

-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:指明用户所属的附加组,多个组之间用逗号分隔;

-c, --comment COMMENT:指明注释信息;

-d, --home HOME_DIR:以指定的路径为用户的家目录;通过复制/etc/skel此目录并重命名实现;指定的家目录路径如果事先存在,则不会为用户复制环境配置文件;

-s, --shell SHELL:指定用户的默认shell,可用的所有shell列表存储在/etc/shells文件中;

-r, --system:创建系统用户;

useradd -s /sbin/nologin:该用户不能登录

echo $SHELL :查看当前用户的 shell 类型

useradd -M USERNAME:创建用户但不创建家目录

useradd -mk USERNAME:创建用户的同时创建家目录,并复制 /etc/skel 中的内容到家目录中。 如果用户没有家目录,那么不能切换到该用户

注意:创建用户时的诸多默认设定配置文件为 etc/longin.defs

Useradd –D:显示创建用户的默认配置

Useradd –D 选项:修改默认选项的值;

修改的结果保存于/etc/default/useradd 文件中;

-usermod 命令:修改用户属性

语法:usermod [option]… userName

选项:-u, --uid UID:修改用户的ID为此处指定的新UID;

-g, --gid GROUP:修改用户所属的基本组;

-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:修改用户所属的附加组;原来的附加组会被覆盖; -a, --append:与-G一同使用,用于为用户追加新的附加组;

-c, --comment COMMENT:修改注释信息;

-d, --home HOME_DIR:修改用户的家目录;用户原有的文件不会被转移至新位置;

-m, --move-home:只能与-d选项一同使用,用于将原来的家目录移动为新的家目录;

例:Usermod –d /tmp/newhome –m user_name

-l, --login NEW_LOGIN:修改用户名;

-s, --shell SHELL:修改用户的默认shell;

-L, --lock:锁定用户密码;即在用户原来的密码字符串之前添加一个"!";

-U, --unlock:解锁用户的密码;

usermod -G -a GROUPS USERNAME:在原有附加组的基础上追加附加组

usermod -d PATH USERNAME:修改家目录。修改后原先家目录中的文件不能访问了,因为在当前的家目录中并不存在这些文件。

-userdel命令:删除用户

语法:userdel [option] userName

选项:-r:删除用户时一并删除其家目录;

例1:创建用户gentoo,UID为4001,基本组为gentoo,附加组为distro(GID为5000)和peguin(GID为5001);

[root@node01 ~]# groupadd -g 5000 distro

[root@node01 ~]# groupadd -g 5001 peguin

[root@node01 ~]# useradd -u 4001 -G distro,peguin gentoo

[root@node01 ~]# useradd -u 4001 -G distro,peguin gentoo

[root@node01 ~]# id gentoo

uid=4001(gentoo) gid=4001(gentoo) 组=4001(gentoo),5000(distro),5001(peguin)

例2:创建用户fedora,其注释信息为"Fedora Core",默认shell为/bin/tcsh;

[root@node01 ~]# useradd -c "Fedora Core" -s /bin/tcsh fedora

[root@node01 ~]# grep fedora /etc/passwd

fedora:x:4002:4002:Fedora Core:/home/fedora:/bin/tcsh

例3:修改gentoo用户的家目录为/tmp/gentoo;要求其原有文件仍能被用户访问;

[root@localhost ~]# mkdir -p /tmp/gentoo

[root@localhost ~]# usermod -m -d /tmp/gentoo Gentoo

用户密码管理:

-passwd 命令:修改用户的密码

语法:passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username]

passwd :修改用户自己的密码

passwd USERNAME :修改指定用户的密码,但仅root由此权限

选项:-l, -u:锁定和解锁用户;

-d:清除用户密码串;

-e DATE: 过期期限,日期;

-i DAYS:非活动期限;

-n DAYS:密码的最短使用期限;

-x DAYS:密码的最长使用期限;

-w DAYS:警告期限;

--stdin:设定用户密码为用户名

echo "PASSWORD" | passwd --stdin USERNAME

组密码管理:

-gpasswd 命令:修改组密码:

组密码文件为:/etc/gpasswd

语法:gpasswd [option] groupName

选项:-a USERNAME:向组中添加用户

-d USERNAME:从组中移除用户

7.3 文件权限管理命令

-chmod用来变更文件或目录的权限。在UNIX系统家族里,文件或目录权限的控制分别以读取、写入、执行3种一般权限来区分,另有3种特殊权限可供运用。用户可以使用chmod指令去变更文件与目录的权限,设置方式采用文字或数字代号皆可。符号连接的权限无法变更,如果用户对符号连接修改权限,其改变会作用在被连接的原始文件

语法:chmod [OPTION]... MODE[,MODE]... FILE...

chmod [OPTION]... OCTAL-MODE FILE...

chmod [OPTION]... --reference=RFILE FILE...

文件的三类用户:

u :属主

g :属组

o :其他

a :所有

(1) chmod [OPTION]... MODE[,MODE]... FILE...

MODE表示法:

赋权表示法:直接操作一类用户的所有权限位rwx;

u= chmod u=rwx,g=rw,o=r f01

g=

o=

a=

授权表示法:直接操作一类用户的一个权限位r,w,x;

u+, u- chmod u+x,g+w file

g+, g-

o+, o-

a+, a-

(2) chmod [OPTION]... OCTAL-MODE FILE..

chmod 764 file.

(3) chmod [OPTION]... --reference=RFILE FILE...

选项:-R, --recursive:递归修改

注意:用户仅能修改属主为自己的那些文件的权限;

-chown 命令: 改变某个文件或目录的所有者和所属的组,该命令可以向某个用户授权,使该用户变成指定文件的所有者或者改变文件所属的组。用户可以是用户或者是用户ID,用户组可以是组名或组[id]文件名可以使由空格分开的文件列表,在文件名中可以包含通配符。

语法:chown [OPTION]... [OWNER][:[GROUP]] FILE...

chown [OPTION]... --reference=RFILE FILE...

选项:-R:递归修改

[root@node01 tmp]# mkdir -p /tmp/gentoo_bak

[root@node01 tmp]# chown -R gentoo:gentoo /tmp/gentoo_bak/

[root@node01 tmp]# ls -ld /tmp/gentoo_bak/

drwxr-xr-x. 2 gentoo gentoo 6 12月 18 17:19 gentoo_bak/

[root@node01 tmp]#

-chgrp 命令:用来改变文件或目录所属的用户组。该命令用来改变指定文件所属的用户组。其中,组名可以是用户组的[id]也可以是用户组的组名。文件名可以 是由空格分开的要改变属组的文件列表,也可以是由通配符描述的文件集合。如果用户不是该文件的文件主或超级用户(root),则不能改变该文件的组。

语法:chgrp [OPTION]... GROUP FILE...

chgrp [OPTION]... --reference=RFILE FILE...

注意:仅管理员可修改文件的属主和属组

参数:-R或——recursive:递归处理,将指令目录下的所有文件及子目录一并处理;

-v或——verbose:显示指令执行过程;

--reference=:把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同;

将/tmp/gentoo_bak/及其子目录下的文件的组修改为root

chgrp –R root /tmp/gentoo_bak

[root@node01 tmp]# ls -l gentoo_bak/

总用量 0

-rw-r--r--. 1 gentoo root 0 12月 18 17:24 abc

[root@node01 tmp]# ls -dl gentoo_bak/

drwxr-xr-x. 2 gentoo root 17 12月 18 17:24 gentoo_bak/

思考:用户对目录有写权限,但对目录下的文件没有写权限时,能否修改此文件内容?能否删除此文件?

回答:不能修改此文件,但能删除此文件

反向掩码

-umask 命令:文件的权限反向掩码,遮罩码;

文件的权限反向掩码默认为:666-umask

目录的权限反向掩码默认为:777-umask

注意:之所以文件用666去减,表示文件默认不能拥有执行权限;如果减得的结果中有执行权限,则需要将其加1;

例:若反向掩码umask为: 023

则创建的文件的权限默认为:666-023=644

创建的目录的权限默认为:777-023=754

常用用户管理命令示例:

1、新建系统组mariadb, 新建系统用户mariadb, 属于mariadb组,

要求其没有家目录,且shell为/sbin/nologin;

尝试root切换至用户,查看其命令提示符;

root@node01 tmp]# useradd -M s /sbin/nologin mariadb

[root@node01 tmp]# id mariadb

uid=4003(mariadb) gid=4003(mariadb) 组=4003(mariadb)

[root@node01 home]# su - mariadb

su: 警告:无法更改到 /home/mariadb 目录: 没有那个文件或目录

This account is currently not available.

2、新建用户user01,要求其家目录为/usr/user01,密码同用户名;

[root@node01 usr]# useradd -d /usr/user01 user01

[root@node01 usr]# echo “user01” | passwd --stdin user01

3、为用户user01新增附加组mariadb;

[root@node01 ~]# usermod -aG mariadb user01

[root@node01 ~]# id user01

uid=4004(user01) gid=4004(user01) 组=4004(user01),4003(mariadb)

[root@node01 ~]#

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/358569.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

教你玩转CSS 分组选择器和嵌套选择器

目录 分组选择器 嵌套选择器 分组选择器 在样式表中有很多具有相同样式的元素。 h1 {color:green;}h2 {color:green;}p {color:green;} 为了尽量减少代码,你可以使用分组选择器。 每个选择器用逗号分隔。 在下面的例子中,我们对以上代码使用分组选择器: h1,h2,p {color…

记一次无意间发现某学校图书检索系统的变量覆盖漏洞

这是汇文OPAC很早就存在的一个严重漏洞 补充漏洞信息参考来源https://www.seebug.org/vuldb/ssvid-90722 1. 利用存在该漏洞参数的链接,访问存在漏洞文件,并覆盖 session 值 http://*******/opac/openlink_ebk.php?_SESSION[ADMIN_USER]opac_admin 2.…

多线程笔记5

第六章:Overlapped I/O,在你身后变戏法 1.overlapped I/O 是 Win32 的一项技术,你可以要求操作系统为你传送数据,并且在传送完毕时通知你。这项技术使你的程序在I/O 进行过程中仍然能够继续处理事务。事实上,操作系统内…

腾讯手游助手android版本,腾讯游戏助手下载-腾讯游戏助手 安卓版v3.3.4.22-PC6安卓网...

需要调用以下重要权限- 允许应用程序写入到外部存储器, 允许只读到电话状态访问,包括该装置的电话号码,当前蜂窝网络信息,任何正在进行的呼叫的状态,并且任何一个列表 PhoneAccount的注册在设备上, 允许应用程序从外部存储读取, 需…

java 并发 同步信号_Java并发教程–信号量

java 并发 同步信号这是我们将要进行的Java并发系列的第一部分。 具体来说,我们将深入研究Java 1.5及更高版本中内置的并发工具。 我们假设您对同步和易失性关键字有基本的了解。 第一篇文章将介绍信号量-特别是对信号量进行计数 。 信号量是用于限制对资源访问的经…

教你玩转CSS 尺寸 (Dimension)

目录 所有CSS 尺寸 (Dimension)属性 CSS 尺寸 (Dimension) 属性允许你控制元素的高度和宽度。同样,它允许你增加行间距。 所有CSS 尺寸 (Dimension)属性

目录扫描工具dirsearch用法

目录扫描工具-dirsearch 1.下载dirsearch#git clone https://github.com/maurosoria/dirsearch2. 进入dirsearch目录,进行扫描 每一列的含义分别是:扫描时间,状态码,大小,扫描的目录,重定向的地址 参数列…

Truncated incorrect DOUBLE value

我有点傻…… sql update语法,修改的字段之间要用,连接,而不是and 否则就会报错Truncated incorrect DOUBLE value…… 如: update teacher set IMAGE_URL #{1} and UPDATE_TIMEnow() where TEACHER_MOBILE #{0} 错误 update teacher set …

教你玩转CSS Display(显示) 与 Visibility(可见性)

目录 隐藏元素 - display:none或visibility:hidden CSS Display - 块和内联元素 如何改变一个元素显示 隐藏元素 - display:none或visibility:hidden 隐藏一个元素可以通过把display属性设置为”none”,或把visibility属性设置为”hidden”。但是请注意,这两种方法会产…

html dd自动换行,为什么我的dd里面的内容没有自动换行呢

2-6图文混排*{margin: 0;padding: 0;}.clear{clear: both;}.content{width: 1000px;margin: 0 auto;}.word{font-family: "微软雅黑";font-weight: bolder;font-size: 20px;padding-top: 10px;padding-bottom: 10px;text-align: center;}.content .pic-word dl{width…

Java 9抢先体验:与JShell的动手实践– Java REPL

从今天开始如何开始使用Java 9最酷的功能之一? 上周末,我终于开始尝试使用Java 9的早期访问版本了。第一站是JShell,它也被称为Project Kulla。 首先让我鼓起勇气尝试早期访问Java版本的原因。 那就对了。 Java 9的正式发布日期当前设置为2…

CSRF的绕过与利用

Origin & Referer Bypass Null值绕过 当遇到一个cors可用null值绕过时&#xff0c;用iframe配合data协议&#xff0c;就可以发送一个origin为null的请求。这个绕过方式同样也可以用在CSRF这里。 1<iframe sandbox"allow-scripts allow-top-navigation allow-forms&…

ASP.NET中禁止继承IIS中web.config根目录的配置

异常信息&#xff1a; Configuration Error Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately. Parser…

教你玩转CSS Position(定位)

目录 CSS Position(定位) static 定位 fixed 定位 relative 定位 absolute 定位 sticky 定位 重叠的元素 所有的CSS定位属性

jOOQ配置

本文是我们学院课程的一部分&#xff0c;标题为jOOQ –类型安全的数据库查询 。 在SQL和特定关系数据库很重要的Java应用程序中&#xff0c;jOOQ是一个不错的选择。 当JPA / Hibernate抽象过多&#xff0c;JDBC过多时&#xff0c;这是一种替代方法。 它显示了一种现代的领域特…

可隐藏选项卡html,隐藏HTML中选定选项卡的底部边框

我有一个水平HTML选项卡&#xff0c;其中我希望隐藏所选选项卡的底部边框。隐藏HTML中选定选项卡的底部边框这个问题已经被问here和here但这两种解决方案都不能正常工作&#xff0c;因为我使用一个div结构&#xff0c;没有太大的JavaScript。jQuery(.tab-links a).on(click, fu…

JWT攻击手册

JSON Web Token&#xff08;JWT&#xff09;对于渗透测试人员而言可能是一种非常吸引人的攻击途径&#xff0c;因为它们不仅是让你获得无限访问权限的关键&#xff0c;而且还被视为隐藏了通往以下特权的途径&#xff1a;特权升级&#xff0c;信息泄露&#xff0c;SQLi&#xff…

DIV+CSS 入门

玩一小会儿前csdn什么时候&#xff0c;页面上的加qq而微博&#xff0c;我认为这是美好的。牛腩完成。运营商也开始了他真正的学习B/S之旅。刚開始的时候&#xff0c;我不知道<div>是什么 也不清楚CSS用来干什么的&#xff0c;敲完了回过头来再看&#xff0c;好像明确了一…

教你玩转CSS Overflow

目录 CSS Overflow overflow: visible CSS 布局 - Overflow CSS overflow 属性用于控制内容溢出元素框时显示的方式。 <style>#overflowTest {background: #4CAF50;color: white;padding: 15px;width: 80%;height: 100px;overflow: scroll;border: 1px solid #ccc;}&l…

了解Callable和Spring DeferredResult

1.简介 Servlet 3.0中引入的异步支持提供了在另一个线程中处理HTTP请求的可能性。 当您有一个长期运行的任务时&#xff0c;这特别有趣&#xff0c;因为当另一个线程处理此请求时&#xff0c;容器线程将被释放并可以继续处理其他请求。 关于这个主题的解释已经很多次了&#x…