UID
每个用户有唯一的UID,但登录系统是用的是登录名
/etc/passwd
保存的是将登录名匹配到UID
/etc/shadow
保存的是系统及各用户密码,只有root用户可以访问
root
的UID为 0
Linux 为系统账号预留了500
以下的UID值
添加新用户
useradd -D 查看Linux系统创建新用户的一些默认值
参数 | 描述 |
---|---|
-b | 更改默认的创建用户HOME目录的位置 |
-e | 更改默认的新账户的过期日期 |
-f | 更改默认的新用户从密码过期到账户被禁用的天数 |
-g | 更改默认的组名or GID |
-s | 更改默认的登录shell |
eg. useradd -D -s /bin/ksh
更改用户默认的登录shell
创建用户是更改默认值
参数 | 描述 |
---|---|
-d | 为主目录指定一个名字 |
-e | 用YYYY-MM-DD格式指定一个账户的过期日期 |
-g | 指定用户登录的组名 GID |
-m | 创建用户的HOME目录 |
-p | 为用户账户指定默认的密码 |
-u | 为账户指定唯一的UID |
-s | 指定默认的登录shell |
eg. useradd -d ym -g oracle -m /HOME/ym -p ym -s bash
删除用户
userdel ym
只会删除/etc/passwd文件中的用户信息,而不会删除属于该账户的任何文件
userdel -r ym
会删除用户的HOME目录及邮件目录
修改用户
usermod -l
修改用户账户的登录名
usermod -L
锁定账户,使用户无法登录
usermod -U
解除锁定,使用户能够登录
usermod -p
修改账户密码
usermod -g
修改默认的登录组
passwd
或者passwd ym
或者 chpasswd
修改自己账户的密码
/etc/group
组信息,每个组都有唯一的GID
,用户的GID从500
开始分配
添加用户到组之前,得先创建组
groupadd ym
创建名为ym的组
usermod -G ym ym1
将用户ym1加入组ym
usermod -G ym ym2
将用户ym2加入组ym
分配组时:
-g
指定的组名会替换掉该账户默认的组
-G
将该组添加到用户的属组的列表里
修改组
groupmod -g
修改已有组的GID
groupmod -n ym yming
修改组名ym为yming
文件符号
符号 | 描述 |
---|---|
- | 代表文件 |
d | 代表目录 |
l | 代表链接 |
c | 代表字符型设备 |
b | 代表块设备 |
n | 代表网络设备 |
r | 代表文件可读 |
w | 代表文件可写 |
x | 代表文件可执行 |
第一个rwx : 文件的属主
第二个rwx : 文件的数组
第三个r-x : 系统上其他人对该文件的权限
umask
用来设置所创建文件和目录的默认权限
r - 4(八进制)
w - 2
x - 1
文件的默认权限是666,目录的权限是777,创建文件或目录时,该值减去umask掩码后的值即为权限
改变权限
chmod 760 testfile
(rwxrw----)
u-用户,g-组,o-其他,a-所有
+增加权限, -移除权限,= 权限赋值
chmod o+r testfile
(rwxrw-r–)
chmod u-x testfile
(rw-rw-r–)
chmod -R
递归改变文件和子目录的权限
chown ym testfile
改变testfile文件的属主为ym
chowdn ym.ym testfile
支持同时改变文件的属主和属组
chown .ym testfile
只改变文件的数组
chown ym. testfile
同时改变属主和属组(前提系统采用和登录名同名的属组)
只有用户可以改变文件的属主,任何属主可以改变文件的属组,前提是属主是源属组和目标属组的成员
-R
递归改变文件和子目录
chgrp ym testfile
可以改变文件和目录的默认属组为ym
共享文件
Linux为每个文件和目录存储了三个额外的信息位
设置用户ID(SUID)
文件被用户使用时,程序以文件的属主运行
设置组ID(SGID)
文件-以文件属组的权限运行,目录-目录中创建的新文件以目录的默认属组作为默认属组
粘着位 进程结束后文件驻留在内存中
mkdir testdir
chgrp shared testdir
chmod g+s testdir
umask 002
touch testfile