第四節(jié) Shell文件權(quán)限和腳本執(zhí)行

一.文件權(quán)限

一.linux 中的有幾種權(quán)限:

1.r 讀
2.w 寫
3.x 執(zhí)行

二.linux用戶有幾種:

1.所有者 (u)
2.所屬組 (g)
3.其他用戶 (0)
4.所有用戶 (a)

三.文件權(quán)限:

-rw-r--r-- root root 0 Oct 19 12:21 shell.txt

  • 1.所有者(root用戶)對shell.txt具有rw(讀寫)的權(quán)限
  • 2.所屬組(root組內(nèi)的用戶)對shell.txt具有r(只讀)的權(quán)限
  • 3.其他用戶(root組以外的用戶)對shell.txt具有r(只讀)的權(quán)限
四.用戶管理:
  • 1.查看用戶 id user1
  • 2.用戶添加 useradd user1
  • 3.用戶刪除 userdel -r user1
  • 4.修改密碼 passwd user1
五.組管理:
  • 1.新建組 groupadd grp1
  • 2.刪除組 groupdel grp1
  • 3.查看組信息 cat /etc/group
六.用戶與組
  • 1.把用戶添加如組 gpasswd -a user1 root
  • 2.把用戶從組內(nèi)刪除 gpasswd -d user1 root
七.chmod權(quán)限分配
  • 1.chmod字母權(quán)限分配: chmod u+x file #對用戶單獨(dú)設(shè)置權(quán)限
  • 2.chmod數(shù)字權(quán)限 :chmod 755 file #對所有用戶設(shè)置權(quán)限
八.acl權(quán)限分配
  • 1.setfacl 設(shè)置文件權(quán)限
    setfacl -m u:user1:rw root.txt
    setfacl -m u:user2:rwx root.txt
  • 2.getfacl 查看文件權(quán)限
    getfacl root.txt
  • 3.刪除文件權(quán)限
    setfacl -x user:user3 root.txt
  • 4.清空文件權(quán)限
    sertfacl -b root.txt
  • 5.創(chuàng)建和刪除文件權(quán)限: 需要對目錄設(shè)置acl權(quán)限即可
    setfacl -m u:user4:rwx /mnt
  • 6.如果對目錄以及子目錄和文件設(shè)置acl權(quán)限
    setfacl -m u:user4:rwx -R /mnt/
  • 7.目錄中后期添加的子目錄和文件設(shè)置acl權(quán)限
    setfacl -m d:u:user4:rwx -R /mnt/
九.sudo

設(shè)置用戶對命令的執(zhí)行權(quán)限-visudo:

  • 1.設(shè)置
    visudo
    user4 localhost=/usr/sbin/useradd,/usr/sbin/userdel
  • 2.使用有密碼sudo授權(quán)命令
    sudo localhost=/usr/sbin/useradd/ user4
    sudo localhost=/usr/sbin/userdel -r user4
  • 3.使用無密碼的sudo授權(quán)命令
    sudo localhost = NOPASSWD: /usr/sbin/userdel -r user4
    sudo ALL=NOPASSWD: /user/sbin/userdel -r user4

二.腳本執(zhí)行

一.執(zhí)行shell腳本的方式:
  • 1.bash test.sh

  • 不需要寫解析器

  • 不需要給腳本設(shè)置執(zhí)行權(quán)限

  • 2../test.sh (推薦)

  • 運(yùn)行環(huán)境設(shè)置:需要寫解析器 #!/bin/bash
    注釋信息:以#開始的說明性文字
    可執(zhí)行的Linux命令行

  • 需要給腳本設(shè)置執(zhí)行權(quán)限 chmod a+x test.sh

二.應(yīng)用事例

題目:每周五17:30清理FTP服務(wù)器的公共共享目錄
提示信息:檢查/var/ftp/pub/目錄,將其中所有子目錄
及文件的詳細(xì)列表,當(dāng)時的時間信息追加保存
到/var/log/pubdir.log日志文件中,然后清空該目錄

vi /opt/ftpclean.sh
#!/bin/bash
date >> /var/log/pubdir.log
ls -lhR /var/ftp/pub >> /var/log/pubdir.log
rm -f /var/ftp/pub/*

crontab -e
30 17 * * 5 /opt/ftpclean.sh
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容