理解linux文件权限

首先是对于每个账户的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]]


还有两个东西  改变所属关系,    共享文件(粘着位)







































评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值