사용자가 2명 user1
이고 user2
Ubuntu PC에 있습니다. user1
설치하면서 만들었습니다. user2
실행 가능한 Python 프로그램을 만들었습니다 . 이제 프로그램이 경로에 나타납니다 /home/user1/programs/
. 따라서 user2
.home 디렉토리에 있는 프로그램이 실행되고 있는 것입니다 user1
. 실행 중에 출력 디렉터리에 파일을 생성할 수 없습니다 /home/user1/programs/Output/
. 그래서 계속해서 권한을 확인하고 다음을 발견했습니다.
$ ls -l /home/user1/programs/
drwxrwxr-x 10 user1 user1 4096 Sep 6 11:30 Output
drwxrwxr-x 2 user1 user1 4096 Sep 5 17:50 source
$ cd Output
$ mkdir dummy1
$ ls -l
drwxrwxr-x 2 user1 user1 4096 Sep 6 11:30 dummy1
$ cd dummy1
$ vi a.txt
$ ls -l
-rw-rw-r-- 1 user1 user1 7 Sep 6 11:31 a.txt
$ cd ..
$ sudo mkdir dummy2
$ ls -l
drwxr-xr-x 2 root root 4096 Sep 6 12:37 dummy2
다른 사용자 ( 예:) 가 user2
.write
home
user1
이제 동일한 권한을 가진 동일한 그룹에 user1
사용자를 추가하여 해당 그룹을 생성 하려면 어떻게 해야 합니까?user2
user2
rwx (7)
답변1
sudo -i
addgroup mygroup
addgroup user1 mygroup
addgroup user2 mygroup
chgrp -R mygroup /home/user1/programs/Output/
chmod -R ug+rwX /home/user1/programs/Output/
find /home/user1/programs/Output/ -type d -exec chmod g+s {} +
exit
그러면 이름이 지정된 그룹이 추가되고, 두 명의 사용자가 그룹에 추가되며, mygroup
모든 파일과 하위 디렉터리의 그룹 소유권이 로 변경됩니다./home/user1/programs/Output/
mygroup
그런 다음 디렉터리에 대한 읽기, 쓰기 및 실행 권한을 설정하고 디렉터리에 있는 모든 파일을 읽고 쓸 수 있도록 허용합니다. 이번에도 이는 재귀적으로 적용됩니다.../Output/
마지막으로, chmod g+s
아래에 생성된 모든 파일과 하위 디렉터리 /home/user1/programs/Output/
가 mygroup
.
이 모든 작업은 루트로 수행되어야 하므로 sudo -i
루트 셸을 먼저 시작하고 exit
루트 셸을 마지막으로 종료합니다.