歡迎您光臨本站 註冊首頁

Linux用戶管理與許可權

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0

一、用戶和用戶組

Linux最優秀的地方之一,就在於它的多用戶、多任務環境.而為了讓各個用戶具有較保密的文件數據,因此用戶和文件的許可權管理就變得很重要了.Linux一般將文件可

存取訪問的身份分為3個類別,分別是owner、group、others.且三種身份各有read、write、execute等許可權.

文件所有者,是為了考慮每個人的隱私權以及每個人喜好的工作環境而提出的概念.

用戶,我們明白Linux是真正意義上的多用戶操作系統,所以我們能在Linux系統中建若干用戶(user).比如我們的同事想用我的計算機,但我不想讓他用我的用戶名登
錄,我的用戶名下有不想讓別人 看到的資料和信息(也就是隱私內容)這時我就可以給他建一個新的用戶名,讓他用我所開的用戶名去折騰,

這從計算機安全角度來說是符合操作規則的;

當然用戶(user)的概念理解還不僅僅於此,在Linux系統中還有一些用戶是用來完成特定任務的,比如nobody和ftp等,我們訪問LinuxSir.Org的網頁程序,就是

nobody用戶;我們匿名訪問ftp時,會用到用戶ftp或nobody ;如果您想了解Linux系統的一些帳號,請查看 /etc/passwd ;

用戶組,用戶組(group)就是具有相同特徵的用戶(user)的集合體;比如有時我們要讓多個用戶具有相同的許可權,比如查看、修改某一文件或執行某個命令,這時我們

需要用戶組,我們把用戶都定義到同一用戶組,我們通過修改文件或目錄的許可權,讓用戶組具有一定的操作許可權,這樣用戶組下的用戶對該文件或目錄都具有相同

的許可權,這是我們通過定義組和修改文件的許可權來實現的;



二、用戶(user)和用戶組(group)相關的配置文件、命令或目錄

1,用戶(user)和用戶組(group)相關的配置文件;

與用戶(user)相關的配置文件

/etc/passwd 註:用戶(user)的配置文件

/etc/shadow 註:用戶(user)影子口令文件

與用戶組(group)相關的配置文件

/etc/group 註:用戶組(group)的配置文件

/etc/gshadow 註:用戶組(group)的影子文件

2、管理用戶和用戶組的相關工具或命令;

管理用戶的工具或命令

useradd 添加用戶

adduser 添加用戶

passwd 為用戶設置密碼

usermod 修改用戶命令,可以usermod來修改登錄名、用戶的家目錄等等.

pwck 校驗用戶配置文件/etc/passwd和/etc/shadow文件內容是否合法或完整

finger 查看用戶信息工具

chown 改變文件所有者

chmod 改變文件的許可權

chgrp 改變文件所屬用戶組

id 查看用戶的UID、GID及所歸屬的用戶組

chfn 更改用戶信息工具

su 用戶切換工具

sudo 通過另一個用戶執行命令( execute a commmand as another user )

visudo 編輯/etc/sudoers的命令

管理用戶組的工具或命令

groupadd 添加用戶組

groupdel 刪除用戶組


groupmod 修改用戶組信息

groups 顯示用戶所屬的用戶組

newgrp 新建用戶組

註:添加一個用戶:

# useradd USERNAME

-u UID

-g GID

-c "string"註釋信息

-d PATH 指定路徑

-s SHELL指定shell

-G group1,group2...指定附加組

-M 不創建家目錄

-m 必須創建家目錄

-D 指定設備

-b 指定塊設備

-s 指定字元設備

註:建立一個用戶:

1. /etc/passwd

2. /etc/shadow

3. /etc/group

4. /home/USERNAME

/etc/passwd

username:x:UID:GID:comment:HOMEDIR:SHELL

/etc/shadown

username:密碼加密后結果:從1970-1-1到密碼修改時間的天數:最近一次更改密碼的日期:密碼最短保留天數:密碼多久需要進行更改:密碼過期

前警告日期:密碼失效日期,非活動時間:賬號失效日::預留段

student:$1$PPAfA5Zs$B8Q7.8JCD69ueI.xGin320:15354:0:99999:7:::

添加密碼:
# passwd USERNAME
passwd [-k] [-l] [-u [-f]] [-d] [-n mindays] [-x maxdays] [-w warn-


days] [-i inactivedays] [-S] [--stdin] [username]

三、/etc/skel 目錄;

/etc/skel目錄一般是存放用戶啟動文件的目錄,這個目錄是由root許可權控制,當我們添加用戶時,這個目錄下的文件自動複製到新添加的用戶的家目錄下;/etc/skel

目錄下的文件都是隱藏文件,也就是類似.file格式的;我們可通過修改、添加、刪除/etc/skel目錄下的文件,來為用戶提供一個統一、標準的、默認的用戶環境;

[root@localhost beinan]# ls -la /etc/skel/

總用量 92

drwxr-xr-x 3 root root 4096 8月 11 23:32 .

drwxr-xr-x 115 root root 12288 10月 14 13:44 ..

-rw-r--r-- 1 root root 24 5月 11 00:15 .bash_logout

-rw-r--r-- 1 root root 191 5月 11 00:15 .bash_profile

-rw-r--r-- 1 root root 124 5月 11 00:15 .bashrc

-rw-r--r-- 1 root root 5619 2005-03-08 .canna

-rw-r--r-- 1 root root 438 5月 18 15:23 .emacs

-rw-r--r-- 1 root root 120 5月 23 05:18 .gtkrc

drwxr-xr-x 3 root root 4096 8月 11 23:16 .kde

-rw-r--r-- 1 root root 658 2005-01-17 .zshrc

/etc/skel 目錄下的文件,一般是我們用useradd 和adduser 命令添加用戶(user)時,系統自動複製到新添加用戶(user)的家目錄下;如果我們通過修改

/etc/passwd 來添加用戶時,我們可以自己創建用戶的家目錄,然後把/etc/skel 下的文件複製到用戶的家目錄下,然後要用chown 來改變新用戶家目錄的屬主;

四、/etc/login.defs 配置文件;

/etc/login.defs 文件是當創建用戶時的一些規劃,比如創建用戶時,是否需要家目錄,UID和GID的範圍;用戶的期限等等,這個文件是可以通過root來定義的;

比如Fedora 的 /etc/logins.defs 文件內容;

# *REQUIRED*

# Directory where mailboxes reside, _or_ name of file, relative to the

# home directory. If you _do_ define both, MAIL_DIR takes precedence.

# QMAIL_DIR is for Qmail

#

#QMAIL_DIR Maildir

MAIL_DIR /var/spool/mail 註:創建用戶時,要在目錄/var/spool/mail中創建一個用戶mail文件;

#MAIL_FILE .mail

# Password aging controls:

#

# PASS_MAX_DAYS Maximum number of days a password may be used.

# PASS_MIN_DAYS Minimum number of days allowed between password changes.

# PASS_MIN_LEN Minimum acceptable password length.

# PASS_WARN_AGE Number of days warning given before a password expires.

#

PASS_MAX_DAYS 99999 註:用戶的密碼不過期最多的天數;

PASS_MIN_DAYS 0 註:密碼修改之間最小的天數;

PASS_MIN_LEN 5 註:密碼最小長度;

PASS_WARN_AGE 7 註:

#

# Min/max values for automatic uid selection in useradd

#

UID_MIN 500 註:最小UID為500 ,也就是說添加用戶時,UID 是從500開始的;

UID_MAX 60000 註:最大UID為60000;

#

# Min/max values for automatic gid selection in groupadd

#

GID_MIN 500 註:GID 是從500開始;

GID_MAX 60000

#

# If defined, this command is run when removing a user.

# It should remove any at/cron/print jobs etc. owned by

# the user to be removed (passed as the first argument).

#

#USERDEL_CMD /usr/sbin/userdel_local

#

# If useradd should create home directories for users by default

# On RH systems, we do. This option is ORed with the -m flag on

# useradd command line.

#

CREATE_HOME yes 註:是否創用戶家目錄,要求創建;

五、/etc/default/useradd 文件;

通過useradd 添加用戶時的規則文件;

# useradd defaults file

GROUP=100

HOME=/home 註:把用戶的家目錄建在/home中;

INACTIVE=-1 註:是否啟用帳號過期停權,-1表示不啟用;

EXPIRE= 註:帳號終止日期,不設置表示不啟用;

SHELL=/bin/bash 註:所用SHELL的類型;

SKEL=/etc/skel 註: 默認添加用戶的目錄默認文件存放位置;也就是說,當我們用adduser添加用戶時,用戶家目錄下的文件,都是從這個目錄中複製過去的;

六、Linux文件許可權

許可權:r:讀

w:寫

x:執行

rwx,文件;

目錄許可權:

r:ls

w: 建立或刪除文件

x: cd切換到此目錄,或者ls -l文件

--- 000 0

--x 001 1

-w- 010 2

-wx 011 3

r-- 100 4

r-x 101 5

rw- 110 6

rwx 111 7

例如: 640

rw-r----- root redhat a.txt

chmod

1..chmod 644 file1 chmod -l 修改登錄名

rw-r--r--

2..u屬主

g屬組

o其它

a所有

ug=rw

u=rw,g=r

3.. /-

u x

g-x

o r

x

-R 遞歸修改

--reference=xx 以xx為模板參照

chown/chgrp

chown USERNAME FILE1,FILE2,...

-R


例如:
添加slackware用戶,slackware用戶組 UID5000,GID5000

1,/etc/group

slackware:x:5000:

2,/etc/passwd

slackware:x:5000:5000:Test User:/home/slackware:/bin/bash

3,/etc/shadow

slackware:$1$12345678$0ME5N6oDyoEAwUp7b5UDM/:15355:...

4,

# cp -r /etc/skel /home/slackware

# chown -R slackware:slackware /home/slackware

# chmod -R go= /home/slackware






















本文出自 「Linux」 博客,請務必保留此出處http://zxc0823.blog.51cto.com/4373441/789468


[火星人 ] Linux用戶管理與許可權已經有328次圍觀

http://coctec.com/docs/linux/show-post-47302.html