ubuntu常用命令

webpenson, 28 六月, 2021

Ubuntu 文件的归属身份有四种:

u - 拥有文件的用户所有者

g - 所有者所在的组群

o - 其他人不是所有者或所有者的组群

a - 每个人或全部

1. 查看文件/文件夹权限

ls -l filename # 查看文件权限 ls -ld folder # 查看文件夹权限

输出结果如:

drwxrwxrwx

d - 文件夹(- - 文件, l - 链接)

rwx - r读/w写/x执行

九位字母,依次每三个为一组,依次分别为 User、Group、Other的权限.

r=4,w=2,x=1. 如,rwx - 4+2+1=7; rw- - 4+2=6; r-x - 4+1=5.

常用的文件权限:

444 r--r--r-- 600 drw------- 644 drw-r--r-- 666 drw-rw-rw- 700 drwx------ 744 drwxr--r-- 755 drwxr-xr-x 777 drwxrwxrwx

owner/group/others)各自的权限

分数是需要累加的,如,当权限为 -rwxrwx--- 即:

owner = rwx = 4+2+1 = 7

group = rwx = 4+2+1 = 7

others= --- = 0+0+0 = 0

2. 修改权限 chmod

chmod [-R] 权限 filename/folder

-R 表示递归

变更目录及子目录和文件的权限.

如:

chmod -R 777 filename

另一种修改权限的方法是:

chmod [u/g/o/a] [+加入/-减去/=设定] [r/w/x] filename/folder

3 修改文件的用户名/用户组

chown [-R] 用户名:用户组名 filename/folders

-R - 递归修改路径下所有子路径和文件的用户组.

如:

chown -R root:root /data/

 

4.查看所有用户组

$cat /etc/group

ssl-cert:x:110:postgres

最前面一个字段ssl-cert是用户组名,最后一个字段postgres是用户名

5.查看所有用户

$sudo cat /etc/shadow

postgres:$6$m8anDHdE$FDY4j0CdAbgeLOM90EH1xCW/IMqHEZwM87sepyHHjUYccdmFOCVaFealGTd2zGBVfDV.AR9CWTlGz0Sw/JivL1:15910:0:99999:7:::

postgres是用户名

ubuntu cp 复制不修改权限?

cp -rp web webb

 

 

ubuntu文件特殊权限

SUID (Set owner User ID up on execution)

当s这个标志出现在文件所有者的x权限上时,称为SetUID

SUID基本上有这样的限制与功能:

  • SUID权限仅对二进制程序有效
  • 执行者对该程序需要有x可执行权限
  • 本权限仅在执行程序过程中有效
  • 执行者将具有该程序拥有者的权限

SGID(Set Group ID up on execution)

当s这个标志出现在文件所属用户组的x权限上时称为SetGID

与SUID类似,只不过获得的是程序用户组的权限

应用于目录时:

  • 用户若对此目录具有r与x权限,则该用户能够进入此目录
  • 用户在此目录下的有效用户组将会编程该目录的用户组
  • 若用户在此目录下具有w的权限,则用户所创建的新文件的用户组与此目录的用户组相同

SBIT(Sticky Bit)

当t这个标志出现在目录其他人的x权限上时及设置了SBIT

SBIT仅针对目录有效,用于避免文件夹或其内容被具有w权限的用户删除,设置了SBIT的目录仅可被其所有者或root用户删除。

权限设置

SUID 为 4   SGID 为 2    SBIT  为 1

chmod 4755 test    加入SUID权限

chmod g+s,o+t      加入SGID和SBIT

注意:大写S,T代表“空的”及对应的user,group,others没有x这个可执行权限

 

 

评论