$ ls /boot/ -l
total 18492 drwxr-xr-x 3 root root 12288 Aug 21 03:27 grub -rw-r--r-- 1 root root 12487150 Aug 29 18:24 initramfs-linux-fallback.img -rw-r--r-- 1 root root 2990626 Aug 29 18:23 initramfs-linux.img -rw-r--r-- 1 root root 3440576 Aug 26 15:17 vmlinuz-linux第一列是文件访问权限(例如,文件
initramfs-linux.img
的权限为
-rw-r--r--
),第三列和第四列分别是属主和属组(本例中所有文件属主都是
root用户,属组都是
root组)。
#########
属主:
$ stat -c %U /media/sf_Shared/
root
属组:
$ stat -c %G /media/sf_Shared/
vboxsf
访问权限:
$ stat -c %A /media/sf_Shared/
drwxrwx---
#########
通过find
命令查找属于某个用户或某个组的文件:# find / -group [用户组] # find / -user [用户]
#########
使用who
命令,可以查看目前已登陆的用户。
#########
# useradd -m -g [初始组] -G [附加组] -s [登陆shell] [用户]
-m
:创建用户主目录/home/[用户名]
;在自己的主目录内,即使不是root用户也可以读写文件、安装程序等等。-g
:设置用户初始组的名称或数字ID;该组必须是存在的;如果没有设置该选项,useradd
会根据/etc/login.defs
文件中的USERGROUPS_ENAB环境变量进行设置。-G
:用户要加入的附加组列表;使用逗号分隔多个组,不要添加空格;如果不设置,用户仅仅加入初始组。-s
:用户默认登录shell的路径;Arch Linux的init脚本使用bash;启动过程结束后,默认启动的登录shell在此处设定;请确保使用的shell已经安装。
以典型的桌面系统为例,要添加一个名为archie的用户,并使用bash作为登录shell:
# useradd -m -g users -s /bin/bash archie
# userdel -r [用户名]
-r
选项表示一并删除用户主目录和邮件。
############################################
使用groups
命令查看用户所在组的名称:
$ groups [用户名]
若省略用户名,默认显示当前用户所在组。
id
命令提供额外的信息,包括用户UID以及相关用户组GID:
$ id [用户名]
查看所有组:
$ cat /etc/group
使用groupadd
创建新的组:
# groupadd [组名]
使用gpasswd
将用户添加到组:
# gpasswd -a [用户名] [组名]
删除用户组:
# groupdel [组名]
将用户从组中移除:
# gpasswd -d [用户名] [组名]
如果用户已登录,必须重新登录使更改生效。