權限的問題 linux

轉載請註明本網站 http://www.soacme.com/   php

 

Linux 系統是一個多用戶多任務的分時操做系統,任何一個要使用系統資源的用戶,都必須首先向系統管理員申請一個帳號,而後以這個帳號的身份進入系統。用戶的帳號一方面能夠幫助系統管理員對使用系統的用戶進行跟蹤,並控制他們對系統資源的訪問;另外一方面也能夠幫助用戶組織文件,併爲用戶提供安全性保護。每一個用戶帳號都擁有一個唯一的用戶名和各自的密碼。用戶在登陸時鍵入正確的用戶名和密碼後,就可以進入系統和本身的主目錄。linux

實現用戶帳號的管理,要完成的工做主要有以下幾個方面:nginx

  • 用戶帳號的添加、刪除與修改。shell

  • 用戶密碼的管理。安全

  • 用戶組的管理。bash

1、Linux系統用戶帳號的管理 編輯器

用戶帳號的管理工做主要涉及到用戶帳號的添加、修改和刪除。工具

添加用戶帳號就是在系統中建立一個新帳號,而後爲新帳號分配用戶號、用戶組、主目錄和登陸Shell等資源。剛添加的帳號是被鎖定的,沒法使用。oop

一、添加新的用戶帳號使用 useradd 命令,其語法以下:post

useradd 選項 用戶名

其中各選項含義以下:

-c comment 指定一段註釋性描述。
-d 目錄 指定用戶主目錄,若是此目錄不存在,則同時使用-m選項,能夠建立主目錄。
-g 用戶組 指定用戶所屬的用戶組。
-G 用戶組,用戶組 指定用戶所屬的附加組。
-s Shell文件 指定用戶的登陸Shell。
-u 用戶號 指定用戶的用戶號,若是同時有-o選項,則能夠重複使用其餘用戶的標識號。

用戶名 指定新帳號的登陸名。

例1:

# useradd –d /usr/sam -m sam

此命令建立了一個用戶sam,

其中-d和-m選項用來爲登陸名sam產生一個主目錄/usr/sam(/usr爲默認的用戶主目錄所在的父目錄)。

例2:

# useradd -s /bin/sh -g group –G adm,root gem

此命令新建了一個用戶gem,該用戶的登陸Shell是/bin/sh,它屬於group用戶組,同時又屬於adm和root用戶組,其中group用戶組是其主組。

這裏可能新建組:

#groupadd group 及 groupadd adm

增長用戶帳號就是在 /etc/passwd 文件中爲新用戶增長一條記錄,同時更新其餘系統文件如 /etc/shadow, /etc/group等。

Linux提供了集成的系統管理工具userconf,它能夠用來對用戶帳號進行統一管理。

二、刪除賬號 

若是一個用戶的帳號再也不使用,能夠從系統中刪除。刪除用戶帳號就是要將/etc/passwd等系統文件中的該用戶記錄刪除,必要時還刪除用戶的主目錄。刪除一個已有的用戶帳號使用userdel命令,其格式以下:

userdel 選項 用戶名

經常使用的選項是 -r,它的做用是把用戶的主目錄一塊兒刪除。

例如:

# userdel sam

此命令刪除用戶sam在系統文件中(主要是/etc/passwd, /etc/shadow, /etc/group等)的記錄,同時刪除用戶的主目錄。

三、修改賬號 

修改用戶帳號就是根據實際狀況更改用戶的有關屬性,如用戶號、主目錄、用戶組、登陸Shell等。

修改已有用戶的信息使用usermod命令,其格式以下:

usermod 選項 用戶名

經常使用的選項包括-c, -d, -m, -g, -G, -s, -u以及-o等,這些選項的意義與useradd命令中的選項同樣,能夠爲用戶指定新的資源值。另外,有些系統可使用以下選項:

-l 新用戶名

這個選項指定一個新的帳號,即將原來的用戶名改成新的用戶名。

例如:

# usermod -s /bin/ksh -d /home/z –g developer sam

此命令將用戶sam的登陸Shell修改成ksh,主目錄改成/home/z,用戶組改成developer。

四、用戶密碼的管理

用戶管理的一項重要內容是用戶密碼的管理。用戶帳號剛建立時沒有密碼,可是被系統鎖定,沒法使用,必須爲其指定密碼後纔可使用,即便是指定空密碼。

指定和修改用戶密碼的Shell命令是passwd。超級用戶能夠爲本身和其餘用戶指定密碼,普通用戶只能用它修改本身的密碼。命令的格式爲:

passwd 選項 用戶名

可以使用的選項:

-l 鎖定密碼,即禁用帳號。
-u 密碼解鎖。
-d 使帳號無密碼。
-f 強迫用戶下次登陸時修改密碼。

若是默認用戶名,則修改當前用戶的密碼。

例如,假設當前用戶是sam,則下面的命令修改該用戶本身的密碼:

$ passwd
Old password:******
New password:*******
Re-enter new password:*******

若是是超級用戶,能夠用下列形式指定任何用戶的密碼:

# passwd sam
New password:*******
Re-enter new password:*******

普通用戶修改本身的密碼時,passwd命令會先詢問原密碼,驗證後再要求用戶輸入兩遍新密碼,若是兩次輸入的密碼一致,則將這個密碼指定給用戶;而超級用戶爲用戶指定密碼時,就不須要知道原密碼。

爲了系統安全起見,用戶應該選擇比較複雜的密碼,例如最好使用8位長的密碼,密碼中包含有大寫、小寫字母和數字,而且應該與姓名、生日等不相同。

爲用戶指定空密碼時,執行下列形式的命令:

# passwd -d sam

此命令將用戶sam的密碼刪除,這樣用戶sam下一次登陸時,系統就再也不詢問密碼。

passwd命令還能夠用-l(lock)選項鎖定某一用戶,使其不能登陸,例如:

# passwd -l sam

新建用戶異常:

useradd -d /usr/hadoop -u 586 -m hadoop -g hadoop

1  Creating mailbox file: 文件已存在  
    刪除便可 rm -rf /var/spool/mail/用戶名

2 useradd: invalid numeric argument 'hadoop'
   這是因爲hadoop組不存在 請先建hadoop組

經過cat /etc/passwd 能夠查看用戶的pass

cat /etc/shadow 能夠查看用戶名

cat /etc/group  能夠查看 組

 

2、Linux系統用戶組的管理

每一個用戶都有一個用戶組,系統能夠對一個用戶組中的全部用戶進行集中管理。不一樣Linux 系統對用戶組的規定有所不一樣,如Linux下的用戶屬於與它同名的用戶組,這個用戶組在建立用戶時同時建立。
用戶組的管理涉及用戶組的添加、刪除和修改。組的增長、刪除和修改實際上就是對/etc/group文件的更新。

一、增長一個新的用戶組使用groupadd命令。 其格式以下:

groupadd 選項 用戶組

可使用的選項有:

-g GID 指定新用戶組的組標識號(GID)。
-o 通常與-g選項同時使用,表示新用戶組的GID能夠與系統已有用戶組的GID相同。

例1:

# groupadd group1

此命令向系統中增長了一個新組group1,新組的組標識號是在當前已有的最大組標識號的基礎上加1。

例2:

#groupadd -g 101 group2

此命令向系統中增長了一個新組group2,同時指定新組的組標識號是101。

二、若是要刪除一個已有的用戶組,使用groupdel命令, 其格式以下:

groupdel 用戶組

例如:

#groupdel group1

此命令從系統中刪除組group1。

三、修改用戶組的屬性使用groupmod命令。 其語法以下:

groupmod 選項 用戶組

經常使用的選項有:

-g GID 爲用戶組指定新的組標識號。
-o 與-g選項同時使用,用戶組的新GID能夠與系統已有用戶組的GID相同。
-n新用戶組 將用戶組的名字改成新名字

例1:

# groupmod -g 102 group2

此命令將組group2的組標識號修改成102。

例2:

# groupmod –g 10000 -n group3 group2

此命令將組group2的標識號改成10000,組名修改成group3。

四、若是一個用戶同時屬於多個用戶組,那麼用戶能夠在用戶組之間切換,以便具備其餘用戶組的權限。用戶能夠在登陸後,使用命令newgrp切換到其餘用戶組,這個命令的參數就是目的用戶組。

例如:

$ newgrp root

這條命令將當前用戶切換到root用戶組,前提條件是root用戶組確實是該用戶的主組或附加組。相似於用戶帳號的管理,用戶組的管理也能夠經過集成的系統管理工具來完成。

 


 

權限分配

分配權限

chown -R hadoop:hadoop /usr/hadoop/

讓普通用戶擁有root的權限

1.root登陸
2.adduser 用戶名
3.passwd 用戶名
  肯定密碼
4.修改/etc/passwd便可,把用戶名的ID和ID組修改爲0。

 

新建用戶,且不讓用戶直接登陸:

1 #添加nginx用戶組及用戶
2 groupadd www
3 useradd -g www -s /usr/sbin/nologin www #不讓www用戶直接登陸

 


 

Linux修改用戶所在組方法

強行設置某個用戶所在組

usermod -g 用戶組 用戶名

把某個用戶改成 group(s) 

usermod -G 用戶組 用戶名

把用戶添加進入某個組(s),注意:原來的用戶組還存在

usermod -a -G 用戶組 用戶名

 

usermod使用說明:

修改用戶賬號

語 法:usermod [-LU][-c <備註>][-d <登入目錄>][-e <有效期限>][-f <緩衝天數>][-g <羣組>][-G <羣組>][-l <賬號名稱>][-s][-u][用戶賬號]

補充說明:usermod可用來修改用戶賬號的各項設定。

參  數:

-c<備註>      修改用戶賬號的備註文字。 
-d登入目錄>   修改用戶登入時的目錄。 
-e<有效期限>  修改賬號的有效期限。 
-f<緩衝天數>  修改在密碼過時後多少天即關閉該賬號。 
-g<羣組>      修改用戶所屬的羣組。 
-G<羣組>      修改用戶所屬的附加羣組。 
-l<賬號名稱>  修改用戶賬號名稱。 
-L            鎖定用戶密碼,使密碼無效。 
-s   修改用戶登入後所使用的shell。 
-u     修改用戶ID。 
-U           解除密碼鎖定。

//重啓nginx

/etc/init.d/nginx restart

//重啓ftp

/etc/init.d/vsftpd restart

//查看權限組

cat /etc/group

//查看用戶列表

cat /etc/passwd

//查看項目所屬組,所屬用戶

ls -l /alidata/www/

linux下建ftp用戶,並限制用戶訪問路徑

 

目的是:在linux系統上創建ftp用戶,並限制其經過ftp訪問時,只能訪問用戶主目錄;其主目錄顯示路徑也是「/」,看不到上級目錄。

 

 

例如,我要創建用戶usertest,密碼爲usertest,主目錄爲/home/mpsp/ftp/usertest

操做系統:Red Hat Enterprise Linux Server release 5.4 (Tikanga)

ftp:vsftp

 

首先,創建linux系統用戶usertest

一、以mpsp用戶登錄系統,創建usertest的主目錄/home/mpsp/ftp/usertest

二、以root用戶登陸linux系統,創建帶有主目錄的用戶,輸入命令:

                      [root@- home]# useradd -d /home/mpsp/ftp/usertest usertest

 

三、 爲用戶分配密碼,輸入命令:

                      [root@- etc]# passwd usertest

                      Changing password for user usertest.

                      New UNIX password:

                      Retype new UNIX password:

                      passwd: all authentication tokens updated successfully.

 

此時查看:[root@- etc]# cat /etc/passwd

可看到用戶配置是這樣的:usertest:x:504:504::/home/mpsp/ftp/usertest:/bin/bash

系統爲用戶分配了新的用戶id和組id:50四、504。因爲該用戶的全部文件需對mpsp用戶開放訪問權限,咱們能夠將usertest分配到mpsp組(組id500)。

 

    四、爲用戶分配新的用戶組,輸入命令:

                      [root@- home]# usermod -g mpsp usertest

             

此時查看:[root@- etc]# cat /etc/passwd

可看到用戶配置是這樣的:usertest:x:504:500::/home/mpsp/ftp/usertest:/bin/bash

 

而後,配置用戶ftp權限及訪問路徑限制:

此時用usertest登錄系統ftp,是否能夠訪問?若是沒法訪問,說明咱們的ftp作了限制。打開/etc/vsftpd/vsftpd.conf,查找userlist_enable、userlist_deny、userlist_file。若是userlist_deny=NO:只容許userlist_file文件中的用戶可訪問ftp;若是userlist_deny=YES:userlist_file文件中列舉的用戶不能經過ftp訪問系統。userlist_enable是該功能的開關。咱們的系統配置以下:

        userlist_enable=YES

  userlist_deny=NO

  userlist_file=/etc/vsftpd/user_list

    因此須要把用戶加入到/etc/vsftpd/user_list文件中,每一個用戶一行。

 

      因爲該主目錄是mpsp用戶建的,usertest是mpsp組的成員,因此usertest默認具備增刪查改權限;而usertest做爲mpsp組成員,對/home/mpsp下的全部路徑具備訪問權限(根據各目錄的權限設置,默認是這樣),登陸ftp後會發現,usertest用戶能夠訪問其餘目錄,而且具備mpsp組的權限,這樣作是不容許的,咱們須要將usertest用戶的訪問範圍控制在其主目錄下。方法以下:

      1. cd /etc/vsftpd 進入ftp配置文件目錄

      2. vi vsftpd.conf編輯此文件,找到#chroot_list_enable=YES,刪除前面的那個#號,表示開啓此限制功能

          找到chroot_list_file:chroot_list_file=/etc/vsftpd/chroot_list

      3. 編輯chroot_list文件,加入你要限制的用戶名,一行一個用戶.

    ================重點,chroot_list若是是用sublime 或者其餘編輯器直接打開的話,注意後面保存的形式爲ANSI格式,否則換行問題很嚴重,你能夠用txt打開,每行的用戶是合在一塊兒的。注意編碼格式

 

 

      若是更新了vsftpd.conf,必定要重啓ftp,命令以下:

      [root@linuxsir001 root]# /etc/init.d/vsftpd restart

      關閉 vsftpd: [ 肯定 ]

      爲 vsftpd 啓動 vsftpd: [ 肯定 ]

 

      再用usertest經過ftp訪問系統,用戶成功登錄,而且成功的被限制在本身的主目錄下,沒法訪問其餘目錄。大功告成。

 

linux 添加用戶、ftp登陸、用戶權限

一下這段 搞定了個人問題

# useradd –d /alidata/www/soacme.com -m ftpname

此命令建立了

一個用戶:ftpname,其中-d和-m選項用來爲登陸名ftpname

產生一個主目錄:/alidata/www/soacme.com(爲指定登陸後打開的目錄)

 

假設當前用戶是ftpname,則下面的命令修改該用戶本身的口令:

# passwd

Old password:******

New password:*******

Re-enter new password:*******

若是是超級用戶root,能夠用下列形式指定任何用戶的口令:

# passwd ftpname

New password:*******

Re-enter new password:*******

# chmod 775/alidata/www/soacme.com

修改項目的權限,重點:防止用戶沒法登陸上傳文件

 

# chown -R ftpname /alidata/www/soacme.com

修改項目的全部者(組) - R 爲該文件夾下全部 遞歸

 

//解決php腳本沒法建立或者刪除linux文件的問題。

首先www組,是能夠刪除和上傳,建立的的組別/

把ftpname  歸屬到www組

 # usermod -g www ftpname  

關鍵:賦予 全部者屬組

chown -R www:www /alidata/www/soacme.com

相關文章
相關標籤/搜索