2_ 2.1-2.3 基本命令_账户与安全(CentOS 7) ---学习笔记

2.1 基本命令

2.1.1 目录及文件基本操作

pwd 
pwd -p  返回链接的真实路径

cd /usr/src/ # 切换工作目录
cd ..   # 切换至上一级目录
cd -  # 返回前一个目录
cd   # 切换回家目录

ls 
ls /etc   /显示该目录下的子文件与目录名称
ls -a    /包括隐藏文件
ls -l    /查看详细信息
ls -ld /root    /-d 显示目录本身的信息
ls -lh          /人性化显示容量信息
ls -lu /etc/passwd   /显示文件或查看最后的访问时间
ls -lt    /查看信息并以修改时间排序

touch hello.txt

mkdir leo
mkdir -p /tmp/test/jerry/book/computer

cp /etc/hosts /tmp/     # cp 源 目标   复制至tmp目录下
cp /etc/hosts /tmp/host  #复制文件  复制至tmp目录下并修改名字
cp -r /var/log/ /tmp/   # -r 复制目录/log 至 /tmp/目录下 ,复制子文件与子目录
cp -a /etc/passwd /var/tmp  # -a 复制时保留文档的所有属性

rm readme.txt
rm -rf Jacob 

mv hello.txt hello.doc  /重命名
mv hello.doc /root/     #移动
 
find -name hello.doc   //查找当前目下名为的文件 //find where what 
find /root -name "*.log"
find -iname "Jacob"    #不区分大小写
find / -empty   # 查找空文件或目录
find / -group tom  
find / -mtime -3  # 三天内被修改的文档
find / -mtime +4   # 四天前被修改过的文档
find / -mtime 2    #两天前的当天
find ./ -size +10M  # 大于M的文档
find ./ -type f  文件(f),目录(d),设备(b,c),链接(l)
find ./ -type l 
find / -user tom  # tom 所拥有的所有文档
find ./ -size +1M -exec ls -l {} \;  
find / -size +1M -a -type f     /-a 并且  -o 或者 

du /root  # 查看该目录及子目录的容量信息
du -a  /root  //查看所有目录以及文件的容量信息
du -sh /root  # -s 仅显示总容量  -h 人性化显示容量信息

2.1.2 查看文件内容

cat /root/install.log 
cat -n /etc/passwd  # 显示行号,包括空白行
cat -b /etc/passwd   # 显示行号,不包括空白行

more /root/install.log 

less /root/install.log 

head -c 2K /root/install.log  # 前2K内容
head -20 /root/install.log    # 前20行

tail -c 2K /root/install.log
tail -20 /root/install 
tail -f /var/log/messages   # 动态查看文件 

wc /root/install.log
wc -c /root/install.log  //字节统计
wc -l /root/install.log  //行数统计
wc -w /root/install.log  //单词统计

grep th test.txt 
grep --color th test.txt
grep -i the test.txt   # ignore 大小写
grep -w num test.txt   # 匹配单词num
grep -v the test.txt   # 取反, 匹配不包括the关键词的行

echo "Hello The World"  

echo -e "\\" #  -e 屏蔽反斜线后面字符的原本含义
\

echo -e "\a"  #报警器

echo -e "11\b22"  #退格键
122
echo -e "hello\c"  # 不换行

echo -e "hello\fthe world"  #\f  表单格式
hello
the world 

echo -e "hello\tthe\tworld"  #\t  水平tab键
Hello   the    world  

echo -e "hello\vthe\vworld"  #\v  垂直tab键

echo -e "\033[32mOK\033[0m"  # 32为绿色

2.1.3 链接文件

ln -s /test/hello.txt /tmp/hi.txt   # -s 为软连接
ln -s /test/ /var/test   # 目录链接
rm /test/hello.txt;cat /tmp/hi.txt 

ln /test/hello.txt /test/hi.txt
rm /test/hello.txt 

2.1.4 压缩及解压

gzip hello.txt 
gzip -d hello.txt.gz 

bzip2 hello.txt 
bzip2 -d hello.txt.bz2 

tar -cf etc.tar /etc/   # 将 /etc/ 目录打包保存为 etc.tar
tar -czf boot.tar.gz /boot/   # -z gzip格式 // create
tar -cjf etc.tar.bz2 /tmp/    # -j bzip2格式
tar -czf mess.tar.gz /var/log/messages --remove-files   --remove-files 打包后删除源文件
tar -delete etc/hosts -f etc.tar # -delete 从打包文件中删除hosts文件
tar -f etc.tar -r /root/install.log  # -r 追加文件至打包文档  --rider 追加
tar -tf boot.tar.gz  # -t 列出打包文档的内容
tar -tvf etc.tar    # 查看详细信息
tar -xzf boot.tar.gz   //-czf  -xzf   #解压至当前目录
tar -xjf etc.tar.bz2   //-cjf  -xjf 
tar -xzf boot.tar.gz -C /tmp   //-C 指定解压路径

2.3 账户与安全

2.3.2 创建账户与组

useradd Frank   # 创建普通账户Frank,以及对应的组
useradd -c administrator -d /home/admin -e 2017-12-24 \
-g root -G bin,adm,mail admin    # 创建普通账户,名为admin, -c 账号全名 -d 家目录  -e 失效日期  -g 基本组 -G 附加组 
useradd -s /sbin/nologin -M user2   # -s 设置登录的shell -M 不创建家目录

groupadd tom   # 创建tom 组
groupadd -g 1000 jerry   # 创建GID为1000的组 Jerry

id root   # 查看root账户及相关组信息

2.3.3 修改账户及组

passwd   # 为当前用户设置新密码
passwd tom   # 指定修改tom的密码
echo "123456" | passwd --stdin tom 
passwd -l tom  # 锁定账户
passwd -u tom  # 解锁账户
passwd -d tom  # 设为无密码可登陆

usermod -d /home/tomcat tom   # 修改tom的家目录
usermod -e 2017-10-1 tom   # 
usermod -g mail tom /修改基本组
usermod -G mail tom  /修改附加组
usermod -s /bin/bash user2  /修改账户登陆shell 
usermod -u 1001 tom  # 修改账户的UID

2.3.4 删除账户及组

userdel tom  # 删除账户
userdel -r tom  #删除账户并删除家目录

groupdel jerry  #删除组 Jerry

2.3.5 账户与组文件解析

cat /etc/passwd  # 账户信息文件
cat /etc/shadow  # 账户密码文件
cat /etc/group   # 组账户信息文件
cat /etc/gshadow   # 组账户密码文件

2.3.6 文件及目录权限

u,g,o,a 
rwx 

ls -l 
ls -l install.log 
chmod u=rwx,g=rwx,o=rwx install.log 

ls -l install.log 
chmod a=rw install.log

ls -l install.log 
chmod g-x,o-wx install.log 

ls -l install.log 

chmod 700 install.log 
chmod 644 install.log 
chmod 755 /home 
chmod --reference=install.log.syslog install.log  # 以A文件为标准修改B的权限

chown user2:mail install.log    # 修改文件的所有者为user2 ,所属组为mail
chown :root install.log   # 仅修改文件所属组为root
chown root install.log   # 仅修改文件所有者为root

2.3.7 账户管理案例

#创建共享目录
mkdir -p /var/{tech,office,finance,admin,market}

#创建组账户
groupadd teach 
groupadd finance
groupadd office 
groupadd admin 
groupadd market 

#创建组管理员账户
useradd -g teach Op_teach 
useradd -g office Op_office 
useradd -g finance Op_finance 
useradd -g admin Op_admin
useradd -g market Op_market 

#创建普通员工账户
useradd -g teach endy 
useradd -g office lucy
useradd -g finance jacob 
useradd -g admin jerry 
useradd -g market marry
id jacob   

#添加组管理员
gpasswd -A Op_teach teach
gpasswd -A Op_office office
gpasswd -A Op_finance finance
gpasswd -A Op_admin admin 
gpasswd -A Op_market market

chown Op_teach:teach /var/teach 
chown Op_office:office /var/office 
chown Op_finance:finance /var/finance 
chwon Op_admin:admin /var/admin
chown Op_market:market /var/market 

chmod 755 /var/{teach,office,finance,admin,market}

2.3.8 ACL访问控制权限

getfacl install.log 

setfacl -m u:user1:rw test.txt   # -m 添加ACL条目,使用户user1对test.txt 文件可读可写
setfacl -m g:user1:r test.txt    # 使组user1对test.txt 文件可读
setfacl -x g:user1 test.txt      # -x 删除user1组的ACL条目
setfacl -x u:user1 test.txt		 
setfacl -b test.txt				# -b 删除所有附加的 ACL 条目
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值