您的位置:首页 > 运维架构 > Linux

理解linux文件权限

2018-04-07 19:54 225 查看
首先是对于每个账户的UID
GID
等相关概念。
/etc/passwd  与其影子文件  /etc/shadow
/etc/passd 放着用户有关信息,明文的形式

通常UID前500预留给系统服务,以防某个服务被攻陷从而取得过大的权限而破坏系统。
root的UID一般是0
而普通用户UID从500开始

[oh@localhost manlist]$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash
tcpdump:x:72:72::/:/sbin/nologin
oprofile:x:16:16:Special user account to be used by OProfile:/home/oprofile:/sbin/nologin
oh:x:500:500:oh:/home/oh:/bin/bash
oh:x:500:500:oh:/home/oh:/bin/bash


上面有7个字段,以:分隔,:有6个
用户名:UID:GID:主机名:家目录:默认shell

下面是/etc/shadow文件,放密码的地方, 需root权限
oh:$6$LDro0peuoh5CBYmKTA/:17574:0:99999:7:::

1.有九个字段,用户名:2.密码(加密过):3.自1970年一月一日(上次修改密码的日期)到当天的天数:4.多少天后才能修改密码:5.多少天后必须修改密码:6.密码过期前多少天提醒用户更改密码:7.密码过期后多少天禁用用户帐号:8.用户账户被禁用了多少天(自,1970年1月1日):9.预留字段,给未来使用
可以看到有些字段为空。
现在你想添加用户了,使用命令: useradd
当然他是有默认值的:[oh@localhost bin]$ useradd -D
bash: /usr/sbin/useradd: 权限不够
[oh@localhost bin]$ su - root
密码:
[root@localhost ~]# useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
[root@localhost ~]#
可见不是谁都可以使用useradd的
SKEL=/etc/skel
当有/etc/skel这个文件时,允许管理员把这个目录的内容作为模板给新用户作家目录。
先看看/etc/skel有什么东西[root@localhost ~]# ls /etc/skel
[root@localhost ~]# ls -al /etc/skel
总用量 36
drwxr-xr-x. 4 root root 4096 2月 13 03:51 .
drwxr-xr-x. 119 root root 12288 4月 8 2018 ..
-rw-r--r--. 1 root root 18 5月 11 2016 .bash_logout
-rw-r--r--. 1 root root 176 5月 11 2016 .bash_profile
-rw-r--r--. 1 root root 124 5月 11 2016 .bashrc
drwxr-xr-x. 2 root root 4096 11月 12 2010 .gnome2
drwxr-xr-x. 4 root root 4096 2月 13 03:48 .mozilla
[root@localhost ~]#
由于是隐藏文件,所以注意-a
然后使用  useradd -m kkk
-m 才能有家目录HOME出现在kkk下,也就是说默认是没有家目录的。
如何更改默认值呢?
useradd -D -s /bin/tsch  //类似这样
passwd:修改密码:
passwd kkk
默认只能修改自己密码

当要大量修改密码时:chpasswd
chpasswd < users.txt

删除用户:userdel
userdel kkk  //只删除用户

userdel -r kkk //还删除此用户的HOME目录及mail目录。

还有  usermod:修改/etc/passwd
chsh,chfn,chage修改特定账户(*^__^*) 嘻嘻……

-=======================-
主要讲个创建文件或目录时的默认权限问题  umask  掩码
rwxrw-r--
共九个东西的问题 默认三个一组,文件属主,属组,其它人
读,写,执行,有的话为1,没则为0[root@localhost ~]# umask
0022
[root@localhost ~]#
umask为0022,默认是的。
第一个0叫(sticky bit)粘着位
然后是掩码022----》----w--w-
然后,对文件来说 全权限是666    rw-rw-rw-
对目录:777       rwxrwxrwx
创建一个新文件时,用全权限减umask
所以一般来说    666-022=644
                          777-022=755
umask的值在/etc/profile启动文件里设置。

======
改变文件权限:
chmod
两种方式:
1.   chmod 750 k.md         这个叫八进制模式
2.   [ugoa][[+-=][rwxXstugo]]

还有两个东西  改变所属关系,    共享文件(粘着位)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: