首页 » Linux用户权限管理

Linux用户权限管理

管理用户/组

命令说明
useradd添加新用户
passwd设置用户密码
usermod修改用户/组信息
userdel删除用户
addgroup新加组
groupmod修改组信息
delgroup删除组

管理文件/目录访问权限和属主信息

命令说明
chmod修改文件/目录访问权限
chown修改文件/目录属主
chgrp修改文件/目录所属组

查看登录信息和用户/组信息

命令说明
last查看登录情况。也可以查看每次重启的状态
groups查看当前用户所属组信息
id查看用户信息,包括UID, GID, group等信息
who查看当前所有登录用户的信息

常用命令

查看当前登录用户的基本信息:

$ whoami 
bailing
$ id
uid=500(bailing) gid=500(bailing) groups=2(daemon),500(bailing)
$ groups 
bailing daemon

查看一个用户的基本信息

$ id bailing
uid=500(bailing) gid=500(bailing) groups=500(bailing)
$ id daemon
uid=2(daemon) gid=2(daemon) groups=2(daemon),1(bin),4(adm),7(lp)

将用户加入一个组

# usermod -a -G daemon bailing
# id bailing
uid=500(bailing) gid=500(bailing) groups=500(bailing),2(daemon)

将用户从一个组中删除

# gpasswd -d bailing daemon
Removing user bailing from group daemon
# id bailing
uid=500(bailing) gid=500(bailing) groups=500(bailing)

文件属主和权限管理

查看一个文件的基本信息:

$ ls -l ~/.bashrc 
-rw-r--r-- 1 bailing bailing 719 01-09 21:08 /home/bailing/.bashrc

ls -l输出了文件基本信息:

输出列说明
-rw-r--r--文件访问权限
1硬连接数为1。
bailing bailing文件归属的组和用户信息。
719文件大小(字节数)。
01-09 21:08文件修改时间。
/home/bailing/.bashrc文件名。

文件访问权限

文件访问权限的字符表示:

字符说明示例
-常规文件。~/.bashrc
d目录。ls -ld /tmp
l符号连接。/dev/stdin -> /proc/self/fd/0
c字符设备文件。/dev/console
d块设备文件。/dev/sda
p命名管道。
sSocket文件。/tmp/mysql.sock

umask

每个文件创建之初,都有一个默认的访问权限(The file creation mask)。文件的默认值是0666,目录的默认值是0777。默认的访问权限会受到umask影响;umask限定了,哪些权限不应被授予。

查看umask的值(0002表示other不可写):

$ umask 
0002

查看umask的符号表示(-S查看可以赋予的权限):

$ umask -S
u=rwx,g=rwx,o=rx

创建1个文件:

$ > /tmp/um.txt
$ ls -l /tmp/um.txt 
-rw-rw-r-- 1 bailing bailing 0 05-28 11:31 /tmp/um.txt

um.txt的初始权限是0666,然而umask是0002,两者作运算:0664,因此最终文件权限是:0664(-rw-rw-r--)。

修改umask的值:

$ umask u=rwx,g=,o=

查看新的umask的值:

$ umask 
0077
$ umask -S
u=rwx,g=,o=

创建新文件并查看权限:

$ > /tmp/um.txt
$ ls -l /tmp/um.txt 
-rw------- 1 bailing bailing 0 05-28 11:37 /tmp/um.txt

分享

0