admin管理员组

文章数量:1516870

命令大全

命令行的一般格式
– 命令字 [选项]… [参数1] [参数2]…

• pwd — Print Working Directory
– 用途:查看当前所在的位置
[root@A ~]# cd ~lisi #去往lisi的家目录
[root@A lisi]# pwd
/home/lisit

• cd — Change Directory
– 用途:切换工作目录
格式: cd [目标文件夹位置]
cd ~:表示用户的家目录
cd ~user表示用户到user的家目录
cd ~lisi #去往lisi的家目录
. 表示当前目录

ls — List
– 格式:ls [选项]… [目录或文件名]…
蓝色:目录
黑色:文本文件

• 常用命令选项
– -l: 以长格式显示目录内容的详细属性
– -A: 包括名称以 . 开头的隐藏文档
– -d: 显示目录本身(而不是内容)的属性
– -h: 提供易读的容量单位(K、M等)
– -R : 递归显示

  • -Zb : 查看文件的拥有的所有属性
    • Z :安全上下文
      -Zd 改 上下文工具 (chcon)
      一般使用用法:
      以长格式显示目录内容的详细属性
      [root@localhost /]# ls -l /root
      #显示目录本身的详细属性
      [root@localhost /]# ls -ld /root
      #目录内容详细属性加大小单位
      [root@localhost /]# ls -lh /boot/
      [root@A ~]# ls -R /opt/aa

cat
查看文本文件内容
cat -n 按行号显示
cat -n /etc/passwd
1 root❌0:0:root:/root:/bin/bash
用户名:密码占位符:UID:基本组GID:用户描述信息:家目录:解释器程序

cat -n a.txt b.txt >c.txt #把a b 的内容加上行号输入到c(可以不存在的文件会自动创建)中

cat /dev/null > /a.txt #清空a.txt内容
cat << EOF >/etc/a.txt (内容) EOF #EOF是“end of file”表示文本结束符 也可以使用其他符合如:<<EO EO结束
例: [root@node1 ~]# cat <a.txt

abc
EOF
[root@node1 ~]# cat a.txt
abc
脚本创建yum源

cat <<EOF  >/etc/yum.repos.d/rhel.repo
[rhel]
name=rhel7
baseurl=ftp://localhost/rhel7
enabled=1
gpgcheck=0
EOF 

mkdir
创建空目录
• mkdir — Make Directory
– 格式:mkdir [-p] [/路径/]目录名…
mkdir -p /vod/movie/cartoon #创建多层目录
[root@A /]# mkdir /root/nsd01 /mnt/nsd02

touch
– 用途:新建空文件
– 格式:touch 文件名
[root@A /]# touch /opt/1.txt
[root@A /]# ls /opt/
1.txt abc rh
[root@A /]# cat /opt/1.txt

rm
删除 — Remove
格式:rm [选项]… 文件或目录…
黄金组合 :rm -rf
• 常用命令选项
– -r、-f:递归删除(含目录)、强制删除
[root@A ~]# rm -rf /opt/*

mv
移动/重命名 • mv — Move
– 格式:mv 原文件… 目标路径
[root@A ~]# mv /opt/2.txt /opt/nsd01

重命名:路径不变的移动
[root@A ~]# mv /opt/nsd01 /opt/student
[root@A ~]# mv /opt/test/ /opt/abc

cp
复制• cp — Copy
– 格式:cp [选项]… 原文件… 目标路径
• 常用命令选项
– -r:复制目录时必须有此选项
-p 不改变文件属性的拷贝
[root@A ~]# cp -r /boot/ /opt/ #把/boot/复制到/opt/
[root@A ~]# cp /etc/redhat-release /opt/

复制支持两个以上的参数,
永远把最后一个参数作为目标,其他参数全部作为源

cp /etc/shells /etc/shadow /etc/group /opt/

ls /opt/

复制的时候,可以重新命名,目标路径下文档的名字
[root@A /]# cp /etc/redhat-release /mnt/a

      # cp -r /home  /mnt/redhat  #将home目录,复制到/mnt下命名为redhat# cp -r /home  /mnt/redhat#将home目录,复制到/mnt/redhat/ 路径下

less
分屏阅读工具
• 格式:less [选项] 文件名…
– 优势:支持前后翻页• 基本交互操作
– 按 / 键向后查找(n、N切换)
按键盘上 q键 #退出

diff
逐行比较 (修复补丁的工具)(仅仅提示)
选项: -u 输出统一内容的头部信息(打补丁使用)
-r 递归对比目录中的所有资源(可以对比目录
-a 所有文件视为文本(包括二进制程序)
-N 无文件视为空文件
diff -u test1.sh test2.sh

patch
打补丁
安装包 : patch

(可以给文件或在目录打补丁)

  1. 准备环境,生成补丁文件
    有脚本 1 和 2
    diff -Nua 1 2 >3.patch
    对于旧版本的代码,使用补丁即可更新,而不需要下载完成的新代码
    -p0 整个路径不变
    -p1 修改路径为u/howard/src/blurfl/blurfl.c
    -p4 修改路径为blurfl/blurfl.c
    -R (reverse) 反向修复 卸载补丁,
    -E 修改后如果文件为空,则删除该文件

patch -p0 < 3.patch

patch -RE < 3.patch #还原旧版本,反向修复

• head tail
– 格式: head -n 数字 文件名
tail -n 数字 文件名
默认为前10行 和 后10行
显示/etc/passwd文件内容的8~12行
[root@A ~]# head -12 /etc/passwd | tail -5

grep
– 用途:输出包含指定字符串的行
– 格式:grep ‘查找字符串’ 目标文件
[root@server0 ~]# grep nsd01 /etc/passwd
-v 取反
-i 忽略大小写
grep -v root /etc/passwd #包含root的行
[root@server0 ~]# grep -i ROOT /etc/passwd

find
查找文件
– 常用条件表示:
-type 类型 ( f文件、d目录、l快捷方式)
-name “文档名称”
-size +|-文件大小(k、M、G)
-user 用户名
-iname “文档名称” 忽略大小写根据名称查找,
-maxdepth 限制目录查找的深度(最大层数)
-mtime 文件修改日期
– find … … -exec ; // 要以" \ " 结尾
[root@server0 ~]# find /boot/ -type l #查找快捷方式
[root@server0 ~]# find /boot/ -type d #查找是目录

[root@s ~]# find /boot/ -name “vm*” #以vm开头
[root@s ~]# find /boot/ -name “vm*” #以vm结尾

[root@server0 ~]# find /root/ -name “nsd*” -type d
[root@server0 ~]# find /boot/ -size +10M #以大小
[root@server0 ~]# find / -user student #以用户名

[root@server0 ~]# find /etc/ -iname “PASSWD”

find /etc/ -maxdepth 2 -name “*.conf” 两层目录找

[root@s~]# find /var/log/ -mtime +10 #10天之前的文档
[root@s ~]# find /var/log/ -mtime -2 #最近2天之内的文档
• 使用find命令的 -exec 操作
– find … … -exec 处理命令 {} \ ;
– 优势:以 {} 代替每一个结果,逐个处理,遇 ; 结束

find /boot/ -size +10M -exec cp {} /opt \ ;

find /etc -name “*tab” -exec cp {} /opt \ ;

找出所有用户 student 拥有的文件 ,把它们拷贝到 /root/findfiles/ 文件夹中

find / -user student -type f -exec cp {} /root/findfiles/ \ ;


vim  (文本编辑器)
命令模式 :   	Home 键 或 ^、数字 0          跳转到行首End 键 或“$”键 		  跳转到行尾1G 或 gg 			 跳转到文件的首行G 					 跳转到文件的末尾行复制 yy、5yy 			复制光标处的一行、复制5行粘贴 p、P (大写)			      粘贴到光标处之后、之前x 或 Delete键 		       删除光标处的单个字符dd、#dd 				删除光标处的一行、#行d^ 					从光标处之前删除至行首d$ 					从光标处删除到行尾插入模式  :按   i 进入编辑 ,按 o 换行进入编辑 按 c 删除光标之后内容进入编辑 (按Esc回到命令模式)末行模式:       :wq 保存并退出:q!  强制不保存退出  :wq!强制保存退出ZZ 保存退出  (shift+zz)插入文本:r  /etc/filesystems  读入其他文件内容:r  /etc/passwd  #读入/etc/passwd到当前文件中字符串替换  :s/root/abc        替换当前行第一个“root”:s/root/abc/g      替换当前行所有的“root”:1,10 s/root/abc/g 替换第1-10行所有的“root”:%  s/root/abc/g    替换文件内所有的“root开关参数的控制(显示行号):set nu|nonu    显示/不显示行号:set ai|noai    启用/关闭自动缩进awk  
awk -F: '{print $1}' /etc/passwd
awk -F"[:/]" '{print $1,$10}' /etc/passwd
awk -f: '{pirnt $1, "的解释器:" $7}'/etc/passwd 打印常量一定要用“”号
awk '{print $NF}'  /etc/passwd 
free |awk '{print $4}'
$0 表示当前行
$1 第一列 
$2第二列
$3 第三列
NF 文件当前行的列数
NR 文件当前行的行号文件内容对齐命令
column -t tab 补全键
安装包:bash-completioncron
周期性计划任务
软件包:cronie、crontabs系统服务:crond 日志文件:/var/log/crond
• 使用 crontab 命令
– 编辑:crontab -e  [-u 用户名]
– 查看:crontab -l  [-u 用户名]
– 清除:crontab -r  [-u 用户名]# crontab -e -u root   #编写root计划任务  * * * * *   date  >>  /opt/time.txt# crontab -l -u root   #查看root计划任务
# cat  /opt/time.txt     #检测结果##################################################
mount     (umount)卸载挂载–格式:  mount  设备路径   挂载点目录
挂载操作:让目录成为设备的访问点
在系统中显示光盘的内容
挂载尽量自己创建目录进行挂载 
Linux:光盘ISO镜像文件------>光驱设备-------->访问点(目录) /dev/cdrom
查看Linux的光驱设备
[root@A /]# ls /dev/cdrom#挂载到/dvd
[root@A ~]# mount  /dev/cdrom   /dvd  
[root@s ~]# mount /dev/vdb1 /part1
[root@A ~]# umount /dvd	#卸载该挂载点的设备
开机自动挂载配置文件 /etc/fstab 的记录格式
设备路径   挂载点   类型    参数    备份标记   检测顺序
/dev/vdb1  /part1    ext4   defaults    0        0              ssh  
远程管理的命令:  -x  #可以查看远程图形ssh [-选项]  用户名@服务器的IP地址 [root@room9pc01 ~]# ssh  root@172.25.0.11[root@room9pc01 ~]# ssh  root@172.25.0.10
[root@room9pc01 ~]# ssh -X root@172.25.0.11Ctrl+Shift+t:  开启一个新的终端加  -X  在远程管理时,本地运行对方的图形程序[root@room9pc01 ~]# vim /root/.bashrc  #设置别名alias goa='ssh -X root@192.168.4.7'
[root@server0 ~]# exit  #退出远程管理登出ssh -i /root/id_rsa.pem (密钥对公钥)  root@192.168.4.2 #密钥对登录非对称钥匙对
ssh-keygen -f /root/.ssh/id_rsa -N ''   #生成免钥匙命令非交互式 ssh-copy-id 192.168.4.50           #发送给ip
ssh-add                             本机添加 su  (substitute User)
切换用户身份
格式  用法1: su - 目标用户 (加上 -  是连家目录一起切换,如果不加 -  切换用户之后家目录默认是原来用户的家目录)用法2: su - -c “命令” 目标用户
例: whoami su - tom  -c "mkdir /home/tom/nihao"  sudo   
提升执行权限这个要管理员预先为用户设置执行许可被授权用户有权执行授权的命令,验证口令格式 用法1:  sudo  特权命令用法2:  sudo  -u 目标用户 特权命令-l 查看自己的sudo授权(为小写字母l) 
例:sudo  -l  sudo  -u student mkdir /mnt/a  
ls -ld  /mnt/a  验证所有者是谁  配置sudo授权
修改方法  :visudo 
配置文件也可以: vim /etc/sudoers 授权记录格式
-用户 主机列表=命令列表
grep ^root /etc/sudoers
root    ALL=(ALL)   ALL 
可以是%组名  目标身份,省略时表示root
例:允许Tom 以root权限执行/sbin/下的所有命令 
,但是,禁止修改eth0网卡的参数 
[root@node1 ~]# visudo
-----很多内容
插入 
Tom   localhost,svr1=/sbin/*,!/sbin/ifconfig etho 
例2 
wheel组的用户无需验证可执行所有命令
[root@node1 ~]# visudo
、、、
%wheel ALL=(ALL) NOPASSWD:ALLrsync  (Remote Sync)
远程同步  
支持本地复制,或与其他ssh、rsync主机同步
命令用法:rsync  选项    源目录  目标目录   (本地)rsync   选项  user@host(ip):远程目标/例: rsync  -a   /boot   /todir   #同步整个目录rsync  -a  /boot/  /todir/   #只同步目录下数据rsync操作选项
-n  :测试同步过程,不做实际修改
--delete :删除目标文件夹内多余的文档
-a      : 归档模式,相当于 -rlptgoD
-v       : 显示详细操作信息
-z        : 传输过程中启用压缩/解压-r   :递归,包括目录/子目录所有文件
-l :保留符号链接文件  -p -t 保留文件的权限、时间标志
-o 、-g :保留文件的属主/属组标记 
-D :保留设备文件及其他特殊文件rsync+ssh 同步
下行:rsync  选项   user@host:远程目录   本地目录
上行:rsync 选项    本地目录  user@host:远程目录例:将远程主机的/boot/   目录备份到本地 
rsync  root@192.168.4.7:/boot/   /tmp/例:将本地的/etc   目录备份到远程主机  
du -sh /etc/
rsync -az  /etc    root@192.168.4.7:/opt/ping
ping 选项 ip
-c 包个数
-n  大小 
-W 超时
-i 时间间隔
-s 包大小
ping测试时间,可以只发送3个测试包(-c 3)、缩短发送测试包的间隔秒数(-i 0.2)、等待反馈的超时秒数(-W 1)。比如,检查可ping通的主机:
ping -c 3 -i 0.2 -W 1 $1 &> /dev/nullnetstatnetstat命令可以查看系统中启动的端口信息,该命令常用选项如下:
-a显示所有端口的信息
-n以数字格式显示端口号
-t显示TCP连接的端口
-u显示UDP连接的端口
-l显示服务正在监听的端口信息,如httpd启动后,会一直监听80端口
-p显示监听端口的服务名称是什么(也就是程序名称)
[root@node1 ~]#  netstat  -anptu |   grep memcached#netstat -anptu |
ss
(和netstat功能一样)ss命令可以查看系统中启动的端口信息,该命令常用选项如下:
-a显示所有端口的信息
-n以数字格式显示端口号
-t显示TCP连接的端口
-u显示UDP连接的端口
-l显示服务正在监听的端口信息,如httpd启动后,会一直监听80端口
-p显示监听端口的服务名称是什么(也就是程序名称)
例 1:[root@node1 ~]# netstat -nutlpa  | grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN  11957/nginx: master例 2 :[root@node1 ]# ss -nutlpa  | grep nginx
tcp    LISTEN     0      128       *:80                    *:*                   users:(("nginx",pid=23078,fd=6),("nginx",pid=11957,fd=6))alias  
[别名名称]  (unalias)取消别名• 定义新的别名(临时)
– alias  别名名称= '实际执行的命令行'
[root@A ~]# alias hn='hostname'  #定义别名
[root@A ~]# alias        #查看当前有效别名设置永久的别名 
/root/.bashrc   #只对当前用户有效
/etc/bashrc     #对所有用户有效
• 取消已设置的别名
– unalias  [别名名称]    #临时取消别名unalias rht                                                wget  下载 通过命令在命令行实现下载:默认下载到当前路径下
下载到当前位置
wget  .0/x86_64/dvd/Packages/  下载到指定的位置并改名 
wget -Oo /root/a 
传统的安装软件包的命令
– rpm -q 软件名...    #查询软件包是否安装
– rpm -ivh 软件名-版本信息.rpm...  #安装包
– rpm -e 软件名... #卸载# rpm -q firefox  #查询软件包是否安装
# rpm -ql vsftpd  #查询软件包安装的内容
# rpm -ivh /root/vs(tab)  #安装
# rpm -e vsftpd   #卸载
# rpm -qa  #查看系统安装了什么软件
# rpm -qa |grep httpd 
#rpm -qa |wc -l                                             Yum     (yum remove 名)#卸载
自动解决依赖关系,安装软件
服务:为客户端自动解决依赖关系,安装软件
配置路径及名称:/etc/yum.repos.d/*.repo   错误的文件会影响正确文件[root@server0 ~]# rm -rf /etc/yum.repos.d/*
一般情况下不要删除新建一个目录把移动过去
[root@server0 ~]# vim /etc/yum.repos.d/nsd.repo[rhel7]      #仓库的标识,随意写不要出现空格name=rhel7.0    #仓库的描述信息,随意写baseurl=   #指定服务端位置enabled=1       #是否启用本文件gpgcheck=0      #是否检测软件包红帽签名[root@server0 ~]# yum clean  all  #清空Yum所有缓存让客户端重新读取配置文件yum repolist   检测yum仓库
[root@server0 ~]# yum remove  软件名    #卸载
• 快速建立repo配置文件
– yum-config-manager --add-repo 软件仓库地址  
###############################################
四  为虚拟机A与虚拟机B搭建Yum仓库服务端:虚拟机A  1.搭建FTP服务   2.共享光盘所有内容1)图形将光盘内容,放入虚拟光驱中[root@svr7 ~]# mount /dev/cdrom  /mnt/mount: /dev/sr0 写保护,将以只读方式挂载[root@svr7 ~]# ls /mnt/2)安装vsftpd软件包# ls /mnt/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm # rpm -ivh /mnt/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm# rpm -q vsftpd3)利用FTP共享光盘所有内容,默认共享路径下/var/ftp[root@svr7 ~]# mkdir /var/ftp/rhel7[root@svr7 ~]# ls /var/ftp/rhel7[root@svr7 ~]# cp -r /mnt/*  /var/ftp/rhel7/4)重起vsftpd服务验证:[root@svr7 ~]# systemctl restart vsftpd[root@svr7 ~]# systemctl enable vsftpd[root@svr7 ~]# firefox ftp://192.168.4.7/rhel7客户端:虚拟机B
[root@pc207 ~]# vim /etc/yum.repos.d/rhel7.repo[rhel7]name=rhel7baseurl=ftp://192.168.4.7/rhel7enabled=1gpgcheck=0[root@pc207 ~]# yum repolist自定义yum
createrepo
createrepo --update  /tools/other #更新自定义yum 生成仓库数据文件
[root@svr7 ~]# createrepo /tools/other   #生成自定义仓库  
[root@svr7 ~]# ls /tools/other/书写yum客户端配置文件
[root@svr7 ~]# vim /etc/yum.repos.d/rhel7.repo.......[myrpm]name=myrpmbaseurl=file:///tools/other    #指定本地路径enabled=1gpgcheck=0##############################################useradd   (usermod)(userdel)添加用户  
– useradd [选项]... 用户名
用户基本信息存放在 /etc/passwd 文件 • 常用命令选项
– -u 用户id、-d 家目录路径、-G 附加组、-s 登录Shellroot:x:0:0:root:/root:/bin/bash
用户名:密码占位符:UID:基本组GID:用户描述信息:家目录:解释器程序[root@ser~]# useradd nsd01
[root@ser~]# id nsd01    #查看用户基本信息 
[root@ser~]# useradd -u 1500 nsd04 #指定UID
[root@ser~]# useradd -d /mnt/nsd06 nsd06#指定家
[root@server0 ~]# useradd -G tarena nsd07  #指定附加组
-s 登录Shell(登陆的解释器程序)  
/sbin/nologin :禁止用户登陆操作系统   /bin/login 默认
[root@server0 ~]# useradd -s /sbin/nologin  nsd08
[root@server0 ~]# usermod -s /bin/login  nsd08
[root@server0 ~]# usermod  #修改已存在用户的属性
usermod
– usermod [选项]... 用户名
#修改已存在用户的属性
– -u 用户id、-d 家目录路径、-G 附加组、-s 登录Shell[root@A ~]# usermod  -u 1600 -d /opt/nsd11  -s /sbin/nologin -G  tarena   nsd11
userdel
删除用户                  
– userdel   [-r]   用户名-r:   连同家目录一并删除
– userdel    用户名     #仅删除用户信息passwd
设置登录密码
格式   :– passwd [用户名]  (这种是交互式)echo '密码' | passwd --stdin 用户名 (非交互式修改密码)-l   锁定用户账号(是小写字母l不是1)
例:passwd  -l  student    #锁定用户student的密码-u 解锁  
例: passwd -u student    #解锁student的密码 -S   看密码状态
例: passwd  -S student   #查看student目前密码的状态用户密码信息存放在 /etc/shadow 文件#交互式设置密码[root@A ~]# passwd  nsd01  非交互式设置密码
[root@A ~]# echo 123456 | passwd --stdin nsd01 [root@A ~]# useradd harry
[root@A ~]# echo redhat | passwd --stdin harry强制定期修改密码 
配置文件为 /etc/login.defs 
对新建用户有效 
主要控制属性
-PASS_MAX_DAYS
-PASS_MIN_DAYS
-PASS_WARN_AGE groupadd       添加组       
– groupadd [-g 组ID] 组名                  
[root@server0 ~]# groupadd tarena     #创建组gpasswd           
管理组成员
– gpasswd -a  用户名   组名
– gpasswd -d  用户名   组名
[root@A ~]# gpasswd -a natasha stugrp 
[root@A ~]# gpasswd -d natasha stugrp
groupdel
删除组
– groupdel   组名在Linux系统中创建一个用户,会由那些文件改变内容?/etc/passwd  /etc/shadow/etc/group   /etc/gshadow   权限和归属   
基本权限的类别
–r  读取:     允许查看内容-read 
–w  写入:     允许修改内容-write  
–x 可执行:    允许运行和cd切换-execute  基本权限    r=4 w=2 x=1  – 附加权限:SUID = 4,SGID = 2,Sticky Bit = 1                           功能
读取 r :  cat  less  head tail 
写入 w :  vim 可以保存退出   重定向  >   >>
可执行 x :    学习Shell脚本  权限适用对象(归属):
– u    所有者:拥有此文件/目录的用户-user 
– g    所属组:拥有此文件/目录的组-group  
– o  其他用户:除所有者、所属组以外的用户other所有者>所属组>其他人权限的数值表示• 权限的数值化– 基本权限:r = 4,w = 2,x = 1    – 附加权限:SUID = 4,SGID = 2,Sticky Bit = 1• 采用数值形式设置权限– chmod [-R] nnn 文档...– chmod [-R] xnnn 文档..
chmod                                              
设置基本权限    常见提示:权限不足 Permission denied
– chmod [-R] 归属关系+-=权限类别 文档..[-R]:递归设置权限
[root@server0 ~]# chmod u-w /nsd01 所有者-w
[root@server0 ~]# chmod o=rwx /nsd01t=1 u=7 g=7 o=0
[root@server0 ~]# chmod 1770 /nsd01 
以root用户新建/nsddir/目录,在此目录下新建readme.txt文件
并进一步完成下列操作1)使用户lisi能够在此目录下创建子目录   切换用户  su  -  lisichmod o+w  /nsddir/2)使用户lisi不能够在此目录下创建子目录chmod o-w  /nsddir/3)使用户lisi能够修改readme.txt文件chmod o+w  /nsddir/readme.txt4)调整此目录的权限,使所有用户都不能cd进入此目录chmod u-x,g-x,o-x  /nsddir/5)为此目录及其下所有文档设置权限 rwxr-x---chmod -R  u=rwx,g=rx,o=---  /nsddir/chown
设置文档归属        
– chown   属主        文档...
– chown   :属组       文档...
– chown   属主:属组   文档...
[root@server0 /]# chown lisi:tarena /nsd03
[root@server0 /]# chown zhangsan /nsd03
[root@server0 /]# chown :root /nsd03利用root用户新建/nsd06目录,并进一步完成下列操作
1)将属主设为gelin01,属组设为tarena组
[root@server0 /]# useradd gelin01
[root@server0 /]# groupadd tarena
[root@server0 /]# chown gelin01:tarena  /nsd062)使用户gelin01对此目录具有rwx权限除属主与属组之外的人,对此目录无任何权限
[root@server0 /]# chmod o=--- /nsd063)使用户gelin02能进入、查看此目录
[root@server0 /]# gpasswd -a  gelin02  tarena4)将gelin01加入tarena组, 将nsd06目录的权限设为rw-r-x---再测试gelin01用户能否进入此目录
[root@server0 /]# chmod u=rw,g=rx /nsd06chage  设置账号有效期-d  0                强制初次登录修改密码(是零不是O)
例:chage  -d  0  student 
-E yyyy-mm-dd      指定失效日期
chage   -E  2017-12-31   lizhigui-l     查看  chage  -l  student  chcon  (复制模版)
-t   指定访问类型 
-R  递归修改   
一般移动的文件,原有的上下文属性不变
复制的文件,自动继承目标位置的上下文
例:ls -Z /var/ftp/rt.txt  
-rw-r--r--  root root system_u:object_r:admin_home_t:s0chcon -t  public_content_t   /var/ftp/rt.txtrestorecon
重置安全上下文
例: restorecon  /var/ftp/rt.txt方式1:参照标准目录,重设新目录的属性– chcon [-R] --reference=模板目录   新目录# chcon  -R --reference=/var/www/  /webroot[root@server0 ~]# ls  -Zd  /var/www/
[root@server0 ~]# ls  -Zd  /webroot/ 附加权限(特殊权限)Set GID:附加在属组的 x 位,属组的权限上标识会变为 s
Set UID:附加在所有者的 x 位,权限上标识会变为 s
Sticky Bit(粘滞位)• 附加在其他人的 x 位上              
– 其他人的权限标识会变为 t
– 适用于开放 w 权限的目录,可以阻止用户滥用 w 写入
权限(禁止操作别人的文档)
[root@server0 /]# chmod g+s /nsd07   #设置set GID权限
[root@server0 ~]# chmod u+s /usr/bin/hahach 
不管什么用户都可以在此目录中拥有root权限
[root@server0 ~]# chmod o+t /home/publicchattr 和  lsattr
锁定/解锁保护文件
用法:" + "  "- " " = "
属性i:内容不可变  (immutable)
属性a:内容仅可追加 (append only)例:chattr  +i /etc/hosts  #文件这样就不能修改了,修改就会说权限不够chattr +a  /etc/hosts  #这样可以追加chattr -a  /etc/hosts 去除lsattr   /etc/hosts  # 查看文件是否有特殊权限ACL  
命令
setfacl 设置acl   
getfacl 查看acl
acl访问控制列表(ACL策略  ACL权限)
– 能够对个别用户、个别组设置独立的权限
– 大多数挂载的EXT3/4、XFS文件系统默认已支持
# setfacl -m u:lisi:rx /nsd09  #为lisi设置ACL策略-m:modify修改  u: 用户实现一个用户lisi可以读取文件redhat.txt内容,请问入如何设置权限,你有几种方法?
第一:利用其他人进行配置chmod  o+r   redhat.txt第二:利用所属组进行配置将lisi加入到redhat.txt所属组中chmod  g+r redhat.txt
第三:利用所有者进行配置chown  lisi  redhat.txtchmod  u+r   redhat.txt第四:利用ACL进行配置setfacl -m u:lisi:r  redhat.txt 
• 使用 getfacl、setfacl 命令– getfacl 文档...  查看acl策略
– setfacl [-R] -m u:用户名:权限类别   文档...
– setfacl [-R] -m g:组名:权限类别   文档...
– setfacl [-R] -x u:用户名: 文档...#删除指定的ACL策略
– setfacl [-R] -b 文档...       #删除所有的ACL策略ACL策略设置黑名单
[root@server0 /]# setfacl -m u:zhangsan:---  /nsd11
[root@server0 /]# getfacl  /nsd1>
重定向操作
:将前面命令的输出结果写入到文本文件中
> : 覆盖重定向                          
>>:追加重定向
[root@ser

本文标签: 命令大全