在 Linux 系统中,用户及用户组管理,以及目录或文件权限管理是系统管理员的基本任务。以下是一些基本和常用的操作指南。
一、用户和用户组管理
添加用户
1.添加用户
sudo adduser username
这条命令会创建一个新的用户,并为该用户创建一个主目录,并提示你设置密码及其他信息。
2.为用户设置密码:
sudo passwd username
删除用户
1.删除用户
sudo deluser username
这条命令会删除用户,但保留其主目录。
2.删除用户及其主目录:
sudo deluser --remove-home username
添加用户组
1.添加用户组
sudo addgroup groupname
将用户添加到组中
1.将用户添加到组中
sudo usermod -aG groupname username
-a
表示追加,-G
表示组名列表
删除用户组
sudo delgroup groupname
目录或文件权限管理
在 Linux 中,每个文件和目录都有一组权限标记,用于控制不同用户和用户组对该文件或目录的访问权限。这些权限分为三种:读 (r)、写 (w) 和执行 (x)。
查看权限
使用 ls -l
来查看文件或目录的权限。
ls -l filename
输出示例:
-rwxr-xr-- 1 user group 4096 Jun 13 09:32 filename
解释:
-rw-r--r--
表示文件类型和权限。- 第一个字符
-
表示这是一个普通文件(d
表示目录)。 - 接下来的三个字符
rwx
表示所有者的权限:读 (r)、写 (w)、执行 (x)。 - 中间的三个字符
r-x
表示组的权限:读 (r)、无写权限 (-)、执行 (x)。 - 最后的三个字符
r--
表示其他用户的权限:读 (r)、无写权限 (-)、无执行权限 (-)。
- 第一个字符
修改权限
使用 chmod
命令修改文件或目录的权限。
-
使用符号模式:
chmod u+rwx,g+rx,o+r filename
这条命令将文件的权限设置为所有者可读、可写、可执行,组成员可读、可执行,其他人可读。
-
使用八进制模式:
chmod 755 filename
这里的
755
等价于rwxr-xr-x
,即所有者有所有权限,组成员和其他人只有读和执行权限。
修改所有者和组
使用 chown
命令修改文件或目录的所有者和组。
-
修改所有者:
sudo chown newowner filename
-
修改组:
sudo chown :newgroup filename
-
同时修改所有者和组:
sudo chown newowner:newgroup filename
修改文件的默认权限掩码
使用 umask
设置新创建文件和目录的默认权限。
-
查看当前 umask:
umask
-
设置 umask:
umask 022
这条命令将新创建文件的默认权限设置为
755
(目录)和644
(文件)。
实战示例
以下是一个综合示例,包括用户和组的创建、文件权限的设置以及所有者和组的修改。
1.创建新用户和组:
sudo adduser alice sudo addgroup projectgroup sudo usermod -aG projectgroup alice
2.创建一个文件并修改权限和所有者:
touch /home/alice/projectfile.txt
sudo chown alice:projectgroup /home/alice/projectfile.txt
sudo chmod 664 /home/alice/projectfile.txt
3.设置目录权限:
mkdir /home/alice/projectdir
sudo chown alice:projectgroup /home/alice/projectdir
sudo chmod 775 /home/alice/projectdir
实验步骤实例:
1. 登录到 Linux 系统
使用管理员账户登录到 Linux 系统。
2. 创建新用户和组
-
创建新用户:
sudo adduser alice
-
创建新用户组:
sudo addgroup projectgroup
-
将用户添加到新的用户组中:
sudo usermod -aG projectgroup alice
3. 创建文件和目录
-
切换到新用户的主目录:
cd /home/alice
-
使用
touch
命令创建一个文件:touch projectfile.txt
-
使用
mkdir
命令创建一个目录:mkdir projectdir
4. 设置文件和目录权限
-
设置文件的所有者和组:
sudo chown alice:projectgroup /home/alice/projectfile.txt
-
设置目录的所有者和组:
sudo chown alice:projectgroup /home/alice/projectdir
-
设置文件权限 (664):
sudo chmod 664 /home/alice/projectfile.txt
-
设置目录权限 (775):
sudo chmod 775 /home/alice/projectdir
5. 验证设置是否生效
-
查看文件权限和所有者信息:
ls -l /home/alice/projectfile.txt
-
查看目录权限和所有者信息:
ls -ld /home/alice/projectdir
你应该看到类似如下的输出:
-
对于文件:
-rw-rw-r-- 1 alice projectgroup 0 Jun 13 09:32 /home/alice/projectfile.txt
-
对于目录:
drwxrwxr-x 2 alice projectgroup 4096 Jun 13 09:32 /home/alice/projectdir
6. 测试新用户和文件/目录权限
-
切换到新用户:
su - alice
-
尝试在目录中创建一个新文件:
touch /home/alice/projectdir/newfile.txt
-
尝试修改文件内容:
echo "Hello, World!" > /home/alice/projectfile.txt
-
尝试删除文件:
rm /home/alice/projectdir/newfile.txt
-
退出新用户会话:
exit
通过上述步骤,可以有效地管理Linux系统上的用户、用户组以及文件和目录的权限。