linux 用户及组权限浅析
2019-01-11 16:22:44    707    0    0
gua_l
 
一个文件或目录的权限配置可以通过ll 来查看
drwxrwxr-x 2 releng admin 4096 Sep 29 01:17 00_release_note
d  rwx  rwx  r-x 
分4段:1,2-4,5-7,8-10
第1位 文件类型,d 表示目录,-表示文件,l 表示链接
2-4位 U user 权限:读,写,执行。
5-7位 G group 权限:读,写,执行。
8-10位 O other 权限:读,写,执行
以上可以获取到的信息是:00_release_note这是一个此目录(d) , 文件属主是releng ,属组是admin 。
根据权限位推断,releng对此目录有rwx的权限,admin组内的成员对此目录有rwx的权限,其他用户只有rx的权限。


新建用户
// 新建用户,-m 表示同时创建home 目录,-U 表示同时创建同名的用户组 ,-G 表示加入指定的用户组列表
useradd -m -U <username>

为用户添加用户组(可同时加入多个组)
-G 表示使用户加入新的组列表中,并从旧原来的组中除名,-a 表示追加,-G -a 结合使用表示为用户添加属组
usermod -G -a 组名1,组名2,组名3 用户 

从组中删除用户
gpasswd -d <username> <groupname>

查看组下的用户列表
cat /etc/group | grep groupname
组名:密码:ID:组员

查看用户所属的组别列表
groups <username>

为linux帐户添加samba的帐户并配置samba密码
smbpasswd -a <username>
查看已有samba 用户
pdbedit -L

chmod A+-B  filename
A:u(user) g(group) o(other)
B:rwxs
为文件test.sh的属组成员加上可写权限
chmod g+w test.sh
取消文件test.sh的属组成员的写权限
chmod g-w test.sh

chmod g+s
使文件或目录被使用时,进程属主u/属组g临时变为文件或目录的属主/属组
g+s
chmod g+s filename/directory
chmod g+s /var/svn/public/Doc_template
没使用g+s时,当别组的成员A在Doc_template下新建文件或目录时,新建的文件的属组会变成A的属组,当使用了g+s , A 在Doc_template 下新建时,A的属组临时变为与Doc_template的属组,此时由A 创建出来的文件,属组与父目录一致。
当我们要使任何人在此目录新建的所有目标都继承此文件夹的属组,使用chmod g+s

chmod g+u
chmod u+s filename/directory
还有一种情况,当脚本test.sh执行时,会用到写log 到test.log
test.log 是B用户的文件,权限是rw- --- --- ,只有B能读写。
test.sh 是B用户的文件是r-x r-x r-x 任何人能执行。
此时C用户执行了test.sh , 却因权限问题写不了日志。
用chmod u+s test.sh 来解决,当B调用test.sh时,C的这个调用进程的属主临时变成了B,使可以顺利读写log。

chown user:group
chown [-cfhvR] [--help] [--version] user[:group] file...
chown -R user1:group1 xxx/
把 xxx/ 目录及其子目录文件,的用户属主改成user1 属组改成group1



 

Pre: GitLab GEO 异地主副服务器同步--文档翻译

Next: mount/nfs 共享目录

707
Sign in to leave a comment.
No Leanote account? Sign up now.
0 comments
Table of content