系统相关
首页 > 系统相关> > linux 基础命令3

linux 基础命令3

作者:互联网

基础命令-3
scp 、 rsync
rsync 命令:
远程数据同步工具,他传输2个文件的不同内容,而不是每次整份传送,因此速度相当快。

重点:
1.同步本地内容,试目的目录与源目录保持绝对的一致。
rsync -av --delete A/ /data/B
rsync -av --delete A /data/B
ps1: B目录可以不存在,如果不存在则自动创建,但是上级data必须存在。
ps2: A目录不带/意义是不一样的,带斜杆表示同步A目录下的文件,不带则同步A目录以及其中的文件

--delete : B与A保持绝对的一致,B中存在,而A中不存在的文件将被删除。

2. 将本地目录同步到远程目录:
rsync -av A/ 127.1.0.1:/data/
将本地A目录下所有文件,同步至远程服务器上
同理,要想实现绝对的一致,则需要加上 --delete参数。

使用ssh协议连接到远程,所以可以将本机公钥发布到远程主机,
否则每次执行都会提示密码

3.将远程目录同步到本地:
rsync -av 127.1.0.1:/date/C .
rsync -av 127.1.0.1:/date/C/ .
. 表示将远程目录C,同步到本地目录C
ps:要注意不带斜杠会在本地目录创建一个C目录,
如果带上斜杠/,则只会同步C目录下的文件。

SCP命令:
加密的方式在本地主机和远程主机之间复制文件

重点掌握:
1.本地目录复制到远程
scp -r xxl/ 127.1.0.1:/data/

ps:xxl后面不管带不带/ 都可以同步到XXl 目录

如果只想同步目录下的文件:
scp -r xxl/* 127.1.0.1:/data/

2.本地文件复制到远程:
scp fstab 127.1.0.1:/data/

3.启动压缩
scp -rC xxl/ 127.1.0.1:/data/

开启shell 拓展
shopt -s extglob
rm -rf !(anaconda-ks.cfg)

权限管理:
chomd chown setsacl chattr lsattr

chomd 命令:
变更文件或目录的权限

u 用户User ,文件或目录的所有者
g 用户组group 文件或目录所属的群组
o 其他用户others
a 所有用户all 系统默认使用此项

+添加某些权限
-取消某些权限
=设置文件的权限为给定的权限。
r 表示可读权限
w 表示可写权限
x 表示可执行权限
- 表示没有权限
s 设置权限suid和sgid 使用权限组合u+s 设置文件的用户的id位,g+s 设置组的id位
t 只有目录或文件的所有者才可以删除目录下的文件
-r 递归处理,将指令目录下的所有文件以及子目录一并处理


重点
1.【o+w | o =rw】 将file1 文件其他用户权限设置为可读可写:

2.o+w 将目录权限设置为其他用户可写,这时候普通用户进入到目录中可以任意删除,修改文件名,
对文件的其他用户权限为不可写的文件也可以强制保存。
3.o-w将目录设置其他用户不可写

4.-t 对目录设置特殊权限,用户只能删除自己的文件

5.-s 设置权限suid和sgid,使用权限组合u+s 设置使文件在执行阶段具有文件所有者的权限,
g+s 仍和用户在此目录下创建的文件都具有和该目录所属的组相同的组。

u+s


setfacl命令:
设置文件访问控制列表
-m 修改文件的acl规则
#设置用户权限
setfacal -m u:xxl:rw abc.txt
#设置组权限
setfacl -m g:web:rw abc.txt
#取消用户所有权限
setfacl -m u:xxl:- abc.txt
#取消其他用户得所有权限
setfacl -m o::- abc.txt

useradd xxl'setfacl -m u:xxl:rw /data/abc.txt
#getfacl 用于查看文件acl权限;
getfacl /data/abc.txt
#file:data/abc.txt
#owner: root
#group: root

#第一个user没有写用户名,代表默认属主的root的权限
user::rw-
#第二个user 代表得是xxl用户权限
user:xxl:rw-
group::r--
mask::rw-
other::r--
[-x] 撤销某个用户得acl权限,恢复到普通的ogo权限:

#不能单独撤销某一个权限,比如只撤销可写权限
setfacl -x u:xxl abc.txt

[-b]撤销所有用户或者组得acl权限:

setfacl -x u:xxl abc.txt

[-b]撤销所有用户或者组得acl权限:

setfacl -b /data/abc.txt

[--set-file]复制一个文件acl权限到另外一个文件:
getfacl file1 | setfacl --set-file=- file2

-表示输出流

echo xxl | cat -

[mask]会临时降低acl用户或者组的权限,只能降低用户权限,不能提升。

 

chattr命令:
改变文件属性
[+a]让某个文件只能往里面追加内容,不能删除

chattr +a /var/log/nginx/access.log
去掉属性就是-a
[+i]防止系统中某个关键文件被修改,删除


用户管理

useradd命令
创建用户
passwd命令
修改用户密码

标签:文件,基础,用户,命令,linux,权限,data,目录,xxl
来源: https://www.cnblogs.com/xxllx/p/16335310.html