讓普通用戶無法登錄:
centos 6
touch /etc/nologin
echo "wating" > /etc/nologin
普通用戶登錄時不能進入系統,有提示信息
centos7
touch /etc/nologin 或touch /run/nologin
chage -l alice 顯示用戶的密碼信息
groupadd -g 3000 g1 //新建gid為3000的組g1
groupmod -n newg1 -g 3001 g1 //修改組名為newg1、gid為3001
groupmems -l -g newg1 //查看newg1組包含哪些成員
groupmems -g newg1 -a jerry //將jerry用戶加入alice組
gpasswd -d tom newg1 //將tom用戶從newg1組移除
gpasswd -a alice newg1 //將alice用戶加入newg1組
對于目錄的意義
r:可查看dir內文件列表,但不能訪問文件,不能cd,也不能查看文件的元數據
x:可以進入dir,可以訪問dir中文件
w:可以創建或刪除dir中文件,配合x(無視文件的權限,因為文件是目錄中的內容,一個名字)
chmod -R a=rwX dir1/ // 對目錄,X等價x;對文件,原先有執行權限則為x,原先無執行權限則為-
chmod –reference sfile dfile 將dfile的權限設為同sfile的權限
umask+default file為666 dir為777 // 防止文件有執行權限
umask root的默認0222 普通用戶的默認0002
/etc/profile 和 /etc/bashrc中定義了掩碼
umask 026 對當前shell有效,寫到~/.bashrc中永久生效
umask -p >> .bashrc //-p,輸出被調用,寫入到.bashrc
umask -S 模式方式顯示 輸出u=rw,g=rx,o=w
umask 從目錄或文件上屏蔽掉最大權限相應的位,從而得出默認權限
dir:777-umask
file:666-umask 有奇數+1,偶數則原樣
umask 125,666-125=541(5、1是奇數要+1)–>642
s權限即suid,對普通用戶有意義,普通用戶可以改自己密碼
如果chmod u-s /usr/bin/passwd 則權限變為-rwxr-xr-x
普通用戶無法再passwd改自己密碼
還原回去,chmod 4755 /usr/bin/passwd //4是suid的權限,2是sgid,1是sticky
普通用戶cat /etc/shadow是禁止的
chmod u+s /usr/bin/cat,則-rwsr-xr-x,普通用戶可以讀取/etc/shadow
[root@localhost ~]# ll -d /testdir
drwxrwxrwx. 14 root root 4096 Aug 3 13:35 /testdir
切到普通用戶,可以創建、刪除自己和其他人的文件(因為目錄有寫權限)
[root@localhost ~]# chmod o+t /testdir t是粘滯位
權限為drwxrwxrwt,切到普通用戶,可以創建、刪除自己文件,而不能刪除其他人文件
suid s 作用在二進制程序
sgid s 作用在二進制程序
sticky t 作用在目錄
sgid作用于目錄上:將使該目錄中新建文件或目錄將自動繼承該目錄所屬組
chattr +A file
lsattr file 看到標識——-A——–
chattr +i file 鎖定文件
chattr +a file 只能追加修改不能刪除
文件訪問控制列表
ACL:Access Control List,實現靈活的權限管理,除了文件的所有者,所屬組和其它人,可以對更多的用戶設置權限
setfacl 命令
-m 修改acl規則
setfacl -m u:wang:0 f1
setfacl -m u:wangcai:rw f1
-x 移除acl規則
setfacl -x u:wangcai f1
-b 清空所有acl規則
setfacl -b f1
-M 讀取acl規則文件
setfacl -M acl.txt f2
設置了facl,文件的權限為mask的權限
setfacl -m mask::rw f1 //一旦mask設置了,除了所有者和other,其他人只能小于等于mask權限
chmod g=x f1 改組的權限實際是改mask權限
setfacl -m d:u:wangcai:rwX dir // d,default 影響目錄下將來的新文件
getfacl file1 | setfacl –set-file=- file2 復制file1的acl權限給file2
tar打包會丟失acl信息,手工備份
cd /dir
getfacl -R *
getfacl -R * > /root/acl.bak
setfacl -R -b *
setfacl -R –set-file=/root/acl.bak *
原創文章,作者:victorycommander,如若轉載,請注明出處:http://www.www58058.com/28737